0

一点背景知识:我有一个带有 vCenter HA 的 esxi 5.5 集群。我有多个 iscsi LUN,它们托管在运行 iscsi 目标和软件 RAID (mdadm) 的 Ubuntu 上。

几天前,我注意到一堆虚拟机无法访问。我从库存中删除了它们,以为我会通过浏览数据存储区将它们添加回来。

数据存储显示为非活动状态。其他数据存储(同一台服务器)很好。重新扫描/刷新没有用。我从清单中删除了存在问题的数据存储上托管的所有虚拟机,但仍然无法将其删除。
vCenter Server 上对象的“HostDatastoreSystem.RemoveDatastore”。

在 esxi 主机上,我运行 /etc/init.d/storageRM stop 然后重新扫描并重新启动 storageRM。这摆脱了来自 vCenter 控制台的数据存储。尝试从 iSCSI 适配器中删除并重新添加它,这很好。但是当我尝试将其添加为配置/存储下的数据存储时,我收到另一个错误 - 无法读取设备的分区信息。

它的 VMFS5,镜像 RAID1。4吨。

我已直接在其中一台主机上登录 esxi shell,并使用 partedUtil 进行调查并尝试修复它。

如果我尝试 getUsableSectors 或 getptbl 得到以下信息

错误:主 GPT 表指出备份 GPT 位于磁盘末尾之外。如果磁盘已缩小或分区表已损坏,则可能会发生这种情况。修复,最后写备份表?这也将根据新减小的大小适当地修复最后一个可用扇区。diskPath (/dev/disks/t10.94544500000000002318F588822755821C9CFF1605288097) diskSize (7813774720) AlternateLBA (23441323007) LastUsableLBA (23441322974) Warning: The available space to /dev/disks/t10.94544500000000002318F588822755821C9CFF1605288097 appears to have shrunk. 如果磁盘大小减小,则可能会发生这种情况。空间减少了(15627548288 块)。您可以修复 GPT 以更正可用空间或继续当前设置?如果备份表还没有在最后,这也会在最后移动备份表。diskSize (7813774720) AlternateLBA (23441323007) LastUsableLBA (23441322974) NewLastUsableLBA (7813774686) 错误:磁盘外不能有分区!无法读取设备 /vmfs/devices/disks/t10.94544500000000002318F588822755821C9CFF1605288097 的分区表

试图修复它:

partedUtil fixGpt /vmfs/devices/disks/t10.94544500000000002318F588822755821C9CFF1605288097

FixGpt 尝试修复在 GPT 表中检测到的任何问题。请确保您不在任何 RDM(原始设备映射)磁盘上运行此程序。您确定要继续吗 (Y/N):y 错误:主 GPT 表指出备份 GPT 位于磁盘末尾之外。如果磁盘已缩小或分区表已损坏,则可能会发生这种情况。修复,最后写备份表?这也将根据新减小的大小适当地修复最后一个可用扇区。diskPath (/dev/disks/t10.94544500000000002318F588822755821C9CFF1605288097) diskSize (7813774720) AlternateLBA (23441323007) LastUsableLBA (23441322974) 修复/忽略/取消?修复错误:磁盘外不能有分区!无法读取设备 /vmfs/devices/disks/t10.94544500000000002318F588822755821C9CFF1605288097 上的分区表

其他数据存储之一与相同的磁盘相同,因此我尝试使用其中的大小来 setptbl。

partedUtil setptbl /vmfs/devices/disks/t10.94544500000000002318F588822755821C9CFF1605288097 gpt "1 2048 7813774686 AA31E02A400F11DB9590000C2911D1B8 0" gpt 0 0 0 0 1 2048 7813774686 AA31E02A400F11DB9590000C2911D1B8 0 Error: The primary GPT table states that the backup GPT is located beyond the end of disk. 如果磁盘已缩小或分区表已损坏,则可能会发生这种情况。修复,最后写备份表?这也将根据新减小的大小适当地修复最后一个可用扇区。diskPath (/dev/disks/t10.94544500000000002318F588822755821C9CFF1605288097) diskSize (7813774720) AlternateLBA (23441323007) LastUsableLBA (23441322974) Warning: The available space to /dev/disks/t10.94544500000000002318F588822755821C9CFF1605288097 appears to have shrunk. 如果磁盘大小减小,则可能会发生这种情况。空间减少了(15627548288 块)。您可以修复 GPT 以更正可用空间或继续当前设置?如果备份表还没有在最后,这也会在最后移动备份表。diskSize (7813774720) AlternateLBA (23441323007) LastUsableLBA (23441322974) NewLastUsableLBA (7813774686) 错误:磁盘外不能有分区!

在 iscsitarget 主机上,LUN 显示健康。mdstat 还显示健康的 RAID 和磁盘。

还有什么我可以尝试修复这个并恢复虚拟机的吗?

感谢您的帮助。

4

0 回答 0