Giám sát Hyper-V bằng dòng lệnh (Phần 4)
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 ng o cáo. May mắn là, người dùng vẫn
thty 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>”
Vthuyết, -Server” tham scần thiết, nhưng nếu bỏ tham số này thì lệnh
Get-VMMemory struy vấn tới server cục btheo mặc định. Thường thì người
dùng schỉ định một server nhất định những cũng 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 stên máy ảo thì lại khác. Tham số này 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 cp phát bộ nhớ cho mọi máy ảo trên
server chchỉ định. Nếu muốn rút gọn phm 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 không 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à bnhớ
dự trữ cho mỗi máy ảo.
Mặc dù rất tiện dụng khi thể xem kích thước bộ nhớ ảo, giới hạn và bnhớ dự
trcho mỗi máy ảo, nhưng bạn cũng thể thực sự sử dụng Get-VMMemory để
nhận được nhiều thông tin liên quan bnhớ hơn nữa. Để làm điều này, ta scần
biết tên các thuộc tính được hỗ trợ bởi cmdlet Get-VMMemory.
Để xem danh sách tất cả các thuộc tính có sẵn, nhập câu lệnh sau:
Get-VMMemory | Get-Member –MemberType *Property | Select-Object Name
Như hình trên, VirtualQuantity, Limit Reservation nm trong số c thuộc tính
được liệt kê, nhưng rất nhiều thuộc tính khác. Bạn có thể sử dụng lệnh Get-
VMMemory để hiển thị bất kỳ tập thuộc tính nào. Gi sử khi muốn xem
VMElementName, Address và AllocationUnits, nhập câu lệnh sau:
Get-VMMemory | FT VMElementName, Address, AllocationUnits
Tạo báo cáo bộ nhớ
Nếu muốn lưu lại thông tin bộ nhớ để sử dụng sau đó thì một giải pháp là xuất
kết quả đầu ra của cmdlet Get-Memory thành một file HTML.
S dụng câu lệnh sau:
Get-VMMemory | ConvertTo-HTML | Out-File C:\temp\Test.HTM
Như hình dưới, câu lệnh này không hin kết quả đầu ra. Đó là do đầu ra câu lệnh
đang được chuyển hướng thành một file HTML tên C:\temp\test.htm. Bạn
thsử dụng Windows Explorer để cấp phát và mfile nhưng thay vào đó ta cũng
có thmở file mà không phải rời khỏi PowerShell. Chỉ cần nhập lệnh sau:
Invoke-Expresson C:\temp\test.htm
Nếu quan sát hình dưới đây, ta sẽ thấy rằng lệnh này khởi chạy Internet Explorer
hin thị file HTML chúng ta đã to ra. Hơn nữa, các báo cáo dưới dạng
HTML trông khác rất nhiều so với báo cáo bên trên mặc dù chai lệnh đều s
dụng Get-VMMemory không bất kỳ tham số phụ nào. Trên thực tế, nếu
nhìn xuống cuối màn hình báo cáo, bạn sẽ thấy một thanh cuộn chỉ thị rằng còn
nhiều dữ liệu được hiển thị hơn.
Những thông tin này 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 một trang Web. May mắn là,
PowerShell cũng khả năng này. Câu lệnh mà ta ssử 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ì sdụng ConvertTo-HTML chúng ta đang sdụ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 thkích đúp vào file để mở bằng Excel. Tuy
nhiên, nó skhô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 thực hiện phân cách
dữ liệu như hình bên dưới.