vSAN是VMware推出的用於vSphere系列產品、爲虛擬環境優化的分佈式可容錯的存儲系統。vSAN是VMware對ESXi主機本地存儲設備(包括SSD與HDD)進行集中管理、空間分配使用的一種方式或一種新的技術。如今一些vSphere數據中心已經使用vSAN組成的分佈式存儲代替傳統、專業的共享存儲並得到了更好的性能。在使用vSAN存儲的過程當中,可能會出現一些「不可訪問」的對象。雖然這些「不可訪問」的對象對虛擬機的正常運行不會形成影響,但由於有「不可訪問」對象存在,在正常的vSAN維護中或vSAN磁盤模式升級中,這些「不可訪問」的對象不能遷移到其餘主機會致使進入維護模式或升級vSAN磁盤格式失敗。若是要解決這個問題,就須要強制刪除這些「不可訪問」的對象。下面經過具體的實例進行介紹。shell
(1)某4臺ESXi主機組成的標準vSAN羣集,在「監控→vSAN→運行情況」的「數據→vSAN對象運行情況」中有「不可訪問」的對象,如圖1-1所示。單擊「當即修復對象」按鈕沒法修復。分佈式
圖1-1 vSAN對象運行情況檢查到不可訪問對象ide
(2)這4臺主機原來運行的是vSphere 6.7.0,vSAN磁盤格式是6.0版本,如圖1-2所示。性能
圖1-2 查看當前vSAN磁盤格式優化
(3)在將vSphere 6.7.0 升級到了6.7.0 U1(這包括了vCenter Server與4臺ESXi主機的升級)後,準備升級vSAN磁盤格式。在「配置→vSAN→常規」中的「磁盤格式版本」中單擊「預檢查升級」按鈕,預檢查完成後出現錯誤,單擊「詳細信息」,如圖1-3所示。3d
圖1-3 預檢查升級對象
(4)在「vSAN羣集-升級預檢查問題」提示「沒法升級羣集,對象……」,在此對話框中顯示了沒法訪問的對象。如圖1-4所示。用鼠標選中「沒法升級羣集,對象……」這些信息右鍵用鼠標右鍵單擊複製這些信息並將信息保存在「記事本」中備用。blog
圖1-4 vSAN中沒法訪問的對象ip
【說明】在圖1-4中的信息爲:get
沒法升級羣集: 對象 db6f235b-b856-89dd-6324-0010181a9981, 6238115c-0828-2cc6-3dd3-b8aeedb7689f, c19a245b-f031-9b4f-9b10-b8aeedb7689f 在 vSAN 中沒法訪問。
(5)使用SSH客戶端軟件(例如xShell)登陸到其中一臺ESXi主機(須要在這臺主機啓動SSH服務),在登陸到shell界面後,先執行cd /vmfs/volumes/vsanDatastore命令進入vSAN數據存儲,而後使用objtool命令依次刪除圖1-4中沒法訪問的對象(記錄對象的UUID)。
objtool在/usr/lib/vmware/osfs/bin/目錄中,在圖1-4中有3個不可訪問的對象,其UID依次爲:
db6f235b-b856-89dd-6324-0010181a9981
6238115c-0828-2cc6-3dd3-b8aeedb7689f
c19a245b-f031-9b4f-9b10-b8aeedb7689f
則在SSH中依次執行以下的命令(在vSAN數據存儲根目錄下):
/usr/lib/vmware/osfs/bin/objtool delete -f -u db6f235b-b856-89dd-6324-0010181a9981
/usr/lib/vmware/osfs/bin/objtool delete -f -u 6238115c-0828-2cc6-3dd3-b8aeedb7689f
/usr/lib/vmware/osfs/bin/objtool delete -f -u c19a245b-f031-9b4f-9b10-b8aeedb7689f
如圖1-5所示。
圖1-5 刪除不可訪問的對象
(6)在刪除不可訪問的對象後,在「配置→vSAN→常規」中單擊「預檢查升級」按鈕執行升級前的檢查,執行完成後提示預檢查已成功完成,單擊「升級」按鈕,如圖1-6所示。
圖1-6 升級磁盤格式
(7)在「vSAN羣集-升級」對話框中單擊「是」按鈕,如圖1-7所示。
圖1-7 升級
(8)升級完成後在「磁盤格式版本」中顯示「版本7.0上的全部XX個磁盤」,如圖1-8所示。
圖1-8 升級完成
(8)在「配置 →vSAN→磁盤管理」中能夠看到磁盤格式已經升級到7,如圖1-9所示。
圖1-9 磁盤格式升級完成