1. 程式人生 > >恢復誤刪除的ESXi服務器存儲VMFS卷

恢復誤刪除的ESXi服務器存儲VMFS卷

partedutil vmfs卷 esxi 恢復

如果不小心誤刪除了VMFS卷,使用partedUtil命令恢復即可。partedUtil是VMware ESXi的命令行實用程序,可以在ESXi上直接操作本地和遠程 SAN 磁盤的分區表。

【說明】只有 ESXi 5.x 上的磁盤分區才支持使用 partedUtil 命令行。命令行實用程序 fdisk 不能用於采用 VMFS5 格式的 LUN。本文用於VMware ESXi 5.x、VMware ESXi 6.0格式化為VMFS 5的卷。

當前有一臺DELLR 730XD的服務器,其中10塊硬盤使用RAID-50劃分為2個卷,第1個卷30GB,安裝ESXi 6.5.0系統,第2個卷使用剩余空間,大小29.08TB,如圖1-1所示。

技術分享圖片

圖1-1 VMFS卷

從圖1-1中可以看到,這個29.08TB的設備名稱為naa.61866da07cda6500209430db1f953ce5;30GB的設備名稱是61866da07cda650020942f720a174f8c。

下面我們模擬這個操作(當前是測試機器,請勿在生產機器、有重要數據機器實驗,否則由此造成的損失,本文概不負責!)

(1)在“存儲設備”中右擊29.08TB的存儲,右擊選擇“刪除數據存儲”,如圖1-2所示。

技術分享圖片

圖1-2 刪除數據存儲

(2)在彈出的“確認刪除數據存儲”對話框中,單擊“是”按鈕,如圖1-3所示。

技術分享圖片

圖1-3 確認刪除數據存儲

(3)此時在“數據存儲”列表中已經沒有該存儲,如圖1-4所示。

技術分享圖片

圖1-4 無29TB存儲

(4)但在“存儲設備”列表中仍然可以看到該存儲容量及設備名稱,如圖1-5所示。

技術分享圖片

圖1-5 存儲設備查看名稱

使用SSH登錄到ESXi主機,通過命令查看磁盤列表、查看分區信息然、創建分區表。下面一一介紹。

(1)查看磁盤列表,在命令提示符中執行:

ls /vmfs/devices/disks

命令結果如圖1-6所示。

技術分享圖片

圖1-6 查看磁盤列表

此時可以看到設備名為“naa.61866da07cda6500209430db1f953ce5”已經無分區表,如果有分區表,例如設備名“naa.61866da07cda650020942f720a174f8c”(這是ESXi系統卷,該卷有多個分區),後面會有:1的分區數目及vlm的名稱。如果我們要恢復分區表,只要為這個29TB創建分區表即可恢復。

【說明】在圖1-6中看到的“naa.500080dc004ff330”是圖1-1中的大小為447GB的SSD磁盤,而“naa.500080dc004ff330:1”表示這個磁盤的第1個分區,對應圖1-4中的data-ssd01卷。圖1-6中的磁盤列表、分區列表與圖1-1、圖1-4的對應關系如表1-1所示。

表1-1 設備標識符、設備名稱、數據存儲名稱說明

ESXi中設備標識符

圖1-1中的“設備”名稱

圖1-4中的數據存儲名稱

說明

naa.500080dc004ff330

SSD、447GB


一個500GB的固態硬盤

naa.500080dc004ff330:1


data-ssd01


naa.50014ee0042fd6fd

非SSD、4TB



naa.50014ee0042fd6fd:1


VMFS-Backup-4TB

1個4TB的Non-RAID磁盤

naa.61866da07cda650020942f720a174f8c

非SSD、30GB


RAID卡劃分的第1個卷,安裝ESXi系統

naa.61866da07cda650020942f720a174f8c:1



systemPartition,系統分區

naa.61866da07cda650020942f720a174f8c:2



舊版MBR,linuxNative

naa.61866da07cda650020942f720a174f8c:3


os-esx01

vmfs

naa.61866da07cda650020942f720a174f8c:5



舊版MBR,linuxNative

naa.61866da07cda650020942f720a174f8c:6



舊版MBR,linuxNative

naa.61866da07cda650020942f720a174f8c:7



VMware診斷,vmkDiagnostic

naa.61866da07cda650020942f720a174f8c:8



舊版MBR,linuxNative

naa.61866da07cda650020942f720a174f8c:9



VMware診斷,vmkDiagnostic

naa.61866da07cda6500209430db1f953ce5

非SSD、29TB


RAID卡劃分的第2個卷,用於保存虛擬機





【說明】設備名為naa.61866da07cda650020942f720a174f8c的30GB的卷一共劃分了8個分區(沒有:4的分區),這是安裝ESXi 的過程中創建的多個分區,有Linux引導分區、VMware 診斷分區,這些大約占用7556MB,而剩余的空間則劃分為VMFS文件系統卷,剩余的卷在第3個分區,剩余容量大約22.5GB。

(2)使用partedUtil getptbl分別查看447GB、4TB、29TB磁盤的分區信息,對比差別。命令分別如下

partedUtil getptbl /vmfs/devices/disks/naa.500080dc004ff330

partedUtil getptbl /vmfs/devices/disks/naa.50014ee0042fd6fd

partedUtil getptbl /vmfs/devices/disks/naa.61866da07cda6500209430db1f953ce5

查看分區信息,如圖1-7、圖1-8所示。

技術分享圖片

圖1-7 有分區表的兩個卷

技術分享圖片

圖1-8 29TB卷已經無分區表

對比圖1-7、圖1-8可以看出,“naa.61866da07cda6500209430db1f953ce5”(29TB卷)已無分區表。

(3)為29TB的卷創建分區表,命令及參數如下

partedUtil setptbl "/vmfs/devices/disks/ naa.61866da07cda6500209430db1f953ce5" gpt "1 2048 62440603614 AA31E02A400F11DB9590000C2911D1B8 0"

上述命令中的1 表示第一個分區,是主分區。2048表示vmfs-5分區開始扇區 。AA31E02A400F11DB9590000C2911D1B8 是VMFS GUID ,而62440603648是29.08TB卷的扇區數即圖1-8中的62440603648再減去34得到。

命令及命令執行結果如圖1-9所示。

技術分享圖片

圖1-9 創建分區

【說明】在本示例中,VMware ESXi卷被格式化為VMFS-5。對於VMFS6的卷,其扇區差異可能不全是34,也可能是1713,這些需要進一步查參數。

(4)然後在vSphere Client中重新掃描存儲,可以看到原來被刪除的存儲已經出現,只是顯示為“灰色”,右擊該存儲選擇“掛載”,如圖1-10所示。

技術分享圖片

圖1-10 掛載非活動存儲

(5)之後存儲掛載完成,並且可以看到存儲的信息,如圖1-11所示。

技術分享圖片

圖1-11 被刪除的VMFS卷恢復

(6)瀏覽存儲,可以看到數據仍然存在,如圖1-12所示。至此存儲恢復完成。

技術分享圖片

圖1-12 存儲恢復成功

總結:vSphere的用戶,在管理ESXi與vCenter Server服務器的時候,在對虛擬機、存儲進行操作,例如擴容、刪除這些有一定“危險性”的操作時,一定要多次確認,只有確認虛擬機不再使用時,才可以刪除。只有確認存儲上的數據已經遷移完成並且沒有有用數據時,才能刪除。但如果誤操作刪除了存儲或虛擬機,第一時間用正確的方法恢復,數據一般不會丟失。


恢復誤刪除的ESXi服務器存儲VMFS卷