尝试各种方法,都无法格式化磁盘!
首先,如果你在创建VSAN集群的时候,发现在单个主机上的Storage Adapters/Storage Devices都能够看到的JBOD模式下的单个磁盘,却在VSAN集群的磁盘管理中却无法看到的问题。在vCenter中,选择该磁盘,选择擦出磁盘分区,打开后没有显示有任何磁盘分区,点击确定,就会报错,根本无法擦出磁盘分区。
其次,无论你是使用Windows系统安装盘启动,去格式化磁盘时,发现是Offline状态的磁盘分区,还是使用dd命令去清空设备分区表,全部都失败。
使用dd命令去擦除磁盘分区,竟然也会报错:
[root@localhost:~] dd if=/dev/zero of=/dev/disks/naa.5000c500c1e94fbf bs=1024K count=1
dd: can't open '/dev/disks/naa.5000c500c1e94fbf': Function not implemented
[root@localhost:~] dd if=/dev/zero of=/dev/disks/naa.5000c500c1e94fbf:1 bs=1024K count=1
dd: can't open '/dev/disks/naa.5000c500c1e94fbf:1': Function not implemented
[root@localhost:~]
使用partedUtil命令,也无法获得正常的信息:
[root@localhost:~] partedUtil get /dev/disks/naa.5000c500c1e973eb
Error: Can't have a partition outside the disk!
Unable to read partition table for device /dev/disks/naa.5000c500c1e973eb
# 上面这个命令如果正常的话,应该看到磁盘有多少个分区,结果竟然报错啦!
[root@localhost:~]
[root@localhost:~] partedUtil get /dev/disks/naa.5000c500c1e973eb:1
875249 255 63 14060875777
[root@localhost:~]
# 上面的这个,好像是个孪生的分区一样,可以获得分区的大小等相关信息;
# 到此,我开始怀疑,是不是磁盘硬件出问题了呢?
# 事实上,当然不是磁盘坏了!
接下来,咱们聊一聊一个磁盘从未被使用过的状态,应该是这样的:
[root@localhost:~] ls -la /dev/disks/
total 27892935110
drwxr-xr-x 2 root root 512 Jul 16 08:47 .
drwxr-xr-x 19 root root 512 Jul 16 08:47 ..
-rw------- 1 root root 1800360124416 Jul 16 08:47 naa.5000c500c1e9325f
-rw------- 1 root root 1800360124416 Jul 16 08:47 naa.5000c500c1e939d3
-rw------- 1 root root 1800360124416 Jul 16 08:47 naa.5000c500c1e93d1f
-rw------- 1 root root 1800360124416 Jul 16 08:47 naa.5000c500c1e93fbf
-rw------- 1 root root 1800360124416 Jul 16 08:47 naa.5000c500c1e973eb
-rw------- 1 root root 1800360124416 Jul 16 08:47 naa.5000c500c1e99f7b
-rw------- 1 root root 240057409536 Jul 16 08:47 naa.55cd2e4151cf8f8b
-rw------- 1 root root 240057409536 Jul 16 08:47 naa.55cd2e4151cf8fe4
我们的故障信息看到的磁盘是这样的,基于这个磁盘创建的分区,远远超过了单个磁盘分区的大小,差不多是RAID6的容量:1.64 TB x 6 x (2/3) = 6.56 TB (6.55TB)
分析上面的情况,可以判断,之前这些磁盘使用RAID6做过盘,因此,磁盘上的分区信息不是空的,正式这个信息影响了磁盘的正常使用。
实际上,解决方法,也并不复杂,只需要把这个坏掉的分区表重新写一下分区格式即可
# 分区表损坏的状态,可以看到一个无法管控的分区
[root@localhost:~] ls -la /dev/disks/| grep 94fbf
-rw------- 1 root root 1800360124416 Jul 16 08:54 naa.5000c500c1e94fbf
-rw------- 1 root root 7199168397824 Jul 16 08:54 naa.5000c500c1e94fbf:1
lrwxrwxrwx 1 root root 20 Jul 16 08:54 vml.02000000005000c500c1e94fbf535431383030 -> naa.5000c500c1e94fbf
lrwxrwxrwx 1 root root 22 Jul 16 08:54 vml.02000000005000c500c1e94fbf535431383030:1 -> naa.5000c500c1e94fbf:1
[root@localhost:~]
# 通过mklabel修改分区类型,命令执行成功
[root@localhost:~] partedUtil mklabel /dev/disks/naa.5000c500c1e94fbf msdos
[root@localhost:~]
# 在去查看该磁盘的分区信息,发现那个无法管控的分区信息消失啦!
[root@localhost:~] ls -la /dev/disks/| grep 94fbf
-rw------- 1 root root 1800360124416 Jul 16 08:54 naa.5000c500c1e94fbf
lrwxrwxrwx 1 root root 20 Jul 16 08:54 vml.02000000005000c500c1e94fbf535431383030 -> naa.5000c500c1e94fbf
[root@localhost:~]
# 再通过命令去读取分区信息,终于不在报错啦!
[root@localhost:~] partedUtil get /dev/disks/naa.5000c500c1e94fbf
218881 255 63 3516328368
[root@localhost:~]
# 查看磁盘分区,确实恢复正常了,成为了一个没有分区的裸磁盘!
[root@localhost:~] ls -la /dev/disks/| grep 94fbf
-rw------- 1 root root 1800360124416 Jul 16 08:55 naa.5000c500c1e94fbf
lrwxrwxrwx 1 root root 20 Jul 16 08:55 vml.02000000005000c500c1e94fbf535431383030 -> naa.5000c500c1e94fbf
[root@localhost:~]
# 大功告成!
最后,回到vCenter的这台主机中,寻找这个磁盘,对其执行磁盘擦除分区的操作,执行成功!再回到VSAN磁盘管理,可以把磁盘添加进来啦,一切恢复正常!
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/6382.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~