VMWare [CHAP 14] Tìm hiểu về Virtual Machine Hardware Deep Dive

HooangF4t

Internship/Fresher
Aug 19, 2024
44
2
8
20
Tp.Hồ Chí Minh
Mục Lục:
I. Giới thiệu
II. Nội dung chi tiết
1. Về các tệp Máy Ảo (Virtual Machine Files)
2. Về Phần Cứng Ảo (Virtual Hardware)
3. Về CPU và Bộ Nhớ (About CPU and Memory)
4. Về Lưu Trữ Ảo (About Virtual Storage)
5. Mạng ảo (Virtual Networks)
III. Kết luận



[CHAP 14] Tìm hiểu về Virtual Machine Hardware Deep Dive



I. Giới thiệu
Khi làm việc với các hệ thống ảo hóa, máy ảo (Virtual Machine - VM) đóng vai trò cực kỳ quan trọng trong việc mô phỏng phần cứng của một máy tính thực tế. Một máy ảo cung cấp một môi trường ảo nơi có thể chạy các hệ điều hành và phần mềm như trên một máy vật lý. Để hiểu rõ hơn về cách thức hoạt động của máy ảo, chúng ta sẽ đi sâu vào các thành phần phần cứng ảo của máy ảo, từ các tập tin cấu thành máy ảo, so sánh các phiên bản phần cứng của máy ảo, đến việc điều hướng và kiểm tra các cài đặt trong vSphere Client.
Bài viết này sẽ giúp bạn nắm vững kiến thức cơ bản về phần cứng máy ảo, các phương pháp để tương tác và kiểm tra chúng trên nền tảng vSphere, cũng như cách truy cập vào bảng điều khiển của máy ảo.

II. Nội dung chi tiết
1. Về các tệp Máy Ảo (Virtual Machine Files)
Khi tạo ra một máy ảo, VMware sẽ tạo ra một loạt các tập tin khác nhau để lưu trữ trạng thái và thông tin cấu hình của máy ảo đó. Dưới đây là một số tệp phổ biến:
  • Tập tin (.vmx): Đây là tập tin cấu hình chính của máy ảo. Nó chứa tất cả các thông tin về tài nguyên và cấu hình phần cứng ảo của máy ảo (CPU, RAM, ổ đĩa,...).
  • Tệp mẫu VM (.vmtx): Thay thế tệp .vmx khi VM được chuyển thành template.
  • Tệp swap (.vswp): Được sử dụng để quản lý bộ nhớ khi có tình trạng thiếu tài nguyên.
  • Tệp BIOS hoặc cài đặt EFI (.nvram): Chứa cấu hình BIOS hoặc EFI của VM.
  • Tệp nhật ký (.log): Lưu lại các bản ghi hoạt động của VM.
    Ngoài ra, mỗi VM còn có các tệp đĩa ảo như:
    • VM_name.vmdk(Đây là tập tin chứa dữ liệu ổ đĩa cứng ảo của máy ảo. Tập tin này mô phỏng ổ đĩa vật lý, và trong đó sẽ có dữ liệu mà máy ảo sử dụng) và VM_name-flat.vmdk cho đĩa ảo đầu tiên.
    • Nếu có nhiều đĩa ảo, tệp sẽ có dạng VM_name_#.vmdk và VM_name_#-flat.vmdk.
1726590553739.png

Bao gói Máy Ảo (Virtual Machine Encapsulation)
Mỗi máy ảo (VM) được lưu trữ dưới dạng tập hợp các tệp hoặc đối tượng:
  • Các tệp trong một thư mục trên datastore VMFS hoặc NFS
  • Các đối tượng trên datastore vSAN hoặc vSphere Virtual Volumes
Mỗi đĩa ảo được bao gói thành một tệp hoặc đối tượng duy nhất. vSphere bao gói mỗi VM thành một vài tệp hoặc đối tượng, giúp quản lý và di chuyển VM dễ dàng hơn. Các tệp và đối tượng của mỗi VM được lưu trữ trong một thư mục riêng trên datastore.
1726590629309.png


2. Về Phần Cứng Ảo (Virtual Hardware)

Hệ điều hành khách (guest OS) truy cập các thiết bị phần cứng nhưng không nhận ra rằng chúng là ảo. Phần cứng ảo làm cho VM có thể di chuyển qua nhiều nền tảng VMware khác nhau.
Bạn có thể cấu hình bộ nhớ, CPU, thêm đĩa cứng ảo, NICs, và các thiết bị phần cứng ảo khác như CD/DVD, SCSI. Không phải tất cả các thiết bị đều có thể thêm vào hoặc cấu hình. Một số thiết bị như USB chỉ có thể sử dụng bởi một VM duy nhất tại một thời điểm.
Một máy ảo có các thành phần phần cứng ảo mô phỏng tương tự các thành phần của một máy tính vật lý. Các thành phần này có thể được cấu hình và điều chỉnh tùy theo yêu cầu của bạn:
  • CPU ảo (vCPU): Là phiên bản ảo của bộ vi xử lý vật lý. Bạn có thể phân bổ số lượng vCPU tùy thuộc vào yêu cầu xử lý của ứng dụng chạy trên máy ảo.
  • RAM ảo: Là bộ nhớ ảo mà máy ảo có thể sử dụng. Việc phân bổ RAM ảo phù hợp sẽ đảm bảo hiệu suất của máy ảo.
  • Ổ đĩa cứng ảo (vDisk): Ổ đĩa ảo lưu trữ hệ điều hành và dữ liệu cho máy ảo.
  • Card mạng ảo (vNIC): Được sử dụng để kết nối máy ảo với mạng. Bạn có thể thêm hoặc gỡ bỏ card mạng ảo tùy theo yêu cầu.
  • Thiết bị ảo khác: Bao gồm các thiết bị như CD/DVD ảo, bộ điều khiển USB, và nhiều thành phần khác có thể được thêm vào máy ảo.
1726590744135.png

Phiên bản Phần Cứng Ảo (Virtual Hardware Versions)
Phiên bản phần cứng ảo (VM compatibility level) xác định các chức năng mà hệ điều hành khách có thể hỗ trợ. Bạn nên sử dụng phiên bản phần cứng tương thích với phiên bản ESXi của hệ thống.

So sánh các phiên bản phần cứng máy ảo

VMware cung cấp nhiều phiên bản phần cứng cho máy ảo, và mỗi phiên bản lại cung cấp các tính năng và cải tiến mới. Khi bạn nâng cấp hoặc tạo máy ảo mới, việc chọn phiên bản phần cứng phù hợp là rất quan trọng.

Dưới đây là một số phiên bản phần cứng máy ảo phổ biến:

  • Phiên bản 14: Đây là phiên bản đi kèm với vSphere 6.7, hỗ trợ các cải tiến về bảo mật và tăng cường khả năng quản lý. Phiên bản này cũng hỗ trợ các thiết bị ảo mới như vTPM (Trusted Platform Module).
  • Phiên bản 20: Được giới thiệu trong vSphere 8, cung cấp nhiều cải tiến về quản lý bộ nhớ, bảo mật, và hỗ trợ thiết bị ảo mới nhất.
  • Một số phiên bản khác như: 19 - ESXi 7.0 U2 and later; 18 - ESXi 7.0 U1 and later; 17 - ESXi 7.0 and later; 15- ESXi 6.7 U2 and later…
3. Về CPU và Bộ Nhớ (About CPU and Memory)
Bạn có thể thêm, thay đổi, hoặc cấu hình tài nguyên CPU và bộ nhớ để cải thiện hiệu suất VM. Số lượng vCPU tối đa có thể gán cho một VM phụ thuộc vào số lượng CPU logic của máy chủ và loại hệ điều hành khách.
  • Với ESXi 8.0, một VM có thể có tới 768 vCPU.
  • Kích thước bộ nhớ tối đa của một VM với ESXi 8.0 là 24 TB.
Giới Hạn Tính Toán (Compute Maximums) là các giới hạn tối đa của phần cứng và cấu hình mà VMware vSphere hỗ trợ cho các tài nguyên tính toán như CPU, bộ nhớ, và lưu trữ trong môi trường ảo hóa. Các thông số này xác định mức tối đa mà một hệ thống vSphere có thể sử dụng hoặc quản lý trong một phiên bản cụ thể, bao gồm số lượng vCPU, bộ nhớ tối đa, số lượng máy ảo trên mỗi host, và các cấu hình phần cứng khác.

Các Compute Maximum thường được công bố bởi VMware cho mỗi phiên bản vSphere, giúp các quản trị viên hạ tầng hiểu rõ giới hạn của hệ thống để cấu hình và triển khai các dịch vụ ảo hóa một cách hiệu quả.

Tầm Quan Trọng của Compute Maximum:
  • Quản lý tài nguyên: Giúp đảm bảo rằng hệ thống được cấu hình và sử dụng tài nguyên một cách hợp lý, không vượt quá giới hạn phần cứng của hạ tầng.
  • Tối ưu hóa hiệu suất: Giới hạn compute maximum giúp đảm bảo hiệu suất của môi trường ảo hóa được duy trì, tránh tình trạng quá tải.
  • Lập kế hoạch mở rộng: Cho phép các quản trị viên tính toán chính xác khi mở rộng hệ thống hoặc triển khai thêm máy ảo.
Một ví dụ về các giới hạn tính toán cho vSphere 8:
  • Số vCPU tối đa trên mỗi VM: 768
  • Bộ nhớ tối đa trên mỗi VM: 24 TB
  • CPU tối đa trên mỗi host: 896
  • Bộ nhớ tối đa trên mỗi host: 24 TB
  • Số lượng host trên mỗi cluster: 96
4. Về Lưu Trữ Ảo (About Virtual Storage)
Đĩa ảo được kết nối với các bộ điều hợp lưu trữ ảo. ESXi cung cấp nhiều tùy chọn bộ điều hợp lưu trữ, bao gồm: SCSI, iSCSI, RAID, Fibre Channel, Fibre
ESXi truy cập bộ điều hợp trực tiếp thông qua trình điều khiển thiết bị trong VMkernel:
• BusLogic Parallel
• LSI Logic Parallel
• LSI Logic SAS
• VMware Paravirtual SCSI
• AHCI SATA controller
• NVMe ảo (Virtual NVMe)

Về Đĩa Dày (Thick-Provisioned Disks)
Sử dụng toàn bộ không gian đĩa được xác định khi tạo đĩa ảo, bất kể hệ thống tệp của hệ điều hành khách thực sự sử dụng bao nhiêu không gian đĩa.
1726590985210.png

Có hai loại đĩa dày:
  • Eager Zeroed: Mọi khối dữ liệu được làm trống bằng số 0 trước khi dữ liệu được ghi.
  • Lazy Zeroed: Khối dữ liệu chỉ được làm trống khi dữ liệu được ghi lần đầu tiên.
Về Đĩa Mỏng (Thin-Provisioned Disks)
Với đĩa mỏng, không gian chỉ được sử dụng khi cần thiết. VM luôn thấy kích thước đĩa đầy đủ nhưng chỉ sử dụng dung lượng cần thiết. Đĩa có thể mở rộng khi cần thêm dung lượng.
1726591048570.png

Quản lý Datastore chứa Đĩa Mỏng
Đĩa mỏng giúp tối ưu hóa dung lượng lưu trữ nhưng cũng có thể gây ra tình trạng thiếu dung lượng nếu không quản lý cẩn thận. Cần thiết lập các cảnh báo và báo cáo để theo dõi việc sử dụng dung lượng và quản lý datastore hiệu quả.

So sánh ba loại cấp phát đĩa ảo trong VMware:
1. Thick Provisioned Lazy-Zeroed (Cấp phát dày, xóa chậm)

  • Thời gian tạo: Nhanh, vì không cần xóa (zero out) các khối dữ liệu khi tạo đĩa.
  • Cấp phát khối: Toàn bộ dung lượng đĩa được cấp phát ngay khi tạo đĩa.
  • Bố trí đĩa ảo: Có khả năng cao các khối dữ liệu nằm liền nhau.
  • Xóa các khối dữ liệu được cấp phát: Các khối dữ liệu chỉ được xóa khi có dữ liệu ghi lần đầu vào khối đó.
2. Thick Provisioned Eager-Zeroed (Cấp phát dày, xóa ngay)
  • Thời gian tạo: Chậm hơn và tỷ lệ thuận với kích thước đĩa, do các khối dữ liệu được xóa ngay khi đĩa được tạo.
  • Cấp phát khối: Tất cả khối dữ liệu được cấp phát trước.
  • Bố trí đĩa ảo: Có khả năng cao các khối dữ liệu nằm liền nhau.
  • Xóa các khối dữ liệu được cấp phát: Tất cả các khối dữ liệu được xóa ngay khi đĩa được tạo.
3. Thin Provisioned (Cấp phát mỏng)
  • Thời gian tạo: Nhanh nhất, vì đĩa chỉ cấp phát không gian khi dữ liệu thực tế được ghi vào.
  • Cấp phát khối: Không gian được cấp phát và xóa dần dần khi có dữ liệu ghi vào khối.
  • Bố trí đĩa ảo: Bố trí đĩa phụ thuộc vào trạng thái động của dung lượng tại thời điểm cấp phát khối.
  • Xóa các khối dữ liệu được cấp phát: Các khối dữ liệu được xóa khi chúng được cấp phát.
5. Mạng ảo (Virtual Networks)
Mạng ảo cho phép các máy ảo (VM) và các thiết bị vật lý giao tiếp với nhau. Khi cấu hình mạng cho một VM, bạn có thể thiết lập hoặc thay đổi các thông số như loại adapter mạng, nhóm port (port group) mà VM kết nối, trạng thái kết nối mạng, và tùy chọn tự động kết nối khi VM được bật.
  • Network Adapter Type: Lựa chọn loại adapter mạng mà máy ảo sẽ sử dụng, chẳng hạn như VMXNET3 hoặc E1000.
  • Port Group to Connect to: Kết nối VM với một nhóm port ảo (port group) trên vSwitch hoặc vDS.
  • Network Connection State: Trạng thái kết nối mạng của VM, có thể chọn kết nối hoặc không kết nối.
  • Auto-connect on Power On: Tùy chọn kết nối tự động khi VM được bật.
1726591156395.png

Các loại adapter mạng (NIC Types)

Khi cấu hình máy ảo, bạn có thể thêm các adapter mạng (NIC) và chỉ định loại adapter phù hợp.
  • E1000 và E1000E: Phiên bản mô phỏng của card mạng Intel Gigabit Ethernet NIC, hỗ trợ các hệ điều hành khách mới.
  • VMXNET3: Adapter NIC được thiết kế cho hiệu suất cao, yêu cầu VMware Tools và hỗ trợ nhiều tính năng như hỗ trợ đa hàng đợi (multiqueue), IPv6 offload, và gửi/nhận MSI/MSI-X interrupts.
  • Flexible: Adapter có thể hoạt động như một Vlance hoặc VMXNET, tự động thay đổi tùy theo driver được cài đặt.
  • SR-IOV pass-through: Cho phép máy ảo và adapter vật lý trao đổi dữ liệu trực tiếp, bỏ qua kernel VM, giảm thiểu độ trễ mạng.
  • PVRDMA: Cung cấp hiệu suất cao thông qua giao diện RDMA (Remote Direct Memory Access), hỗ trợ truy cập thiết bị với độ trễ thấp và băng thông cao.
PCI Passthrough Devices
Các thiết bị PCI Passthrough cho phép máy ảo truy cập trực tiếp các tài nguyên vật lý để tối ưu hiệu suất.
  • vSphere DirectPath I/O: Cho phép máy ảo truy cập trực tiếp thiết bị PCI hoặc PCIe trên host. Máy ảo bị ràng buộc với host cụ thể và không thể sử dụng các tính năng như vMotion hay snapshot.
  • vSphere Dynamic DirectPath I/O: Thiết bị PCI không bị ràng buộc trực tiếp với VM, cho phép VMware DRS chuyển VM giữa các host có cùng thiết bị phần cứng.
  • NVIDIA GRID GPU: GPU ảo hóa sử dụng công nghệ NVIDIA GRID, cho phép máy ảo thực hiện các tác vụ đồ họa phức tạp với hiệu suất cao.
Các thiết bị ảo khác (Other Virtual Devices)
Máy ảo cần có các thiết bị cơ bản như vCPU và bộ nhớ ảo, nhưng việc thêm các thiết bị khác giúp máy ảo hoạt động hiệu quả hơn.
  • Thiết bị CD/DVD: Kết nối VM với ổ CD, DVD hoặc file ISO.
  • USB 3.0 và 3.1: Hỗ trợ kết nối các thiết bị USB với máy ảo.
  • vGPUs: Cho phép VM sử dụng GPU vật lý để thực hiện các tác vụ tính toán cao.
  • vTPM: Mô đun TPM ảo, cung cấp các chức năng bảo mật dựa trên phần cứng cho máy ảo.
Console máy ảo (Virtual Machine Console)
Console máy ảo cung cấp các chức năng điều khiển máy ảo như chuột, bàn phím, và màn hình hiển thị. Bạn có thể sử dụng console để cài đặt hệ điều hành, quản lý BIOS, hoặc khởi động lại máy ảo.
Console máy ảo thường không được sử dụng cho các tác vụ hàng ngày, thay vào đó, các công cụ kết nối từ xa như Remote Desktop Connection hay Virtual Network Connection sẽ được sử dụng.
1726591212144.png

III. Kết luận

Việc tìm hiểu về phần cứng máy ảo là một bước quan trọng trong việc quản lý và vận hành môi trường ảo hóa. Từ việc xác định các tệp cấu thành một máy ảo, so sánh các phiên bản phần cứng, đến việc nhận diện các thành phần phần cứng ảo và sử dụng vSphere Client để kiểm tra cài đặt và truy cập vào bảng điều khiển, mạng ảo đến các thiết bị PCI Passthrough, các công cụ và thiết bị này cung cấp khả năng mạnh mẽ để quản lý tài nguyên tính toán, đảm bảo rằng các máy ảo hoạt động với hiệu suất cao nhất có thể trong môi trường ảo hóa.
 
i Hạn Tính Toán (Compute Maximums) là cá
Bài viết rất hay khá chi tiết. Mình có một số câu hỏi cho bạn:
1. vCore trong VMware được tính như thế nào so với số Core vật lý?
2. Đối với 3 loại cấp pháp đĩa thì loại nào sẽ tiết kiệm được dung lượng datastore hơn?
 
  • Like
Reactions: HooangF4t
Bài viết rất hay khá chi tiết. Mình có một số câu hỏi cho bạn:
1. vCore trong VMware được tính như thế nào so với số Core vật lý?
2. Đối với 3 loại cấp pháp đĩa thì loại nào sẽ tiết kiệm được dung lượng datastore hơn?
1. Việc tính toán số lượng vCore là "gộp" dựa trên số lõi vật lý của CPU host và công nghệ siêu phân luồng (hyper-threading) nếu được hỗ trợ. vCore không luôn tương đương trực tiếp với số lõi vật lý do khả năng oversubscription trong VMware, nghĩa là có thể gán nhiều vCore hơn số core vật lý có sẵn, tuy giúp tận dụng tài nguyên tốt hơn nhưng cũng có thể ảnh hưởng đến hiệu suất nếu tất cả VM đòi hỏi tài nguyên CPU cùng lúc.
2. Nếu mục tiêu là tiết kiệm dung lượng trên datastore thì Thin Provisioning là lựa chọn tốt nhất. Tuy nhiên cần lưu ý rằng nếu không quản lý tốt thì việc sử dụng quá mức dung lượng thực tế có thể dẫn đến tình trạng hết dung lượng trên datastore nếu tất cả các VM yêu cầu sử dụng dung lượng cùng lúc.
 
1. Việc tính toán số lượng vCore là "gộp" dựa trên số lõi vật lý của CPU host và công nghệ siêu phân luồng (hyper-threading) nếu được hỗ trợ. vCore không luôn tương đương trực tiếp với số lõi vật lý do khả năng oversubscription trong VMware, nghĩa là có thể gán nhiều vCore hơn số core vật lý có sẵn, tuy giúp tận dụng tài nguyên tốt hơn nhưng cũng có thể ảnh hưởng đến hiệu suất nếu tất cả VM đòi hỏi tài nguyên CPU cùng lúc.
2. Nếu mục tiêu là tiết kiệm dung lượng trên datastore thì Thin Provisioning là lựa chọn tốt nhất. Tuy nhiên cần lưu ý rằng nếu không quản lý tốt thì việc sử dụng quá mức dung lượng thực tế có thể dẫn đến tình trạng hết dung lượng trên datastore nếu tất cả các VM yêu cầu sử dụng dung lượng cùng lúc.
Có công thức tính vCore không cho mình xin công thức tính với nhé. ví dụ mình có 1 con máy chủ 2 CPU Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz.
 
  • Like
Reactions: HooangF4t
Có công thức tính vCore không cho mình xin công thức tính với nhé. ví dụ mình có 1 con máy chủ 2 CPU Intel(R) Xeon(R) CPU E5-2678 v3 @ 2.50GHz.

Công thức tính vCore trong VMware

Để tính số lượng vCore khả dụng trên một máy chủ, bạn cần dựa trên các yếu tố sau:
  1. Số socket (CPU) của máy chủ.
  2. Số lõi (core) trên mỗi CPU.
  3. Công nghệ siêu phân luồng (Hyper-Threading) (nếu được bật, mỗi core sẽ xử lý 2 luồng - threads).

Công thức tổng quát:

Tổng số vCore = Số CPU × Số core trên mỗi CPU × Số luồng trên mỗi core (thường là 2 nếu có Hyper-Threading)

Với máy chủ trên có 2 CPU Intel Xeon E5-2678 v3 và thông tin chi tiết như sau:

  • Số CPU (socket): 2
  • Số lõi trên mỗi CPU: 12 (Intel Xeon E5-2678 v3 có 12 cores)
  • Siêu phân luồng (Hyper-Threading): Được bật, mỗi core có 2 luồng (Intel Xeon E5-2678 v3)

Áp dụng công thức:

Tổng số vCore = 2 × 12 × 2 = 48 vCore
 
  • Like
Reactions: l3g0n

About us

  • Securityzone.vn là một trang web chuyên về an ninh mạng và công nghệ thông tin. Trang web này cung cấp các bài viết, tin tức, video, diễn đàn và các dịch vụ liên quan đến lĩnh vực này. Securityzone.vn là một trong những cộng đồng IT lớn và uy tín tại Việt Nam, thu hút nhiều người quan tâm và tham gia. Securityzone.vn cũng là nơi để các chuyên gia, nhà nghiên cứu, sinh viên và người yêu thích an ninh mạng có thể trao đổi, học hỏi và chia sẻ kiến thức, kinh nghiệm và giải pháp về các vấn đề bảo mật trong thời đại số.

Quick Navigation

User Menu