vmware esxi 5.5 iscsi gpt修复

vmware esxi 5.5 iscsi gpt修复,vmware,esxi,iscsi,Vmware,Esxi,Iscsi,背景知识: 我有一个带有vcenter HA的esxi 5.5群集。 我有多个iscsi LUN,它们托管在运行iscsi目标和软件RAID(mdadm)的Ubuntu上 几天前,我注意到许多虚拟机无法访问。 我从库存中删除了它们,我想通过浏览数据存储将它们添加回来 数据存储显示为非活动状态。其他数据存储(同一台服务器)正常。 重新扫描/刷新不起作用。我从清单中删除了数据存储中托管的所有有问题的vm,但仍然无法删除它。 vCenter Server上对象的“HostDatastoreSystem

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

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

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

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

它的VMFS5,镜像RAID1。4tb

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

如果我尝试获取getUsableSectors或getptbl,将获得以下内容

错误:主GPT表声明备份GPT位于磁盘末端之外。如果磁盘缩小或分区表损坏,则可能会发生这种情况。通过在末尾写入备份表进行修复?这也将根据新的缩减大小适当地修复最后一个可用扇区。diskPath(/dev/disks/t10.94544500000000002318F58822755821C9CFF1605288097)diskSize(7813774720)AlternateLBA(2344132007)LastUsableLBA(2344132974) 警告:到/dev/disks/t10.94544500000000002318F5888822755821C9CFF1605288097的可用空间似乎已缩小。如果磁盘大小减小,可能会发生这种情况。空间减少了(15627548288个街区)。您可以修复GPT以更正可用空间或继续使用当前设置吗?如果备份表不在末尾,也会将其移到末尾。diskSize(7813774720)AlternateLBA(2344132007)LastUsableLBA(2344132974)NewLastUsableLBA(7813774686) 错误:磁盘外不能有分区! 无法读取设备/vmfs/devices/disks/t10.94544500000000002318F58822755821C9CFF1605288097的分区表

正在尝试修复它:

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

FixGpt尝试修复GPT表中检测到的任何问题。 请确保没有在任何RDM(原始设备映射)磁盘上运行此操作。 是否确实要继续(是/否):是 错误:主GPT表声明备份GPT位于磁盘末端之外。如果磁盘缩小或分区表损坏,则可能会发生这种情况。通过在末尾写入备份表进行修复?这也将根据新的缩减大小适当地修复最后一个可用扇区。diskPath(/dev/disks/t10.94544500000000002318F58822755821C9CFF1605288097)diskSize(7813774720)AlternateLBA(2344132007)LastUsableLBA(2344132974) 修复/忽略/取消?修理 错误:磁盘外不能有分区! 无法读取设备/vmfs/devices/disks/t10.94544500000000002318F58822755821C9CFF1605288097上的分区表

另一个数据存储与相同的磁盘相同,因此我尝试使用其中的大小设置ptbl

partedUtil setptbl/vmfs/devices/disks/t10.94544500000000002318F5888822755821C9CFF1605288097 gpt“1 2048 7813774686 AA31E02A400F11DB9590000C291D1B8 0” gpt 0 0 0 0 1 2048 7813774686 AA31E02A400F11DB9590000C291D1B8 0 错误:主GPT表声明备份GPT位于磁盘末端之外。如果磁盘缩小或分区表损坏,则可能会发生这种情况。通过在末尾写入备份表进行修复?这也将根据新的缩减大小适当地修复最后一个可用扇区。diskPath(/dev/disks/t10.94544500000000002318F58822755821C9CFF1605288097)diskSize(7813774720)AlternateLBA(2344132007)LastUsableLBA(2344132974) 警告:到/dev/disks/t10.94544500000000002318F5888822755821C9CFF1605288097的可用空间似乎已缩小。如果磁盘大小减小,可能会发生这种情况。空间减少了(15627548288个街区)。您可以修复GPT以更正可用空间或继续使用当前设置吗?如果备份表不在末尾,也会将其移到末尾。diskSize(7813774720)AlternateLBA(2344132007)LastUsableLBA(2344132974)NewLastUsableLBA(7813774686) 错误:磁盘外不能有分区

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

还有什么我可以尝试修复此问题并恢复vm的吗


感谢您的帮助。

您是否已通过
echo check>/sys/block/mdX/md/sync\u action
对阵列运行“检查”?内核wiki上的这个条目有更多的信息:做了一个检查并尝试了,同样的问题。尝试了修复并解决了相同的问题。我使用gdisk和sgdisk修复gpt分区,并从相同的raid集中复制分区表。这起到了作用,并使我达到了存储在esxi中得到认可的程度。但是,看起来vmfs5文件系统已经不存在了。esxi希望在附加存储时创建文件系统。我使用LinuxVMFS工具尝试恢复任何数据,但由于缺少LVMSagic而导致错误,因此无法安装。我认为目前我唯一的办法是使用数据恢复软件,看看是否有原始数据可以被回收。是的,那太糟糕了。我不知道你是怎么证明的,但听起来那个设备的开头有相当一部分被覆盖了,可能是人为错误。可能是权限设置不正确,其他一些机器连接了这些LUN。或者,它甚至可能是承载存储的机器上的操作员错误。现在有点安慰了,但记住,RAID不是bac