Mẹo và công cụ để giám sát Microsoft Hyper-V
Các ưu điểm chính của ảo hóa phần cứng bao gồm sự cách ly logic và việc sử dụng tài nguyên hợp lý. Khi sử dụng Microsoft Hyper-V, việc theo dõi việc sử dụng tài nguyên phần cứng của các máy ảo (VM) và các máy chủ Hyper-V vật lý là rất quan trọng. Việc phân bổ tài nguyên không đủ hoặc quá mức cho một máy ảo có thể dẫn đến suy giảm hiệu suất của máy ảo đó hoặc ảnh hưởng đến hiệu suất của các máy ảo khác cũng như toàn bộ môi trường. Bài viết trên blog này giới thiệu các mẹo giám sát Hyper-V và các công cụ giám sát Hyper-V tích hợp sẵn mà bạn có thể sử dụng miễn phí.
Tại sao bạn cần giám sát hiệu suất Hyper-V?
Việc giám sát tài nguyên Hyper-V cho phép bạn phát hiện các điểm nghẽn và quản lý tài nguyên để tối ưu hóa hiệu suất. Bằng cách giám sát hiệu suất Hyper-V, bạn có thể xem các số liệu thống kê về tài nguyên để hỗ trợ ra quyết định trong các vấn đề như: cấp phát thêm tài nguyên trên máy chủ Hyper-V hiện tại, cấu hình lại phần mềm trên máy ảo (VM) hoặc di chuyển máy ảo sang một máy chủ Hyper-V khác. Lưu ý rằng SNMP (Simple Network Management Protocol) đã không còn được khuyến nghị sử dụng để giám sát các máy chủ Hyper-V.
Nếu phát hiện hiệu suất máy ảo (VM) thấp, hãy sử dụng các câu hỏi sau để thu hẹp các nguyên nhân có thể:
- Có đủ tài nguyên được phân bổ cho máy ảo đang chạy trên máy chủ Hyper-V không?
- Có đủ tài nguyên phần cứng trống trên máy chủ Hyper-V không?
- Vấn đề hiệu suất chỉ xảy ra trên một máy ảo hay nhiều máy ảo?
May mắn thay, Hyper-V có một số công cụ tích hợp miễn phí để giám sát hiệu suất và mức tiêu thụ tài nguyên thông qua giao diện người dùng (GUI) của Hyper-V Manager. Nếu bạn muốn tự động hóa việc di chuyển máy ảo giữa các máy chủ Hyper-V cho mục đích cân bằng tải, có các chức năng cơ bản để thực hiện điều này trong một cụm máy chủ. Hãy lưu ý rằng nếu bạn sử dụng cụm Hyper-V, bạn cần SCVMM (System Center Virtual Machine Manager) – một giải pháp trả phí – để tự động di chuyển máy ảo nhằm tối ưu hóa việc sử dụng tài nguyên của các máy chủ Hyper-V và thực hiện cân bằng tải. Việc giám sát sao chép Hyper-V cũng có thể được thực hiện trong SCVMM.
Không nên sử dụng Trình quản lý tác vụ Windows để giám sát tài nguyên bên trong máy ảo
Mở Task Manager là phương pháp nhanh chóng và đơn giản để xem hiệu suất và việc sử dụng tài nguyên trên các máy tính vật lý chạy Windows. Tuy nhiên, không nên sử dụng Trình quản lý tác vụ Windows để giám sát hiệu suất bên trong một máy ảo. Trình quản lý tác vụ Windows không hiển thị mức sử dụng thực tế của CPU và bộ nhớ bởi một máy ảo. Điều này là do Task Manager không nhận diện được các máy ảo và không thể biết cách tài nguyên được phân bổ cho máy ảo. Hãy sử dụng Task Manager để theo dõi các tiến trình, dịch vụ và ứng dụng đang chạy, nhưng không nên dùng để theo dõi hiệu năng bên trong máy ảo.
Sử dụng Trình theo dõi hiệu năng trên máy chủ Hyper-V
Sử dụng Performance Monitor (perfmon) trên máy chủ Hyper-V cùng với các chỉ số phù hợp để theo dõi mức sử dụng của bộ xử lý, bộ nhớ, giao diện mạng, đĩa cứng vật lý và các thành phần phần cứng khác. Tiện ích perfmon được sử dụng rộng rãi để khắc phục sự cố hiệu suất trên các hệ thống Windows.
Chạy perfmon trong hộp thoại run hoặc tìm Performance Monitor trong cửa sổ Computer Management , thêm các bộ đếm cần thiết và theo dõi số liệu thống kê trong giao diện người dùng đồ họa (GUI). Thông tin thu thập được có thể được hiển thị dưới dạng biểu đồ, đồ thị và sơ đồ.
Ngoài ra, bạn cũng có thể tham khảo trang Resource Monitor trên một máy chủ Hyper-V (resmon.exe).
Sử dụng bộ đếm (Counters) cho Hyper-V
Trình giám sát hiệu suất (Performance Monitor) có thể cung cấp thông tin không chính xác cho các máy ảo chạy trên máy chủ Hyper-V vì các bộ đếm tiêu chuẩn (bình thường) không được tối ưu hóa cho việc giám sát máy ảo. Hãy tưởng tượng một máy tính vật lý chạy Hyper-V có bộ xử lý với bốn nhân, và hai máy ảo đang chạy trên máy chủ Hyper-V đó. Bốn bộ xử lý ảo được cấp phát cho máy ảo đầu tiên. Một ứng dụng làm tải bốn bộ xử lý ảo lên 100% đang chạy trên máy ảo đầu tiên và tiêu thụ toàn bộ tài nguyên bộ xử lý trên máy chủ Hyper-V vật lý.
Đồng thời, bạn khởi động máy ảo thứ hai trên máy chủ Hyper-V này với cùng cấu hình thiết bị ảo và chạy cùng ứng dụng đó. Trong cả hai máy ảo, bạn sẽ thấy thông tin cho biết các bộ xử lý của mỗi máy ảo đều đang hoạt động ở mức 100%. Tuy nhiên, các ứng dụng trên mỗi máy ảo chỉ hoạt động với tốc độ bằng 50% so với trường hợp đầu tiên khi chỉ có một máy ảo đang chạy (nếu bạn mở Task Manager hoặc Performance Monitor trong các máy ảo). Thông tin về bộ nhớ cũng được hiển thị tương tự nếu tính năng bộ nhớ động được kích hoạt.
Sử dụng các bộ đếm dành riêng cho Hyper-V trong Trình giám sát hiệu suất trên máy chủ Hyper-V để theo dõi tài nguyên trên máy chủ Hyper-V này. Các bộ đếm Hyper-V hiển thị thông tin chính xác nhất cho việc giám sát hiệu suất Hyper-V.
Hiệu suất bộ xử lý
Sử dụng bộ đếm này để theo dõi hiệu suất bộ xử lý vật lý trên máy chủ Hyper-V:
Hyper-V Hypervisor Logical Processor% Total Run Time
Bộ đếm để theo dõi hiệu suất của các bộ xử lý ảo trong một máy ảo (VM):
Hyper-V Hypervisor Virtual Processor% Guest Run Time
- Hiệu suất tối ưu là khi bộ đếm hiển thị giá trị 75% hoặc thấp hơn đối với một máy ảo đang chạy.
- Giá trị trong khoảng 75 – 85% là cảnh báo.
- Đối với giá trị cao hơn 85%, bạn nên điều tra nguyên nhân dẫn đến mức sử dụng CPU cao như vậy.
Chỉ số để theo dõi mức sử dụng bộ xử lý ảo gốc:
Hyper-V Hypervisor Root Virtual Processor(*)% Total Run Time
Mức sử dụng bộ nhớ
Có nhiều chỉ số để theo dõi Hyper-V và kiểm tra lượng RAM đang được sử dụng.
Chỉ số MemoryAvailable Mbytes trên máy chủ Hyper-V được sử dụng để theo dõi mức sử dụng bộ nhớ.
- Hơn 10% RAM trống – Tình trạng tốt
- Dưới 10% RAM trống – Cảnh báo
- Dưới 100 MB RAM trống – Nguy cấp
Sử dụng chỉ số MemoryCommitted Bytes để kiểm tra lượng bộ nhớ mà các máy ảo (VM) sử dụng nhằm xác định lượng bộ nhớ cần phân bổ cho từng máy ảo. Sử dụng chỉ số Hyper-V Dynamic Memory BalancerAverage Pressure để theo dõi bộ nhớ động.
- Dưới 80% – Bình thường
- Trên 80% – Cảnh báo
- 100% – Nguy cấp
Độ trễ đĩa
Sử dụng các chỉ số LogicalDisk(*)Average Disk SecRead or Write để theo dõi độ trễ đĩa, yếu tố quan trọng đối với hiệu suất tổng thể của các máy ảo (VM) đang chạy trên Hyper-V.
- < 10 ms (0,010 s) – OK
- > 15 ms (0,015 s) – Cảnh báo
- > 25 ms (0,025 s) – Nguy cấp
Mạng
Sử dụng chỉ số Network Interface (*)OutputQueue Length để theo dõi mức sử dụng mạng, tức là đo lường số lượng gói tin mạng trong hàng đợi gói tin đầu ra.
- Trung bình dưới 1 – Tình trạng tốt
- Trung bình trên 1 – Cảnh báo
- Trung bình trên 2 – Nguy cấp
Ngoài ra, hãy xem xét sử dụng các bộ đếm sau:
Network Interface (network adapter name)Bytes/sec
Hyper-V Virtual Network Adapter (virtual machine name )Bytes/sec
Cung cấp đủ bộ nhớ cho các máy ảo (VM)
Mỗi máy ảo cần đủ bộ nhớ để hoạt động bình thường; nếu không, hiệu suất sẽ bị suy giảm, tệp hoán đổi sẽ được sử dụng quá mức (nếu được cấu hình) và đĩa cứng sẽ bị quá tải. Ngoài ra, tệp hoán đổi hoạt động chậm hơn so với RAM. Nếu hệ điều hành và ứng dụng tiêu thụ khoảng 12 GB bộ nhớ vật lý, hãy cài đặt 16 GB RAM vào máy tính. Áp dụng cách tiếp cận tương tự cho việc phân bổ bộ nhớ cho máy ảo (VM). Ví dụ, nếu phần mềm chạy trên một máy ảo tiêu thụ 6 GB RAM, hãy cung cấp 8 GB RAM cho máy ảo đó. Cung cấp ít nhất 20% bộ nhớ bổ sung để đảm bảo hoạt động trơn tru. Nên cung cấp bộ nhớ bổ sung làm đệm.
Sử dụng Trình xem sự kiện để theo dõi nhật ký
Sử dụng Event Viewer để theo dõi nhật ký trên máy chủ Hyper-V và các máy ảo khách, điều này rất hữu ích cho việc khắc phục sự cố. Việc xem và phân tích các nhật ký như sự kiện hệ thống và sự kiện ứng dụng có thể giúp xác định vấn đề và tìm ra giải pháp chính xác để khắc phục chúng. Event Viewer hiển thị nhật ký lỗi liên quan đến ứng dụng và hoạt động ở cấp độ hệ điều hành. Để mở Event Viewer, bạn cần mở Computer Management trước.
Các nhật ký Hyper-V được lưu trữ tại:
Event viewer > Applications and services logs > Microsoft > Windows
Dưới đây là các danh mục nhật ký Hyper-V trong Trình xem sự kiện:
- Hyper-V-Compute
- Hyper-V-Config
- Hyper-V-Guest-Drivers
- Hyper-V Hypervisor
- Hyper-V-StorageVSP
- Hyper-V-VID
- Hyper-V-VMMS
- Hyper-V-VmSwitch
- Hyper-V-Worker
Trong Computer Management bạn có thể quản lý các dịch vụ Windows. Bạn nên theo dõi các dịch vụ Hyper-V sau:
- Hyper-V Image Management Service (vhdsvc)
- Hyper-V Virtual Machine Management (vmms)
- Hyper-V Networking Management Service (nvspwmi)
Theo dõi tài nguyên trong PowerShell
Bạn có thể theo dõi tài nguyên của các máy chủ Hyper-V và máy ảo trong PowerShell. Tính năng này đặc biệt hữu ích khi sử dụng hệ điều hành Windows không có giao diện đồ họa (GUI). Sử dụng các lệnh cmdlet chuyên dụng để theo dõi hiệu suất trong PowerShell. Xem nhật ký hoạt động của Hyper-V thông qua Nhật ký sự kiện Windows:
Get-WinEvent -LogName Microsoft-Windows-Hyper-V-Hypervisor-Operational | select -First 1 | Format-List *
Lệnh này tương tác với các đối tượng bộ đếm hiệu suất trên máy chủ Hyper-V hoặc máy ảo khách và cho phép bạn lấy dữ liệu trực tiếp từ các máy từ xa hoặc máy cục bộ bằng cách sử dụng chức năng giám sát của Windows:
Get-Counter
Lấy danh sách bộ đếm và sắp xếp kết quả hiển thị:
Get-Counter -ListSet * |
Sort-Object -Property CounterSetName |
Format-Table CounterSetName, CounterSetType -AutoSize
Giám sát hiệu suất của các đĩa hoạt động trên nhiều máy:
$DiskReads = "LogicalDisk(C:)Disk Reads/sec"
$DiskReads | Get-Counter -ComputerName Server01, Server02 -MaxSamples 10
Bạn có thể tạo các tập lệnh tùy chỉnh để giám sát hiệu suất Hyper-V trong PowerShell.
Kết luận
Việc giám sát Hyper-V giúp bạn xác định liệu các vấn đề về hiệu suất của máy ảo (VM) có liên quan đến máy chủ Hyper-V hay các máy ảo khách hay không. Giám sát hiệu suất Hyper-V cho phép bạn tối ưu hóa việc sử dụng tài nguyên phần cứng trên máy chủ Hyper-V. Một số công cụ, chẳng hạn như Trình quản lý tác vụ Windows, thường được sử dụng để giám sát máy chủ vật lý, không phù hợp để giám sát hiệu suất của các máy ảo đang chạy trên Hyper-V. Trình giám sát hiệu suất (Performance Monitor) bao gồm các chỉ số cụ thể dành cho Hyper-V, được thiết kế để giám sát tài nguyên của máy chủ Hyper-V và các máy ảo. Bạn có thể sử dụng Trình quản lý Hyper-V, Trình xem sự kiện (Event Viewer) và Trình giám sát tài nguyên (Resource Monitor) nếu sử dụng giao diện đồ họa (GUI), hoặc các lệnh đặc biệt trong PowerShell nếu sử dụng giao diện dòng lệnh.
Nếu các tính năng của các công cụ tích hợp sẵn không đủ đáp ứng nhu cầu của bạn, hãy thử sử dụng phần mềm giám sát Hyper-V khác. Việc giám sát có thể giúp bạn tối ưu hóa hiệu suất Hyper-V, nhưng không thể bảo vệ bạn khỏi mất dữ liệu khi xảy ra thảm họa. Hãy cân nhắc sử dụng phần mềm sao lưu Hyper-V đáng tin cậy để bảo vệ dữ liệu của bạn. Tải xuống Phiên bản Miễn phí của NAKIVO để nhận hỗ trợ đa nền tảng, khôi phục sau tấn công ransomware và nhiều tính năng khác.




