Posted by : Unknown
6/9/12
Trong 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.
Mặc dù rất tiện dụng khi có thể xem kích
thước bộ nhớ ảo, giới hạn và bộ nhớ dự trữ cho mỗi máy ảo, nhưng bạn
cũng có thể thực sự sử dụng Get-VMMemory để nhận được nhiều thông tin
liên quan bộ nhớ hơn nữa. Để làm điều này, ta sẽ cầ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 và
Reservation nằm trong số các thuộc tính được liệt kê, nhưng có 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ì có 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 hiện
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 là C:\temp\test.htm. Bạn có thể sử dụng Windows
Explorer để cấp phát và mở file nhưng thay vào đó ta cũng có thể mở file
mà không phải rời khỏi PowerShell. Chỉ cần nhập lệnh sau:
Invoke-Expression 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 và hiển thị file HTML mà chúng
ta đã tạo 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ù cả hai lệnh đều sử dụng Get-VMMemory mà
không có 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 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.
NamNguyen (Theo VirtualizationAdmin) |
Bài viết liên quan :
- Trang chủ »
- Ebook - Lập trình , Windows »
- Giám sát Hyper-V bằng dòng lệnh
{ 0 nhận xét }