恢复误删的存储VMFS卷
2017-11-08
如果不小心误删除了 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中可以看到,这个29.08TB的设备名称为naa.61866da07cda65002094 30db1f953ce5;30GB的设备名称是61866da07cda650020 942f720a174f8c。
图1 VMFS卷
图2 删除数据存储
图3 无29TB存储
图4 存储设备查看名称
图5 查看磁盘列表
下面我们模拟该操作:
注意,当前是测试机器,请勿在生产机器、有重要数据机器实验,以免造成损失!
(1)在“存储设备”中右击29.08TB的存储,右击选择“删除数据存储”,如图2所示。
(2)在弹出的“确认删除数据存储”对话框中,单击“是”按钮。
(3)此时在“数据存储”列表中已经没有该存储,如图3所示。
(4)但在“存储设备”列表中仍然可以看到该存储容量及设备名称,如图4所示。
使用SSH登录到ESXi主机,通过命令查看磁盘列表、查看分区信息然、创建分区表。下面一一介绍。
(1)查看磁盘列表,在命令提示符中执行:
命令结果如图5所示。此时可看到设备名为“na a.61866da07cda6500209430d b1f953ce5”已经无分区表。
如果有分区表,例如设备 名“naa.61866da07cda65 0020942f720a174f8c”(这是ESXi系统卷,该卷有多个分区),后面会有:1的分区数目及vlm的名称。如果我们要恢复分区表,只要为这个29TB创建分区表即可恢复。
说明:在图5中看到的“naa.500080dc004ff330”是图1中的大小为447GB的SSD磁盘, 而“naa.500080dc004ff330:1”表示这个磁盘的第1个分区,对应图3中的data-ssd01卷。图5中的磁盘列表、分区列表与图1、图3的对应关系如表1所示。
设备名为naa.61866da0 7cda650020942f720a174f8c的30GB的卷一共划分了8个分区(没有:4的分区),这是安装ESXi 的过程中创建的多个分区,有Linux引导分区、VMware 诊断分区,这些大约占用7556MB,而剩余的空间则划分为VMFS文件系统卷,剩余的卷在第3个分区,剩余容量大约22.5GB。
(2) 使 用 partedUtil getptbl分别查看447GB、4TB、29TB 磁盘的分区信息,对比差别。命令分别如下:
表1设备标识符、设备名称、数据存储名称说明
查看分区信息,如图6、图7所示。
对比图6、图7可以看 出,“naa.61866da07cd a6500209430db1f953ce5”(29TB卷)已无分区表。
(3)为29TB的卷创建分区表,命令及参数为:
上述命令中的1表示第一个分区,是主分区。2048表示vmfs-5分区开始扇区。AA31E02A400F11DB959000 0C2911D1B8 是VMFSGUI D, 而 62440603648是29.08TB卷的扇区数即图7中的62440603648再减去34得到。
图6 有分区表的两个卷
图7 29TB卷已经无分区表
图8 创建分区
图9 挂载非活动存储
图10 被删除的VMFS卷恢复
图11 存储恢复成功
命令及命令执行结果如图8所示。
说明:在本示例中,VMware ESXi卷被格式化为VMFS-5。对于VMFS6的卷,其扇区差异可能不全是34,也可能是1713,这些需要进一步查参数。
(4)然后在vSphere Client中重新扫描存储,可以看到原来被删除的存储已经出现,只是显示为“灰色”,右击该存储选择“挂载”,如图9所示。
(5)存储挂载完成,并且可以看到存储的信息,如图10所示。
(6)浏览存储,可以看到数据仍然存在,如图11所示。至此存储恢复完成。
总结
vSphere的用户,在管理ESXi与vCenter Server服务器的时候,在对虚拟机、存储进行操作,例如扩容、删除这些有一定“危险性”的操作时,一定要多次确认,只有确认虚拟机不再使用时,才可删除。只有确认存储上的数据已迁移完成并且没有有用数据时,才能删除。但如果误操作删除了存储或虚拟机,第一时间用正确的方法恢复,数据一般不会丢失。