在VMware vSAN群集中,不用怕一個(gè)主機(jī)掉線或死機(jī),也不怕單獨(dú)一個(gè)磁盤組損壞,更不怕單獨(dú)一個(gè)硬盤損壞,最怕的是“主機(jī)分區(qū)”。當(dāng)出現(xiàn)分區(qū)時(shí),vSAN存儲(chǔ)會(huì)部分或全部不能使用,導(dǎo)致虛擬機(jī)不能啟動(dòng)或正在運(yùn)行的虛擬機(jī)死機(jī)。
VMware vSAN群集出現(xiàn)分區(qū)的主要原因有:
1.網(wǎng)絡(luò)問題:這些問題包括vSAN節(jié)點(diǎn)主機(jī)之間,vSAN流量網(wǎng)卡網(wǎng)絡(luò)不通;vSAN見證主機(jī),vSAN見證流量網(wǎng)絡(luò)不通,或vSAN數(shù)據(jù)流量網(wǎng)絡(luò)中斷。
2.版本問題:vSAN見證虛擬機(jī)版本與vSAN節(jié)點(diǎn)主機(jī)版本不一致,主要是vSAN見證虛擬機(jī)版本低于vSAN節(jié)點(diǎn)主機(jī)版本。
3.存儲(chǔ)提供程序脫機(jī)。下面通過具體實(shí)例介紹。
圖1 某4節(jié)點(diǎn)vSAN群集拓?fù)鋱D
要檢查vSAN分區(qū)問題,需要先了解vSAN群集節(jié)點(diǎn)主機(jī)數(shù)量,知道每個(gè)節(jié)點(diǎn)的管理IP地址、vSAN流量IP地址,最好是根據(jù)拓?fù)鋱D檢查。例如圖1所示為某4節(jié)點(diǎn)vSAN群集的拓?fù)洌疚囊栽撏負(fù)錇槔M(jìn)行介紹。
根據(jù)拓?fù)鋱D,記住vSAN群集中每個(gè)主機(jī)的管理地址(例如ESXi41的管理地址 是 172.18.96.41)、vSAN流量VMkernel的IP地址(例如ESXi41的vSAN地址是172.18.93.41)。
1.使 用vSphere Web Client登 錄vCenter,依次檢查每臺(tái)主機(jī)的“配置→網(wǎng)絡(luò)→VMkernel適配器”,查看vSAN流量的VMkernel的IP地址以及是否啟用vSAN流量。
2.檢查每臺(tái)主機(jī)配置正確之后,使用SSH工具登錄到其中一臺(tái)主 機(jī)(例 如 172.18.96.41),使用esxcli vsan network list命令查看啟用vSAN流量的網(wǎng)卡。
3.使用“esxcli network ip interface ipv4 get”命令查看當(dāng)前主機(jī)IP地址配置,得知當(dāng)前主機(jī)有兩個(gè)IP地址,分別是172.18.96.41(管理地址)、172.18.93.141(vSAN流量地址)。
4.檢查到其他主機(jī)管理端口的連通性,使用Ping命令,依次Ping其他主機(jī)管理地址,例如:
ping 172.18.96.42
ping 172.18.96.43
ping 172.18.96.44
5.檢查到其他主機(jī)vSAN流量的連通性,使用Ping命令,依次Ping其他主機(jī)vSAN流量地址,例如:
ping 172.18.93.142
ping 172.18.93.143
ping 172.18.93.144
6. 如果第(4)、(5)兩步全部連通,訪問正常,表示vSAN分組不是由于網(wǎng)絡(luò)問題造成的,需要檢查其他原因。如果到某臺(tái)主機(jī)的管理流量或vSAN流量不通,則檢查該主機(jī)的配置或網(wǎng)線連接情況。也可以使用ssh登錄該主機(jī)(網(wǎng)絡(luò)或vSAN流量不通)做進(jìn)一步的檢查。
如果配置無誤,在vSAN群集的“配置→vSAN→磁盤管理”中,可以看到所有主機(jī)都在“組1”。
圖2 某2節(jié)點(diǎn)延伸群集主機(jī)情況
使 用“esxcli vsan network ip set”命 令 將管理VMkernel網(wǎng)絡(luò)適配器配置為支持見證流量,該命令要求在圖形界面中為VMkernel網(wǎng)絡(luò)啟用vSAN流量服務(wù),該命令將vSAN流量設(shè)置為見證流量。
esxcli vsan network ip set -i vmk0 -T=witness
如果未在圖形界面中將VMkernel網(wǎng)絡(luò)啟用vSAN流量服務(wù),可以直接為VMkernel增加vSAN見證流量,命令如下:
esxcli vsan network ip add -i vmk0 -T=witnes
最后,可以使用“esxcli vsan network list”命令驗(yàn)證新網(wǎng)絡(luò)配置,命令如下:
esxcli vsan network list
對于2節(jié)點(diǎn)直連的vSAN延伸群集,其vSAN見證流量與vSAN數(shù)據(jù)流量相分離,在這種類型的vSAN群集中,在圖形界面中不能檢查vSAN見證流量配置在哪一個(gè)VMkernel上,需要使用ssh登錄到節(jié)點(diǎn)主機(jī)檢查。本文以圖2所示為例進(jìn)行介紹。
該vSAN延 伸 群 集的兩個(gè)節(jié)點(diǎn)主機(jī)管理地址 分 別 是10.66.64.28、10.66.64.29;對 應(yīng) 的 vSAN流量地址是172.31.255.28、172.31.255.29;見 證 主 機(jī)管理地址為10.66.64.24,vSAN流 量IP地 址 是10.66.64.34。
1.在“配置→vSAN→磁盤管理”中檢查到見證主機(jī)在組1,2臺(tái)節(jié)點(diǎn)主機(jī)在組2。
2.在“監(jiān) 控 → vSAN→運(yùn)行狀況”測試失敗,提示“vSAN群集分區(qū)”。
3.使 用ssh登 錄10.66.64.28主 機(jī),執(zhí) 行“esxcli vsan network list”命令查看啟用vSAN流量的網(wǎng)卡,通過命令查看得知vmk0為vSAN見證流量網(wǎng)卡,vmk1為vSAN流量網(wǎng)卡。
4.使 用“esxcli network ip interface ipv4 get”命令查看當(dāng)前主機(jī)IP地址配置。vmk0的 IP地址 是10.66.64.28(vSAN見 證 流 量),vmk1的IP地 址是172.31.255.28(vSAN流量)。
5.使用Ping命令Ping另一節(jié)點(diǎn)主機(jī)的vSAN流量地址(172.31.255.29)、Ping 見證虛擬機(jī)的vSAN流量地址10.66.64.34,都能Ping通。此檢查表示vSAN分區(qū)不是由網(wǎng)絡(luò)問題引起的。
6.在vSphere Web Client管理控制臺(tái),在“監(jiān)控→vSAN→運(yùn)行狀況”中,經(jīng)過檢查出現(xiàn)“軟件版本兼容性”的失敗信息,提示升級(jí)主機(jī)的ESXi軟件。
7.檢查節(jié)點(diǎn)主機(jī)、見證虛擬機(jī)的ESXi版本,發(fā)現(xiàn)見證虛擬機(jī)的版本較低。
經(jīng)過分析,是用戶升級(jí)了ESXi主機(jī)但未升級(jí)見證虛擬機(jī),導(dǎo)致了vSAN群集出現(xiàn)分區(qū)。知道問題原因之后,故障解決就比較簡單了。部署一臺(tái)與ESXi節(jié)點(diǎn)主機(jī)同版本的見證虛擬機(jī),在“配置→vSAN→故障域和延伸群集”中單擊“更改見證主機(jī)”,將見證主機(jī)改為新部署的見證設(shè)備即可。
圖3 5節(jié)點(diǎn)vSAN群集
通常情況下更改了見證虛擬機(jī)之后,即可解決vSAN群集分區(qū)問題。但更改見證主機(jī)之后,經(jīng)過檢查發(fā)現(xiàn)仍然存在分區(qū)現(xiàn)象。
在vSphere Web Client控制臺(tái)中,左側(cè)單擊vCenter Server的名稱,在“配置→存儲(chǔ)提供程序”中,發(fā)現(xiàn)新添加的10.66.64.24的見證虛擬機(jī)為 “脫機(jī)”狀態(tài)。
選中狀態(tài)為脫機(jī)的10.66.64.24的見證虛擬機(jī),單擊“X”取消注冊選中的儲(chǔ)提供程序,然后單擊“”按鈕將所有存儲(chǔ)提供程序與環(huán)境的當(dāng)前狀態(tài)同步,等脫機(jī)的存儲(chǔ)提供程序狀態(tài)為“聯(lián)機(jī)”后,vSAN群集分區(qū)的故障解決。
如果是全新組建的標(biāo)準(zhǔn)VMware vSAN群集,出現(xiàn)分區(qū)現(xiàn)象一般是網(wǎng)絡(luò)問題。如果是2節(jié)點(diǎn)直通的vSAN群集,出現(xiàn)分區(qū)現(xiàn)象一般是版本、存儲(chǔ)提供程序脫機(jī)或網(wǎng)絡(luò)問題。如果是已配置好了vSAN群集,新增加的節(jié)點(diǎn)主機(jī)與原有的主機(jī)出現(xiàn)分區(qū)現(xiàn)象,則可使用vSAN工具修復(fù)。下面通過具體實(shí)例介紹。
在 圖3中, 最 初ESXi01~ESXi04共4臺(tái)主機(jī)組成vSAN群集,其管理地址分別是202.206.195.91~202.206.195.94, 其 vSAN 流量地址分別為192.168.11.91~ 192.168.11.94;后來添加了ESXi05到vSAN群集中,在配置了管理地址202.206.195.95及vSAN流量的VMkernel的IP地址192.168.11.95后,出現(xiàn)分區(qū)。
對于出現(xiàn)的vSAN群集分區(qū)現(xiàn)象,在檢查新添加的vSAN節(jié)點(diǎn)主機(jī)的網(wǎng)絡(luò)連接,并 且 使 用ssh登錄到節(jié)點(diǎn)主機(jī),使用Ping等命令檢查后,發(fā)現(xiàn)分區(qū)不是由于網(wǎng)絡(luò)問題引發(fā)的。
在導(dǎo)航器左側(cè)選中vSAN群 集(本 示 例 中vSAN群集名稱 為 JGZX),在“監(jiān)控→vSAN→運(yùn)行狀況”中,發(fā)現(xiàn)“失敗 vSAN群集分區(qū)”的提示,并在分區(qū)列表中顯示了分區(qū)主機(jī)名稱及分區(qū)情況。
在“群集→ vCenter狀態(tài)具有權(quán)威性”檢查失敗,單擊“更新ESXi配置”按鈕,更新ESXi主機(jī)成員資格。
在“群 集 → vSAN群集配置一致性”中,提示202.206.195.95(這是新添加的vSAN節(jié)點(diǎn)主機(jī))的網(wǎng)絡(luò)配置未同步,單擊“修復(fù)不一致的配置”按鈕。在彈出的“確認(rèn)-更新ESXi配置”對話框中,單擊“是”按鈕。
更新之后,再次返回到“配置→磁盤管理”中,可以看到所有vSAN主機(jī)牌“組1”,分區(qū)問題解決。