使用PowerShell小命令檢查Hyper-V復制健康狀況
譯文Hyper-V復制(Hyper-V Replica)是隨Windows Server 2012推出的一項災難恢復技術,而Hyper-V管理器(Hyper-V Manager)是一款使用方便的工具,可以檢查目前在運行的所有虛擬機的復制健康狀況。
不過,有時候你想使用PowerShell小命令(cmdlet),檢查復制健康狀況。比如說,在運行許多主服務器和復制服務器的大型環境中,使用Hyper-V管理器收集所有虛擬機的復制健康狀況可能要花相當長的時間。
有164多個PowerShell小命令適用于Windows Server 2012上的Hyper-V模塊;其中16個小命令是專門為了與Hyper-V復制技術結合使用而設計的。在這16個Hyper-V復制PowerShell小命令中,有兩個PowerShell小命令可以用來檢查Hyper-V復制狀況,并獲得復制統計數據:Get-VMReplication和Measure-VMReplication。
PowerShell小命令不僅允許你檢查多個虛擬機的復制健康狀況,它們還提供了復制健康狀況方面的低層信息,然后將輸出結果保存在一個CSV文件中。比如說,你可以獲得所有虛擬機的上一次成功復制狀況,然后將輸出結果保存在文本或CSV文件中,供進一步分析。同樣,你可以訪問擁有特定復制健康狀況,目前復制到表格中特定復制服務器的所有虛擬機的名稱。
這兩個小命令都顯示了復制健康狀況,但是有著不同的信息,如下面屏幕截圖顯示:
屏幕截圖1
正如你從上面屏幕截圖所見,Get-VMReplication小命令顯示了當前服務器(當前服務器充當主服務器)上所有虛擬機的復制健康狀況,還顯示了復制服務器名稱――虛擬機復制到該復制服務器。它還顯示了與復制服務器進行溝通所用的協議和網絡端口。如果你需要獲得所有虛擬機的復制健康狀況連同復制服務器名稱及其參數,那就使用Get-VMReplication小命令。
另一方面,Measure-VMReplication小命令不僅顯示了所有虛擬機的復制健康狀況,它還顯示了上一次復制時間(LReplTime)和平均復制數據大小(AvgReplSize(m)),這兩個信息都沒有顯示在"Get-VMReplication小命令中。
這兩個小命令都實現了兩種共有的屬性,表明了當前復制健康狀況和虛擬機的狀態。被啟用進行Hyper-V復制的虛擬機會返回三種復制健康狀況中的一種:“Normal”(正常)、“Warning”(等待)或“Critical”(危急)。
復制健康狀況顯示在輸出表格中的“Health”(健康)這一列。復制狀態總是表明了虛擬機的當前狀態,這體現在小命令輸出結果中的“State”(狀態)這一列,如上面屏幕截圖所示。虛擬機的復制狀態附有簡短介紹。
如之前解釋的那樣,幾個屬性是這兩個小命令都顯示的,但是一些屬性只出現在其中一個小命令中。比如說,“Name”(名稱)、“State”(狀態)和“Health”(健康)這三個屬性是Get-VMReplication小命令和Measure-VMReplication小命令都顯示的,但是“FailedOverReplicationType”、“LastTestFAiloverInitiatedTime”及另外許多屬性只作為Measure-VMReplication小命令的一部分而實現的。
下面屏幕截圖顯示了這兩個小命令實現的屬性:
屏幕截圖2
你從上面這個屏幕截圖可以看到,有幾個屬性是這兩個小命令共有的,但是與復制健康統計數據有關的屬性卻只出現在Measure-VMReplication小命令中。這那是由于Get-VMReplication小命令提供了主服務器與復制服務器復制關系方面的信息,而Measure-VMReplicaiton小命令用來獲得某一個虛擬機的復制健康統計數據。
萬一復制遇到了任何問題,或者如果你看到任何虛擬機出現“危急”或“等待”的復制健康狀況,那么可以使用Measure-VMReplication小命令,獲得復制健康統計數據。
Get-VMReplication小命令和Measure-VMReplication小命令都支持-ComputerName參數,這個參數讓你可以獲得遠程Hyper-V服務器方面的復制健康數據,如下面屏幕截圖所示:
屏幕截圖3
除了-ComputerName參數外,這兩個小命令還支持另外許多參數。比如說,如果你只需要查看主虛擬機(即從主服務器復制到復制服務器的虛擬機)列表,可以使用帶“Primary”值的-ReplicationMode,如下面屏幕截圖所示:
屏幕截圖4
主服務器還可以充當復制服務器,從另一臺主服務器復制虛擬機,但這不是生產環境下的理想配置。在這樣一種配置中,“Mode”(模式)這一列會顯示“Primary”,表示主虛擬機,顯示“Replica”表示復制虛擬機。
提示:在你開始排查問題之前,有必要了解虛擬機所處的不同模式。由于Hyper-V復制是單向的(從主服務器復制到復制服務器),勢必總是可以從主服務器獲得復制健康狀況,以獲得更多的數據,供進一步排查所用。
與-ReplicationMode相似的是,還有一個-ReplicationState參數,讓你可以檢查特定的復制狀態。比如說,想列出獲得沒有在復制或處于“Error”(出錯)復制狀態的所有虛擬機,你就可以使用下面這個命令:
屏幕截圖5
正如你從上面屏幕截圖所見,Get-VMReplication命令只列出了處于“Error”(出錯)復制狀態的虛擬機。你還可以借助-ReplicationState參數,指定其他的復制狀態。虛擬機可能處于下列復制狀態中的一種:
·Error:如果虛擬機不再復制,或出現了錯誤,就顯示這個復制狀態。
·FailOverWaitingCompletion:這個狀態表明故障切換仍在進行中。
·FailedOver:這個狀態表明虛擬機故障切換已完成。
·NotApplicable:如果虛擬機未參與Hyper-V復制,就顯示“NotApplicable”狀態。
·ReadyForInitialReplication:如果虛擬機已啟用了Hyper-V復制,但是初始復制還沒有完成,就顯示這個復制狀態。這個復制狀態顯示在主服務器上,或針對主虛擬機。
·Replicating:虛擬機在正常復制。
·Resynchronizing:重新同步事件已自動觸發,或被管理員觸發。
·ResynchronizeSuspended:重新同步過程被暫停。
·Suspended:虛擬機被掛起。換句話說,復制被暫停。
·SyncedReplicationComplete:虛擬機的重新同步已成功完成。
·WaitingForInitialReplication:這個狀態顯示在復制虛擬機上。這表明已針對虛擬機啟用復制,并且在復制服務器處為虛擬機創建了指針,但初始復制還沒有完成。在主服務器上,“ReadyForInitialReplication”復制狀態會顯示。
·WaitingForStartResynchronize:如果需要進行重新同步,虛擬機可能進入這個復制狀態。
提示:對參與Hyper-V復制的任何虛擬機而言,“State”(狀態)這一列應該報告“Replicating”的狀態,而“Health”(健康)這一列應該報告“Normal”的狀態。
http://www.serverwatch.com/server-tutorials/checking-hyper-v-replication-health-using-powershell-cmdlets.html
























