■ 石家莊 王春海 馬衛華
某2節點萬兆網卡直連vSAN延伸群集(網絡拓撲如圖1所示),在某一天晚上,工作人員發現首選站點節點1服務器(圖1中IP地址為192.168.251.2的計算機)的一條64GB內存出現問題導致服務器死機。
第二天管理員到單位之后,發現所有的業務虛擬機都無法使用,vCenter Server已經無法連接。
使用vSphere Host Client可以直接登錄到192.168.251.2、192.168.251.3及192.168.251.6等每臺主機,但虛擬機的信息不正常,已經無法顯示虛擬機的名稱。另外,vSAN存儲容量只有其中一臺主機的容量(每臺主機配置了1個磁盤組,每個磁盤組有1塊400GB的SSD,5塊1.2TB的HDD,總容量是10.92TB,現在只有5.46TB)。
在關閉這三臺服務器,然后打開服務器的電源之后,業務仍然沒有恢復。
后來檢查發現,將IP地址為192.168.251.2的故障主機關閉,只打開IP地址為192.168.251.3與192.168.251.6的主機(包括見證虛擬機,IP地址為192.168.251.8),此時包括vCenter Server在內的所有虛擬機都自動啟動并可以對外提供服務。如果此時再打開192.168.251.2的主機,那么所有的虛擬機都會死機。
為了不影響業務的辦理,用戶暫時選擇關閉了192.168.251.2的主機。此時在vSphere Web Client中顯示192.168.251.2無響應,主機已從VC斷開連接。
在“監控→vSAN→虛擬對象”選項中,可以看到所有的服務器都提示“可用性降低但未重建”,如圖2所示。因為此時首選站點節點主機不在線,系統無法重建冗余數據。
在“配置→vSAN→磁盤管理”選項中,看到192.168.251.2狀態為“未響應”,見證主機與192.168.251.3的狀態正常。
在關機之后,用戶使用備用內存,更換了192.168.251.2這臺主機的內存。
晚上下班之后,在不影響業務虛擬機使用的情況下,筆者使用下述的方法修復了192.168.251.2的主機,主要方法與步驟如下。
1.首先使用vSphere Web Client登錄到vCenter Server,并從清單中移除IP地址為192.168.251.2的主機。

圖2 虛擬對象

圖3 系統重置
2.由于IP地址為192.168.251.2的主機無法上線,筆者將192.168.251.2的管理端口網線暫時斷開,等服務器開機并進入控制臺界面之后,按“F2”進入系統配置,在“System Customization”中移動光標到“Reset System Configuration”并回車,在彈出的對話框再次按回車鍵重置系統配置,如圖3所示。在重置后,系統將會重新啟動,root密碼重置為空(無密碼)。
3.再次進入系統后,使用用戶名root、密碼為空登錄系統。進入系統之后,為服務器重新設置管理IP地址,選擇管理網卡,仍然使用原來的IP地址192.168.251.2及原來的網卡端口,并設置為原來的密碼。然后重新插上服務器管理網卡的網線。
4.在vSphere Web Client中,將192.168.251.2加入清單。參照192.168.251.1的網絡設置,為192.168.251.2重新創建虛擬交換機,并為192.168.251.2的主機設置vSAN流量。
5.此時在“群集→配置→磁盤管理”選項中,可以看到192.168.251.2的磁盤組已經添加,但狀態不正常。
6.使用SSH登錄到節點1的ESXi主機,執行“esxcli vsan network ip add -I vmk0 -T=witness”命令,將192.168.251.2的管理地址設置為見證流量。
(7)在“配置→vSAN→故障域和延伸群集”選項中,重新將IP地址為192.168.251.2的主機添加到“首選”站點。需要注意,兩臺節點主機中,必須一臺主機在“首選”站點,一臺在“輔助”站點,其他名稱都不行,如圖4所示。
8.在“配置→vSAN→磁盤管理”中,可以看到192.168.251.2的磁盤組狀態已經正常。
9.在“監控→vSAN→虛擬對象”中,看到大多數的虛擬機狀態都恢復正常,只有一臺虛擬機數據需要重建。在“監控→vSAN→重新同步組件”中,可以看到正在重新同步的組件,當前只有一個磁盤文件需要同步,如圖5所示。

圖4 配置故障域

圖5 查看重新同步組件
10.在“監控→vSAN→運行狀況”中,查看vSAN運行狀況,在解決所有問題后,運行狀態都是顯示“已通過”,此時表示vSAN恢復正常。
這個故障現象比較特殊,因為正常情況下,如果節點主機出現故障,只要修復了節點主機并重新上線,vSAN會重新連接,很少出現vSAN主機都在線而導致虛擬機無法訪問的情況。
因為首選站點的主機上線就會導致vSAN群集出錯,所以本次修復的關鍵就是在首選站點不在線的前提下重新配置首選站點。如果重新配置首選站點,可以重新安裝ESXi,也可以重置ESXi然后再重新配置,本文就選擇了第二種方法。