若是不當心誤刪除了VMFS卷,使用partedUtil命令恢復便可。partedUtil是VMware ESXi的命令行實用程序,能夠在ESXi上直接操做本地和遠程 SAN 磁盤的分區表。html
【說明】只有 ESXi 5.x 上的磁盤分區才支持使用 partedUtil 命令行。命令行實用程序 fdisk 不能用於採用 VMFS5 格式的 LUN。本文用於VMware ESXi 5.x、VMware ESXi 6.0格式化爲VMFS 5的卷。linux
當前有一臺DELLR 730XD的服務器,其中10塊硬盤使用RAID-50劃分爲2個卷,第1個卷30GB,安裝ESXi 6.5.0系統,第2個卷使用剩餘空間,大小29.08TB,如圖1-1所示。服務器
圖1-1 VMFS卷ide
從圖1-1中能夠看到,這個29.08TB的設備名稱爲naa.61866da07cda6500209430db1f953ce5;30GB的設備名稱是61866da07cda650020942f720a174f8c。測試
下面咱們模擬這個操做(當前是測試機器,請勿在生產機器、有重要數據機器實驗,不然由此形成的損失,本文概不負責!)spa
(1)在「存儲設備」中右擊29.08TB的存儲,右擊選擇「刪除數據存儲」,如圖1-2所示。命令行
圖1-2 刪除數據存儲視頻
(2)在彈出的「確認刪除數據存儲」對話框中,單擊「是」按鈕,如圖1-3所示。htm
圖1-3 確認刪除數據存儲blog
(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-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-七、圖1-8所示。
圖1-7 有分區表的兩個卷
圖1-8 29TB卷已經無分區表
對比圖1-七、圖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服務器的時候,在對虛擬機、存儲進行操做,例如擴容、刪除這些有必定「危險性」的操做時,必定要屢次確認,只有確認虛擬機再也不使用時,才能夠刪除。只有確認存儲上的數據已經遷移完成而且沒有有用數據時,才能刪除。但若是誤操做刪除了存儲或虛擬機,第一時間用正確的方法恢復,數據通常不會丟失。
更多虛擬化課程及視頻,請單擊「VMware系統集成工程師」專題,2017年12月31日前8折,僅1600元。