由於發生了單點故障,筆者最近處理了一個case,其中一些經驗非常希望和大家分享。
問題原因:
某環境使用VMware的ESXi5.1的平台搭建的,存儲使用iSCSI進行連接,Manage和業務口分離,但是Manage本身為單點環境非冗余,並且iSCSI的流量也經過該端口進行連接。某日網絡交換機故障導致了存儲與ESXi主機的失聯,等待網絡恢復之后,部分虛擬機自己活了過了,並對外正常提供業務,而部分虛擬機在VCenter中看到灰色不可用狀態,直接登錄到ESXi主機上顯示UnknownNUM字樣。並且事發之后有多個操作人員在奮力齊修,但是始終有幾台虛擬機不能被添加到清單中,體現的樣子如下圖所示。
Figure 1瀏覽存儲添加虛擬機配置文件到清單項目為灰色不可用
問題是這么考慮的
有兩個方向:拼湊虛擬機——通過新建VM,磁盤選擇該文件夾下的VMDK文件;另一個方向就是從VM層面考慮是不是磁盤文件損壞,文件被鎖等問題。
解決問題
根據第一種方法,經過各種拼湊和組裝,最后得到的結果就是怎么都不行,各種報錯中間總會夾雜着文件不能被鎖定、磁盤vmdk依賴的文件不可被訪問等等信息。
那就轉投第二種方法,想到前面查看加載清單出現的狀況,加載清單出現灰色條目表示不可用,但文件有大小,被占用的可能性越來越大,通過登錄到ESXi主機里面直接查看文件占用情況了解到的情況如下:
Figure 2使用vmkfstools -D 查看某文件的鎖定狀態,紅色標記看到Lock字樣標識鎖定,黃色標記表明該文件被這個MAC地址的主機鎖定
現在問題又來了,在管理眾多ESXi主機的VC下面尋找到一個小小的主機MAC目測是件很木亂還要看運氣的事情,有沒有什么便捷的辦法快速定位這個問題?
這里推薦一款VMware相關的第三方小工具RVTools(作者Rob de Veij是VMware公司4年的vExpert),它可以統一查看很多虛擬化和主機信息,包括本例中你的主機MAC,統一查看存儲名稱和內部URL映射關系表,同時這些信息均可以被導出。
Figure 3通過該工具可以在vNIC選項卡下面可以很方便的查找到對應的主機和MAC對應關系
問題得以解決
最后通過VMware Client程序登錄到對應主機,從其中瀏覽存儲,將失聯的虛擬機添加到清單中即可。
小結
解決問題的方向有時候比技術更有指向性,需要在合適的情況下指定合理有效的維修方案,使得問題迅速解決。
RVTools算是本文的干貨軟件,大家可以通過官方鏈接訂閱下載,同時有更新的時候也會通過郵件系統發送到您的郵箱,當然也可以點擊下面的鏈接直接從cnBlogs下載,本地下載3.6版。
本文參考:VMware KB 2180803




