Giám sát Hyper-V bằng dòng lệnh (Phần 4
cTrong số các tài nguyên phần cứng thường được ấn định cho máy ảo thì có lẽ bộ
nhớ mang tính quết định nhất. Bài viết sẽ hướng dẫn các bạn cách quản lý bộ nhớ máy
ảo thông qua Windows PowerShell.
Trước khi bắt đầu, hãy nhớ nhập thư viện giám sát Hyper-V vào PowerShell mỗi lần sử
dụng câu lệnh liên quan đến Hyper-V. Câu lệnh nhập thư viện là:
Import-Module “C:\Program Files\Modules\Hyperv\Hyperv.psd1”
Các lệnh đầy đủ để tải về và cài đặt thư viện giám sát Hyper-V được trình bày trong phần
1 chuỗi bài viết này.
Tạo báo cáo sử dụng bộ nhớ
Do tài nguyên bộ nhớ là hữu hạn nên việc xác định lượng bộ nhớ cấp cho các máy ảo là
rất quan trọng. Tuy việc này thực hiện tương đối đơn giản từ Hyper-V nhưng trình giám
sát này lại không có chức năng báo cáo. May mắn là, người dùng vẫn có thể tự xây dựng
cho mình các bản báo cáo hiệu năng sử dụng bộ nhớ một cách trực tiếp từ Windows
PowerShell.
Câu lệnh được sử dụng để kiểm tra kích thước bộ nhớ một máy ảo đang sử dụng là Get-
VMMemory. Cú pháp lệnh như sau:
Get-VMMemory –VM”<tên máy ảo>” –Server “<tên server chủ chạy Hyper-V>”
Về lý thuyết, “-Server” là tham số cần thiết, nhưng nếu bỏ tham số này thì lệnh Get-
VMMemory sẽ truy vấn tới server cục bộ theo mặc định. Thường thì người dùng sẽ chỉ
định một server nhất định những cũng có thể chỉ định nhiều server. Nếu truy vấn tới
nhiều máy chủ chạy Hyper-V, ta phải nhập đầy đủ tên các server. Wildcard không có tác
dụng ở đây.
Tham số tên máy ảo thì lại khác. Tham số này là không bắt buốc. Nếu bỏ nhập tên máy
ảo thì PowerShell sẽ hiển thị tình hình cấp phát bộ nhớ cho mọi máy ảo trên server chủ
chỉ định. Nếu muốn rút gọn phạm vi danh sách, hãy chỉ định một hay nhiều máy ảo.
Nếu chỉ nhập lệnh Get-VMMemory không thôi mà không có tham số đi kèm thì câu lệnh
sẽ hiển thị tình hình cấp phát bộ nhớ cho mỗi máy ảo trong server cục bộ.
Như ta thấy trên hình, câu lệnh đã liệt kê kích thước bộ nhớ ảo, giới hạn và bộ nhớ dự trữ
cho mỗi máy ảo.
Những thông tin này có thể hữu ích để tạo ra một file CSV để có thể xem được bằng
Excel dưới dạng bảng trong Excel hơn là một trang Web. May mắn là, PowerShell cũng
có khả năng này. Câu lệnh mà ta sẽ sử dụng để thực hiện việc này gần giống với câu lệnh
được dùng để tạo báo cáo dạng HTML. Tuy nhiên ở đây, thay vì sử dụng ConvertTo-
HTML chúng ta đang sử dụng ConvertTo-CSV. Câu lệnh đầy đủ là:
Get-VMMemory | ConvertTo-CSV | Out-File C:\temp\test.csv
Sau khi file CSV được tạo, bạn có thể kích đúp vào file để mở bằng Excel. Tuy nhiên, nó
sẽ không hiện ra chính xác thông tin. Để nhận đầy đủ và chính xác thông tin, hãy mở
Excel trước, sau đó mới mở file. Excel sẽ khởi chạy Text Import Wizard. Thiết lập cho
Wizard bắt đầu nhập file với Row 2 và thực hiện phân cách dữ liệu như hình bên dưới.
Tiếp theo, đặt tùy chọn phân tách dữ liệu là dấu phẩy. Sau đó kích vào Finish. Dữ liệu sẽ
được nhập như hình dưới đây.
Như vậy, các bạn đã biết cách lấy thông tin dữ liệu về tình hình bộ nhớ máy ảo từ
PowerShell. Ở bài tiếp theo, chúng ta sẽ tìm hiểu cách thay đổi bộ nhớ cấp phát cho các
máy này.