用PowerShell Cmdlet檢查Hyper-V Replica健康狀態(上)
Hyper-V Replica(副本)是Windows Server 2012中的災難恢復技術,Hyper-V管理器可用來對當前正在運行的虛擬機(VM)的副本健康狀況。
另外,PowerShell cmdlet命令也能夠方便檢查Hyper-V Replica健康狀態。例如,在一個托管了許多主服務器和副本服務器的大環境中,使用Hyper-V管理器采集所有虛擬機的副本健康狀態會花費相當長的時間。Nirmal Sharma在serverwatch上介紹了如何使用PowerShell Cmdlet檢查Hyper-V Replica的健康狀態。
Windows Server 2012中有超過164個PowerShell cmdlet可用于Hyper-V模塊,其中16個專門供Hyper-V Replica使用。在這16個Hyper-V Replica PowerShell cmdlet中,有兩個PowerShell cmdlet可以用來檢查測量Hyper-V Replica狀態并獲得副本統計數據:Get-VMReplication和Measure-VMReplication。
PowerShell cmdlet不僅允許你檢查多個虛擬機的副本健康狀態,它們還提供簡單的副本健康信息并將輸出保存在一個CSV文件中。例如,你可以成功獲得所有虛擬機副本,然后輸出結果并保存到文本或CSV文件進行進一步分析。同樣,你可以訪問所有有具體副本健康狀態的虛擬機,這些健康狀態通常以表格形式復制到特定的副本服務器上。
這兩種cmdlet都會顯示副本健康狀態,但信息不同,如以下截圖所示:
正如你在上圖所看到的,Get-VMReplication cmdlet列出了當前服務器(當前服務器是主服務器)上所有虛擬機的副本健康狀態以及存放虛擬機副本的副本服務器名稱。另外還顯示了與副本服務器交流所使用的協議和網絡端口。如果你需要獲得所有虛擬機的副本健康狀態和副本服務器名稱以及參數,請使用“Get-VMReplication”cmdlet。
另一方面,Measure-VMReplication cmdlet不僅顯示了所有虛擬機的副本健康狀態,還顯示了Get-VMReplication無法獲得的上一次復制時間(LReplTime)和平均復制數據大小(AvgReplSize(m))。
兩個cmdlet有兩個共同屬性,即當前副本健康狀況和虛擬機的狀態。支持Hyper-V Replication的虛擬機可以返回三種副本健康狀態:“正常”、“警告”和“危險”。
如圖所示,輸出的表格中“健康”一列表示的是副本健康狀態。副本狀態總是顯示當前虛擬機的狀態,對應cmdlet輸出的“狀態”列。虛擬機的副本狀態將在下面進行解釋。
如上所述,兩個cmdlet都顯示了一些屬性,但還有一些屬性只能由其他cmdlet顯示。例如,Get-VMReplication和Measure-VMReplication cmdlet都顯示“姓名”、“狀態”和“健康”屬性,但是“FailedOverReplicationType”、“LastTestFAiloverInitiatedTime”以及其他很多的屬性只能作為“Measure-VMReplication”cmdlet的一部分實現。
以下截圖顯示了這兩個cmdlet的屬性:
在上面的截圖可以看到,兩個cmdlet中有一些共同的屬性,但和副本健康統計數據相關的屬性只能通過Measure-VMReplication cmdlet實現。這是因為Get-VMReplication cmdlet提供主服務器和副本服務器的復制關系信息,而Measure-VMReplicaiton cmdlet用于獲取特定的虛擬機副本監控統計數據。