Tổng quan toàn diện về các vấn đề hiệu suất của máy ảo VMware
Các sự cố về phần cứng và phần mềm đôi khi dẫn đến hiệu suất máy ảo (VM) kém. Điều này có thể làm giảm sự tiện lợi và tính linh hoạt của môi trường ảo của bạn. Hãy đọc bài viết trên blog này để tìm hiểu các phương pháp cải thiện hiệu suất máy ảo VMware khi gặp phải tình trạng máy ảo chạy chậm. Khám phá những sự cố phổ biến nhất dẫn đến suy giảm hiệu suất máy ảo và tìm hiểu các giải pháp khắc phục khả thi.
Lý do cải thiện hiệu suất VM
Hãy cùng xem những lý do chính cần chẩn đoán và cải thiện hiệu suất VM:
- Hiệu suất máy ảo chậm hơn hiệu suất của một VM giống hệt trên máy chủ vật lý khác.
- Các ứng dụng chạy chậm hơn mức bình thường. Nhưng khi bạn di chuyển VM sang máy chủ vật lý khác, hiệu suất của các ứng dụng trở lại bình thường.
- Các ứng dụng mất nhiều thời gian để khởi chạy.
- Các ứng dụng đang chạy không phản hồi.
- Mức sử dụng Bộ xử lý, bộ nhớ hoặc đĩa là 100%.
Bộ xử lý và bộ nhớ
Tài nguyên phần cứng không đủ là một trong những lý do phổ biến nhất khiến hiệu suất VM chậm. Nếu bạn không cung cấp đủ tài nguyên Bộ xử lý cho VM, phần mềm bên trong VM có thể chạy chậm và bị trễ. Để khắc phục, hãy thiết lập VM sử dụng nhiều lõi Bộ xử lý hơn hoặc thêm bộ xử lý ảo. Ngoài ra, hãy cân nhắc nâng cấp phần cứng của máy chủ vật lý nếu máy đang dùng bộ xử lý cũ có ít lõi, bộ nhớ đệm và tốc độ thấp.
Khi thiết lập dung lượng RAM cho máy ảo, hãy đảm bảo dung lượng RAM này đủ cho VM. Đồng thời, máy chủ vật lý cũng phải có đủ RAM. Nếu bạn không cung cấp đủ bộ nhớ cho VM, hệ điều hành khách (hệ điều hành) sẽ sử dụng hoán đổi tệp thường xuyên, khiến hiệu suất tổng thể của VM chậm. Nếu bạn cấp nhiều bộ nhớ cho VM mà không để lại đủ bộ nhớ cho hệ điều hành máy chủ vật lý, hệ điều hành máy chủ vật lý sẽ sử dụng hoán đổi tệp. Điều này làm giảm hiệu suất của hệ điều hành và ứng dụng. Hơn nữa, hiệu suất VM cũng suy giảm trong trường hợp này. Đừng cấp quá nhiều bộ nhớ cho VM, đồng thời hãy để lại một phần cho máy chủ vật lý. Luôn cung cấp đủ bộ nhớ cho máy chủ vật lý.
Hãy đọc các yêu cầu hệ thống dành cho hệ điều hành và ứng dụng của bạn. Hãy xem xét một ví dụ. Máy chủ vật lý của bạn có 8 GB bộ nhớ và đang chạy ESXi 7.0 hoặc Windows 10 với VMware Workstation. Một VM chạy Windows Server 2019 đang hoạt động trên máy chủ vật lý này. Nếu bạn cấp 4 GB RAM cho VM chạy Windows Server 2019, hệ điều hành máy chủ vật lý sẽ còn 4 GB RAM. Mức này đủ để cả hệ điều hành máy chủ vật lý và hệ điều hành khách hoạt động bình thường (nếu không chạy thêm các ứng dụng tiêu tốn tài nguyên). Tỷ lệ là 1:2 (4 GB/8 GB), và 1/2-1=-0.5 là giá trị MEM overcommit avg hiện tại. Nếu bạn cấp 2 GB RAM cho VM chạy Windows Server 2019, hiệu suất VM sẽ chậm. Nếu bạn cấp 6 GB RAM cho một VM Windows Server 2019, máy chủ vật lý sẽ không đủ bộ nhớ, do đó cả máy vật lý lẫn máy ảo đều chạy chậm.
Nếu bạn chạy các ứng dụng nặng như cơ sở dữ liệu trên máy ảo, hãy điều chỉnh cấu hình VM và bổ sung tài nguyên Bộ xử lý cùng bộ nhớ cho phù hợp.
Phân bổ bộ nhớ vượt mức là tình trạng tổng lượng tài nguyên được cấp phát vượt quá dung lượng hiện có. Nếu máy chủ vật lý của bạn có 8 GB RAM và chạy năm VM, mỗi VM được cấu hình để sử dụng 2 GB RAM, thì tất cả VM và máy chủ vật lý đều có thể hoạt động kém hiệu quả do bộ nhớ bị phân bổ vượt mức (nếu tất cả VM đều sử dụng nhiều bộ nhớ). Nếu một số VM đang chạy nhưng chỉ chịu tải nhẹ, bộ nhớ sẽ chủ yếu được sử dụng bởi các VM chịu tải nặng vì ESXi cải thiện việc sử dụng bộ nhớ. Phân bổ bộ nhớ vượt mức phù hợp với môi trường thử nghiệm.
Ngoài ra, hãy kiểm tra tính năng thu hồi bộ nhớ và cấu hình tính năng này để thu hồi bộ nhớ không sử dụng từ các VM, giúp sử dụng bộ nhớ vật lý hiệu quả. Đôi khi, tính năng này có thể ảnh hưởng đến hiệu suất VM khi VM cần sử dụng đĩa ảo để hoán đổi.
Phân bổ Bộ xử lý vượt mức . VMware cung cấp các kỹ thuật sử dụng tài nguyên hợp lý, cho phép bạn cấp cho các VM số lượng bộ xử lý ảo nhiều hơn số lõi Bộ xử lý vật lý trên máy chủ vật lý. Tham số phân bổ Bộ xử lý vượt mức là tỷ lệ giữa số lượng bộ xử lý ảo được cấp cho các VM và số lõi Bộ xử lý vật lý trên máy chủ vật lý. Nếu giá trị là 3:1 thì không có lý do gì để lo lắng. Nếu giá trị là 5:1, hiệu suất VM sẽ suy giảm. Nếu giá trị phân bổ Bộ xử lý vượt mức là 6:1 trở lên, VM sẽ chạy chậm và điều đó có thể gây ra nhiều vấn đề.
Cách giải quyết vấn đề về Bộ xử lý và bộ nhớ?
Hãy cân nhắc nâng cấp phần cứng và bổ sung thêm RAM cho máy vật lý mà bạn sử dụng để chạy máy ảo. Hãy đảm bảo có đủ bộ nhớ để hệ điều hành máy chủ vật lý và hệ điều hành khách không phải sử dụng tệp hoán đổi. Tránh phân bổ bộ nhớ vượt mức.
Đôi khi, các tính năng quản lý nguồn của Bộ xử lý có thể khiến hiệu suất VM thấp. Hãy thử tắt các tính năng này.
Kiểm tra tài nguyên Bộ xử lý và bộ nhớ còn trống trên máy chủ vật lý.
Trên ESXi, hãy chạy lệnh này trong dòng lệnh để kiểm tra xem máy chủ của bạn có bị quá tải hay không:
esxtop
Kiểm tra tham số tải trung bình .
1.0 – nghĩa là Bộ xử lý được sử dụng hết công suất
0.5 – nghĩa là Bộ xử lý được sử dụng một nửa công suất (50%)
2.0 – nghĩa là Bộ xử lý bị quá tải gấp đôi và bạn cần thực hiện biện pháp xử lý
Nhấn các phím sau để thay đổi chế độ xem: c – chỉ số Bộ xử lý (được hiển thị theo mặc định), m – bộ nhớ, n – mạng, d – đĩa. Nhấn phím cách để cập nhật các giá trị đang hiển thị (các giá trị được tự động cập nhật sau mỗi 5 giây). Nhấn h để xem trợ giúp và q để thoát.
Kiểm tra tham số MEM overcommit avg để xem mức sử dụng bộ nhớ trên ESXi. Giá trị MEM overcommit avg được tính như sau: tỷ lệ giữa bộ nhớ được yêu cầu và bộ nhớ khả dụng, trừ đi 1. Giá trị được khuyến nghị cho tham số này là 0 hoặc thấp hơn.
Nếu bạn sử dụng VMware Workstation được cài đặt trên Linux hoặc Windows để chạy VM, hãy dùng các công cụ giám sát hệ thống tiêu chuẩn có trên hệ điều hành của bạn.
Kiểm tra mức sử dụng Bộ xử lý/bộ nhớ trên hệ điều hành khách. Một số ứng dụng có thể không hoạt động bình thường và sử dụng hết tài nguyên Bộ xử lý (lõi Bộ xử lý). Kiểm tra các tiến trình đang chạy và tìm tiến trình khiến Bộ xử lý phải tải nặng. Kiểm tra nhiệt độ của các Bộ xử lý vật lý trên Máy chủ vật lý, vì nhiệt độ quá cao (trên 80 °C) gây ra vấn đề về hiệu năng và tiềm ẩn nguy cơ làm hỏng Bộ xử lý.
Nâng cấp phần cứng – lắp Bộ xử lý mạnh hơn hoặc thêm Bộ xử lý vào Máy chủ vật lý. Kiểm tra cấu hình VM. Nếu số lượng Bộ xử lý ảo dành cho VM vượt quá nhu cầu, hãy giảm số lượng Bộ xử lý ảo dành cho VM để giải phóng tài nguyên cho Máy chủ vật lý.
Trong VMware vSphere, bạn có thể sử dụng một cụm DRS (Bộ lập lịch tài nguyên phân tán) để di chuyển VM từ Máy chủ vật lý ESXi đang quá tải sang Máy chủ vật lý ESXi còn tài nguyên phần cứng.
Sự cố về đĩa
Hiệu năng thấp của hệ thống lưu trữ làm giảm hiệu năng của các máy ảo lưu trữ đĩa ảo trên hệ thống lưu trữ này. Độ trễ lưu trữ ảnh hưởng rất lớn đến hiệu năng của VM. Hãy thử sử dụng đĩa SSD (Solid State Drive) để lưu trữ máy ảo. Nếu không thể sử dụng đĩa SSD, hãy dùng đĩa HDD (Hard Disk Drive) có tốc độ 7200 RPM hoặc 10000 RPM. Ổ cứng có tốc độ 5400 RPM cho hiệu năng rất thấp. Nên sử dụng đĩa có giao diện SAS.
Nếu sử dụng VMware Workstation, bạn có thể lưu VM trên đĩa SATA ngoài (eSata) hoặc USB 3.0, đồng thời tuân theo các khuyến nghị ở trên. Không ngắt kết nối đĩa ngoài cho đến khi bạn tắt máy ảo.
Trong môi trường sản xuất, hãy sử dụng đĩa thick không thể mở rộng hoặc được cấp phát trước. Đĩa cấu hình dung lượng cố định eager-zeroed cho tốc độ ghi lần đầu nhanh hơn.
Nếu sử dụng HDD để lưu trữ VM, hãy chống phân mảnh ổ đĩa vật lý hoặc mảng đĩa này, đồng thời chống phân mảnh đĩa ảo trong cài đặt máy ảo. Sử dụng các phân vùng để giảm tình trạng phân mảnh đĩa. Cài đặt hệ điều hành trên một phân vùng và lưu trữ các tệp được ứng dụng sử dụng (ví dụ: cơ sở dữ liệu) trên một phân vùng khác.
Kiểm tra xem chương trình cơ sở của HBA (bộ điều hợp bus của Máy chủ vật lý) đã được cập nhật chưa. Cập nhật chương trình cơ sở của HBA trên máy chủ.
Kiểm tra tình trạng ổ đĩa. Chạy chẩn đoán ổ đĩa và hệ thống tệp. Nếu ổ đĩa bị hỏng, hãy thay thế ngay lập tức.
Kiểm tra cáp giao tiếp (SAS, SATA).
Mã hóa ổ đĩa làm giảm hiệu suất do chi phí xử lý phát sinh. Di chuyển các tệp VM sang thiết bị lưu trữ không được mã hóa nếu việc mã hóa không quan trọng đối với VM, hoặc tắt tính năng mã hóa ổ đĩa.
Sử dụng bộ điều khiển RAID độc lập (phần cứng) để có hiệu suất và độ tin cậy cao hơn.
Đảm bảo có dung lượng trống trên ổ đĩa bên trong VM. Không đủ dung lượng ổ đĩa sẽ làm giảm hiệu suất vì hệ điều hành và ứng dụng không thể ghi các tệp tạm thời.
Bạn có thể di chuyển VM sang một ổ đĩa hoặc mảng đĩa khác không bị quá tải. Trong VMware vSphere, hãy cân nhắc sử dụng DRS và Storage DRS. Giảm số lượng VM đang chạy trên cùng một LUN hoặc kho dữ liệu.
Snapshot
Ảnh chụp nhanh đĩa ảo làm giảm hiệu suất của đĩa ảo. Mỗi snapshot tạo thêm một tệp delta VMDK cho đĩa ảo. Cơ chế sao chép khi ghi được sử dụng. Mỗi tệp delta VMDK chứa các khác biệt về dữ liệu (nhật ký thay đổi) so với tệp VMDK cha, và VM đọc toàn bộ dữ liệu này khi tương tác với đĩa VM. Do đó, dữ liệu được đọc từ nhiều tệp đĩa ảo trên cùng một đĩa vật lý, làm giảm hiệu suất VM. Vì lý do tương tự, không sử dụng các tệp VMDK được chia nhỏ cho VM trong VMware Workstation (tùy chọn này được tạo ra cho các hệ thống tệp cũ không hỗ trợ tệp lớn hơn 4 GB). Tình trạng quá tải đĩa tăng lên khi số lượng snapshot tăng. Ảnh chụp nhanh thường được sử dụng tạm thời (ví dụ: khi bạn sao chép dữ liệu trong tác vụ sao lưu hoặc cài đặt hay kiểm tra một ứng dụng bên trong VM). Hãy xóa hoặc hợp nhất các snapshot càng sớm càng tốt.
Trong VMware Workstation, bạn nên tắt VM, đóng VMware Workstation rồi chạy lệnh xác định đường dẫn đến tệp VMDK chính hiện có và đường dẫn đến tệp đĩa ảo mới:
"C:Program Files (x86)usernameVMware Workstationvmware-vdiskmanager.exe" -r
"D:VMsVM-foldervm-name.vmdk" -t 0 "D:VMsVM-folderNewDisk.vmdk"
Sau đó, cấu hình lại VM để sử dụng đĩa ảo mới hoặc tạo VM mới và thiết lập để sử dụng đĩa ảo mới đã hợp nhất.
Trên ESXi, chạy lệnh sau để xóa snapshot:
vmware-cmd path_to_vmx_file removesnapshots
hoặc
vim-cmd vmsvc/snapshot.removeall VMID
Bạn có thể xem VMID bằng lệnh sau:
vim-cmd vmsvc/getallvms
Hợp nhất các tệp VMDK được chia nhỏ nếu chúng đang được sử dụng. Thực hiện việc này trên máy Windows đã cài đặt VMware Workstation bằng lệnh:
"C:Program Files (x86)VMwareVMware Workstationvmware-vdiskmanager.exe" -r splitdisk.vmdk -t 0 mergeddisk.vmdk
Lưu trữ dữ liệu nhạy cảm về hiệu năng trên đĩa nhanh hơn.
VMware Tools
Đảm bảo VMware Tools được cài đặt trên hệ điều hành khách. VMware Tools là bộ trình điều khiển và tiện ích dùng để cải thiện hiệu năng của VM và trải nghiệm người dùng. Hiệu năng đồ họa được cải thiện sau khi cài đặt VMware Tools. Chuột được đồng bộ và hoạt động không bị trễ. Với VMware Tools, bạn có thể sử dụng VM ở chế độ toàn màn hình với hiệu năng cao hơn. Kiểm tra xem VMware Tools đã được cài đặt hay chưa.
Trong Windows, nhấp vào biểu tượng VMware Tools trên khay hệ thống cạnh đồng hồ, hoặc truy cập C:Program FilesVMwareVMware Tools (đây là thư mục mặc định) và chạy lệnh:
VMwareToolboxCmd.exe -v
Trong Linux, chạy lệnh trong cửa sổ dòng lệnh:
vmware-toolbox-cmd -v
Kiểm tra phiên bản VMware Tools trên các máy khách VM bằng cách đọc nhật ký VM từ dòng lệnh ESXi:
grep toolbox /vmfs/volumes/datastore/vm_name/vmware.log
hoặc
grep build- /vmfs/volumes/datastore/vm_name/vmware.log
Trong VMware vSphere Client, kiểm tra xem VMware Tools đã được cài đặt trên hệ điều hành khách đang chạy trên VM hay chưa. Thông tin về VMware Tools được hiển thị trong thẻ Summary của VM (trạng thái và phiên bản).
Sự cố mạng
Nếu máy chủ ESXi của bạn được kết nối với thiết bị lưu trữ như SAN (Mạng khu vực lưu trữ) hoặc NAS (Thiết bị lưu trữ gắn mạng), hãy đảm bảo tốc độ mạng đủ cao và mạng không bị quá tải.
Để đạt hiệu năng cao, bạn nên sử dụng các mạng quản lý ESXi mạng, Mạng vMotion và mạng lưu trữ riêng biệt trong vSphere.
Cấu hình NIC Teaming (tổng hợp liên kết) trên các máy chủ ESXi sử dụng bộ chuyển mạch ảo.
Nếu băng thông mạng hiện có không đủ đáp ứng các yêu cầu, hãy cân nhắc nâng cấp mạng. Ví dụ: thiết lập bộ điều hợp mạng, bộ chuyển mạch và bộ định tuyến 5 Gbit hoặc 10 Gbit thay cho thiết bị 1 Gbit hiện có.
Phần mềm diệt vi-rút
Đảm bảo phần mềm diệt vi-rút trên máy chủ không quét các tệp đĩa ảo, vì việc quét những tệp này có thể làm giảm hiệu năng VM. Bạn có thể loại trừ các tệp VMDK trong thư mục VM khỏi quá trình quét của phần mềm diệt vi-rút.
Kiểm tra tình trạng của hệ điều hành đang chạy trên hệ điều hành máy chủ và hệ điều hành khách. Đảm bảo không có vi-rút, phần mềm độc hại khác hoặc phần mềm tống tiền.
Hãy cân nhắc sử dụng các giải pháp diệt vi-rút chuyên dụng hoạt động với VMware vShield trên máy chủ ESXi thay vì cài đặt phần mềm diệt vi-rút trên từng hệ điều hành khách của VM. Cách tiếp cận này giúp đạt hiệu năng tốt hơn và hợp lý đối với các môi trường ảo hóa quy mô lớn. Nếu sử dụng vShield, hãy cấu hình phần mềm này đúng cách vì cấu hình không chính xác có thể làm giảm hiệu năng VM.
Các vấn đề liên quan đến Hyper-V
Nếu bạn sử dụng VMware Workstation 15.5 trở lên, phiên bản hỗ trợ chạy các VM VMware khi tính năng Hyper-V được cài đặt trên máy chủ Windows, thì hiệu năng của các máy ảo VMware có thể chậm hơn. Khi vai trò Hyper-V được cài đặt, Hyper-V sử dụng trực tiếp các tính năng ảo hóa của Bộ xử lý, chẳng hạn như Intel VT-x hoặc AMD-V. Các tính năng này không khả dụng cho VMware Workstation với Trình giám sát máy ảo (VMM), vốn phải chạy ở chế độ đặc quyền. Vì lý do tương thích, VMM của VMware Workstation chạy ở chế độ người dùng hoặc chế độ ULM (thay vì chế độ đặc quyền), do VMM không thể truy cập các tính năng ảo hóa phần cứng của Bộ xử lý khi chúng được Hyper-V sử dụng. Trong trường hợp này, VMM sử dụng các API WHP của Microsoft, đóng vai trò là một lớp bổ sung giữa VMM và Bộ xử lý, làm giảm hiệu năng của VM VMware.
Gỡ cài đặt Hyper-V và các tính năng liên quan, chẳng hạn như Bảo mật dựa trên ảo hóa, khỏi máy Windows chủ. Sau đó, VMM của VMware Workstation sẽ chạy ở chế độ đặc quyền và hoạt động trực tiếp với các tính năng ảo hóa của Bộ xử lý để đạt hiệu năng cao. Giải pháp này sẽ giúp khắc phục tình trạng hiệu năng chậm của máy ảo VMware.
Giám sát hiệu năng VM
Giám sát hiệu năng VM là phương pháp được sử dụng rộng rãi để phát hiện tình trạng quá tải và các vấn đề hiệu năng liên quan. Việc giám sát hiệu năng VM giúp bạn khắc phục sự cố bằng cách xác định nguyên nhân. Hãy nhớ giám sát hiệu năng VM ở cấp máy chủ vật lý, không phải bên trong hệ điều hành khách. Hệ điều hành khách không nhận biết được các tính năng ảo hóa, chẳng hạn như phân bổ tài nguyên động, và có thể hiển thị dữ liệu không chính xác. VMware cung cấp các bộ đếm ở cấp máy chủ vật lý. Các bộ đếm này cung cấp thông tin chính xác và được dùng để giám sát hiệu năng VM. Để giúp bạn xem thông tin chính xác về hiệu năng VM bằng tiện ích Perfmon trong các hệ điều hành khách Windows, VMware đã phát triển các thư viện bộ đếm dành riêng cho máy ảo, dựa trên hiểu biết về cách thu thập thông tin hiệu năng bên trong VM. Để giám sát hiệu năng VM, VMware Tools phải được cài đặt trên hệ điều hành khách.
Để kiểm tra tài nguyên phần cứng đã sử dụng trong VMware vSphere Client, hãy chọn một máy ảo, mở tab Giám sát, rồi chọn Performance > Overview or Performance > Advanced để xem biểu đồ và thông tin khác. Trên trang Overview, bạn có thể xem mức sử dụng Bộ xử lý, bộ nhớ, mạng và lưu trữ (dung lượng trống, dung lượng đã sử dụng và hiệu năng đầu vào/đầu ra) theo thời gian thực, cũng như trong ngày, tuần, tháng, năm trước đó hoặc một khoảng thời gian tùy chỉnh. Chọn các tùy chọn này trong hai menu thả xuống trên trang ( Khoảng thời gian và Chế độ xem ). 
Nhấp vào Utilization trong tab Monitor để xem thêm thông tin về mức sử dụng Bộ xử lý của Máy ảo, bộ nhớ Máy ảo và bộ nhớ của hệ điều hành khách.
Tương tự, bạn có thể chọn một Máy chủ vật lý ESXi hoặc cụm trong vSphere Client và theo dõi tài nguyên đã sử dụng và còn khả dụng theo thời gian thực cũng như trong khoảng thời gian đã chọn.
Kết luận
Bài đăng trên blog này giải thích những điểm chính cần chú ý khi đề cập đến các vấn đề về hiệu suất VM và những đề xuất giúp cải thiện hiệu suất Máy ảo. Bạn nên có phần cứng cung cấp đủ hiệu năng, tránh phân bổ bộ nhớ vượt mức và cấu hình phần mềm đúng cách. Hãy sử dụng tính năng giám sát hiệu suất VM để xác định nguyên nhân khiến VM hoạt động chậm.
Hư hỏng đĩa là vấn đề nguy hiểm nhất gây ra hiệu suất VM chậm vì ngoài hiệu suất Máy ảo kém, bạn còn có thể mất dữ liệu. Để tránh mất dữ liệu, hãy thường xuyên sao lưu dữ liệu VMware. Hãy sử dụng NAKIVO Backup & Replication cho sao lưu VMware – giải pháp bảo vệ dữ liệu toàn diện hỗ trợ VMware vSphere 7.0 và cung cấp nhiều tính năng hữu ích giúp cải thiện tốc độ và độ tin cậy của quá trình sao lưu.


