天天看點

Vmware挂載san存儲_vSphere 6.x 共享存儲LUN丢失分區表修複(精華)

炎炎夏夜客戶機房空調意外故障,前端ESXI實體伺服器由于溫度過高都自保關機,存儲和SAN沒有自保關機。上班修複空調後,檢查存儲,檢查SAN無異常。開始開機ESXI主機,開機完後發現存儲映射的兩個LUN全部消失,重新開機存儲,重新開機ESXI都無效。

經過檢查,在ESXI上新增存儲可以看見兩個LUN,但是新增提示需要格式化LUN,此處絕對不能選擇新增然後格式化,否則資料就沒了。根據官方KB判斷應該是分區表丢失了。

https://kb.vmware.com/s/article/2046610?lang=zh_CN     此連結已經失效

下面根據官方KB進行修複:

1,開啟ESXI SSH ,檢視所有硬碟分區資訊 ,執行下面指令。

ls -lh /vmfs/devices/disks/

如下圖,存儲映射的兩個17T的LUN,無分區表

 剛開始做的時候上圖是比較難了解的

這裡我們需要記下的是缺少挂載的卷的naa(根據實際情況),這裡舉例:

naa.604338910030fb67000b599800000000

naa.604338910030fb67000b59fd00000001

2,繼續運作partedUtil 指令,并驗證輸出是否類似于以下内容,分别對兩個LUN進行驗證:

partedUtil  getptbl   /vmfs/devices/disks/naa.604338910030fb67000b599800000000

partedUtil  getptbl   /vmfs/devices/disks/naa.604338910030fb67000b59fd00000001 

驗證該指令的輸出是否類似于以下内容:(下面的内容為分區表不缺少的情況下查詢到的内容)

gpt

52216 255 63 838860800 1 2048 838850039 AA31E02A400F11DB9590000C2911D1B8 vmfs 0 

如果輸出類似于以下内容,則說明缺少分區,如下圖缺少分區。這種情況下,必須重新建立丢失的 VMFS 分區表的資訊。

52216 255 63 838860800 

3,  擷取分區的結束塊,運作以下指令: 

partedUtil getUsableSectors   /vmfs/devices/disks/naa.604338910030fb67000b599800000000

partedUtilgetUsableSectors    /vmfs/devices/disks/naa.604338910030fb67000b59fd00000001 

你會看到以下輸出:

34 36805017566

Vmware挂載san存儲_vSphere 6.x 共享存儲LUN丢失分區表修複(精華)

4,運作以下指令,為最後一個可用塊設定正确的值,注意:確定根據您的環境在該指令中使用适當的值。 

partedUtil setptbl /vmfs/devices/disks/naa.604338910030fb67000b599800000000 gpt "1 2048 36805017566  AA31E02A400F11DB9590000C2911D1B8 0"

partedUtil setptbl /vmfs/devices/disks/naa.604338910030fb67000b59fd00000001 gpt "1 2048 36805017566  AA31E02A400F11DB9590000C2911D1B8 0"  

紅色數字表示最後一個可用塊,替換為你環境中的值。

這裡說明下:1  2048    是固定格式     網上說的和實際生産環境中都驗證可行  

                      AA31E02A400F11DB9590000C2911D1B8    也是固定格式,可以在 getptbl 指令查詢正常分區的時候得到該值

                      36805017566為分區表的結束塊

5, 運作vmkfstools –V指令以嘗試挂載 VMFS 資料存儲,運作完後,就能在前端看到存儲,如上圖。

 vmkfstools –V

PS: 以上為比較順利的情況,如有其它不同資訊,請根據官方KB中的其它方式進行處理。 

注意:第五步可以不用執行,直接在ESXI上重新整理分區,丢失的lun找回!!1