GiámsátHyper-Vbằngdònglệnh(Phần3):Kiểmtra
trạng tháimáyảo
Bài viết trước đã hướng dẫn các bạn cách bật và tắt máyảobằngdòng lệnh. Bài viết
này sẽ giới thiệu hai phương pháp xác thực rằng các máyảo đang chạy và có hồi
đáp.
Lưu ý rằng những câu lệnh sử dụng không thuộc Hyper-V. Chúng nằm trong thư viện
giám sát Hyper-V. hơn nữa, thư viện này phải được nhập vào trong PowerShell mỗi lần
bạn định sử dụng bất kỳ câu lệnh nào 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 chỉ dẫn đầy đủ về cách tải và cài đặt thư viện giámsátHyper-V đã được cung cấp
trong phần 1 của chuỗi bài này.
Các câu lệnh tìm lỗi
Các nhà quản trị thường phụ thuộc vào lệnh ping để kiểm thử kết nối của máy chủ. Rất
đơn giản. Thực hiện lệnh ping đến máy và xem có hồi đáp hay không. Mặc dù lệnh ping
hoạt động tương đối tốt, nhưng có một lệnh trong PowerShell tên là Ping-VM cũng được
thiết kế chuyên dụng để ping các máy ảo.
Trước hết, lệnh Ping-VM dường như dư thừa và cú pháp đôi chút phức tạp hơn so với
lệnh ping thông thường, nhưng câu lệnh có những ưu điểm riêng. Lệnh ping-VM yêu cầu
người dùng cung cấp tên máyảo muốn ping và tên của server chủ. Ví dụ như, Nếu ta
muốn ping một máyảo có tên Lab-DC đang hoạt động trên một máy chủ tên là Hyper-V
thì cấu trúc lệnh sẽ là:
Ping-VM “Lab-DC” –Server Hyper-V
Khi câu lệnh này được thực hiện, lệnh Ping-VM sử dụng các dịch vụ tích hợp trên máy
ảo để tìm Fully Qualified Domain Name và sau đó nó thực hiện một lệnh ping ICMP.
Có hai lý do để sử dụng Ping-VM thay vì Ping. Đầu tiên, Ping-VM nhận diện được máy
ảo. Thứ hai, Ping-VM có thể chạy cới nhiều máyảo nhờ sử dụng các wildcard. Để minh
họa cho những khái niệm này, hãy cùng quan sát hình dưới đây. Server chủ có một vài
máy ảo (Lab-). Ta sẽ thực hiện lệnh đối với những máyảo này. Ping-VM đã trả về thông
tin trên 6 máyảo và thậm chí có thể xác định những máyảo nào đã bị tắt.
Cũng có thể sử dụng Ping-VM để kiểm tratrạngthái máy ảo nằm trên máy host. Để làm
điều này, chỉ cần thay thế tên máyảobằng dấu hoa thị. Bạn thậm chí có thể làm nhiều
hơn và hiển thị một bản tin cảnh báo cho bất kỳ máyảo nào đang chạy, nhưng lại không
ping được. Câu lệnh là:
Get-VM –r | foreach-object {if ((Ping-VM $_).StatusCode –ne 0) {“$($_.elementname) is
inaccessible”} }
Câu lệnh không cho kết quả đầu ra nếu các máyảo được ping thành công.
Ngoài ra, lệnh Ping-VM còn được dùng để ping những máyảo trên nhiều host Hyper-V.
Chỉ cần cấp tên của mỗi máy host mà bạn muốn ping. Các tên máy phải được ngăn cách
bằng dấu phẩy. Ví dụ như, nếu bạn muốn ping tất cả những máyảo trên Hyper-V1,
Hyper-V2 và Hyper-V 3 thì câu lệnh sử dụng là:
Ping-VM*-Server Hyper-V1,Hyper-V2,Hyper-V3
Kiểm tratrạngthái máy ảo
Không những có thể sử dụng Ping-VM để xem máyảo có hồi đáp hay không, người dùng
còn có thể sử dụng lệnh Test-VmHeartBeat. Giống như Ping-VM, lệnh Test-
VMHeartBeat phụ thuộc vào những dịch vụ tích hợp đang chạy trên máyảo được kiểm
thử.
Cú pháp lệnh tương đối đơn giản. Người dùng phải chỉ định tên máyảo và thời hạn. Thời
hạn được tính bằng giây. Lệnh Test-VmHeartBeat sẽ kiểm tratrạngthái mỗi 5 giây một
lần cho đến khi hết thời gian qui định.Ví dụ như, Nếu bạn muốn kiểm tratrạngthái máy
ảo trong 5 phút, hãy đặt thời hạn là 300. Quan sát hình bên dưới để thấy rõ hơn cho máy
ảo Lab-DC.
Giống như lệnh Ping-VM, người dùng có thể sử dụng Wildcard của tên máyảo và chỉ
định nhiều server chủ.
Do Ping-VM và Test-VMHeartBeat đều sử dụng để kiểmtra đáp ứng máyảo nên người
dùng có thể phân vân nên sử dụng lệnh nào.
Nếu muốn một báo cáo trạngthái nhanh từ toàn bộ máyảo (kể cả những máy không hoạt
động) thì tốt hơn hết nên sử dụng Ping-VM. Lý do là Test-VMHeartBeat sẽ chặn và chờ
hết thời hạn cho mỗi máyảo mà hiện bị tắt. Ví dụ như, giả sử server chủ có 10 máy ảo,
nhưng chỉ có 5 trong số đó đang hoạt động lúc này. Ta thực hiện lệnh sau:
Test-VmHeartBeat*-Timeout 300
Câu lệnh sẽ mất tới đúng 25 phút để hoàn thành do lệnh Test-VM sẽ đợi cho đủ 5 phút
trong khi kiểmtra mỗi máyảo bị tắt. Ngược lại, lệnh Ping-VM sẽ cung cấp thông tin
trạng thái cơ bản tương tự, nhưng sẽ hoàn thành gần như tức thì.
Mặc dù vậy, Test-VmHeartBeat lại đặc biệt hữu dụng khi các máyảo cần được khởi động
lần lượt. Ví dụ như, Lab-DC cần được khởi chạy trước Exchange Server (Lab-E2K10).
Sử dụng lệnh Test-VmHeartBeat để kiểmtra xem Lab-DC có đang chạy trước Exchange
Server hay không. Để khởi động hai server này tuần tự, ta có thể sử dụng câu lệnh như
sau:
Start-vm “Lab-DC” ; Test-VmHeartBeat “Lab-DC” –Timeout 300; Start-vm “Lab-
E2K10”
Ở hình trên, người dùng có thể thấy PowerShell khởi động Lab-DC và sau đó dừng lại để
chờ đợi trạngtháimáyảo được ghi nhận. sau khi Lab-DC hoạt động, Exchange Server
được khởi động như hình dưới.
Kết luận
Bây giờ, bạn đã biết cách kiểm tratrạngthái máy ảobằngdòng lệnh. Trong phần tiếp
theo, chúng ta sẽ cùng xem một số thủ thuật điều chỉnh bộ nhớ cấp phát cho máy ảo.
. Giám sát Hyper-V bằng dòng lệnh (Phần 3): Kiểm tra
trạng thái máy ảo
Bài viết trước đã hướng dẫn các bạn cách bật và tắt máy ảo bằng dòng lệnh. . Hyper-V 3 thì câu lệnh sử dụng là:
Ping-VM*-Server Hyper-V1 ,Hyper-V2 ,Hyper-V3
Kiểm tra trạng thái máy ảo
Không những có thể sử dụng Ping-VM để xem máy