有时候,一些小公司为了减少成本,会购买或使用一些二手的服务器,这些服务器可能在其他的地方被安装过其他的linux操作系统,这个时候,我们拿过来服务器再去给他重装ESXi系统的时候,ESXi会检查到硬盘上有其他的linux分区,从而报这个错误:PartedUtil failed with message: Error: Can’t have a partition outside the disk!
碰到这种情况,我们需要做的就是把硬盘上的分区信息擦除一下,然后再安装就好了。
但ESXi本身支持此类操作,只是比较繁琐,所以熟悉windows的,需要我们先通过其他方式擦除一下硬盘上的安装信息。
我们可以找一个Windows的安装盘,用U盘引导启动
进入启动界面之后,按Shift + F10唤出命令行操作界面
输入diskpart,进入Windows自带的磁盘管理工具中
输入list disk,列出当前机器上挂载的硬盘状态
从上面列出的信息中,我们可以看到磁盘0 和磁盘1是300G的磁盘,是我们需要安装ESXi系统的磁盘,但是可用为0B,说明磁盘已经被使用,上面有其他信息。我们需要将这些信息清空,才能继续安装ESXi系统
我们要清空磁盘0的话,输入select disk 0
再输入clean命令
这样就把磁盘0清空了,这时候再输入list disk就能看到磁盘0可用已经变成了278GB。
然后退出windows的安装系统,再重新安装ESXi系统就可以正常安装了~
在ESXi的Web界面,新建存储时,可以看到这个虚拟卷的磁盘,但是在创建点完成时,却提示无法创建VMFS 数据存储data -无法更新/vmfsldevicesidisks/naa.6b8ca3a0e87576002d40a0305156b98d的磁盘分区。
出现这个问题可能的原因是,这个磁盘阵列上的磁盘,之前被使用过或者安装过其他操作系统。使用利旧硬盘,添加数据存储后提示:无法创建VMFS数据存储,不管是SSD还是HDD。
这是由于磁盘原有分区导致不能格式化,解决办法:
1.打开ESXI的SSH
2.找到不能添加的硬盘路径
3.使用SSH工具登陆到ESXi主机操作
列出磁盘命令:
ls -lha /vmfs/devices/disks/ #列出磁盘
这时发现,居然没有这个虚拟磁盘卷。
检查磁盘卷是否故障
partedUtil getptbl /vmfs/devices/disks/ naa.****
比如本案例中的磁盘卷名为naa.6b8ca3a0e87576002d40a0305156b98d
提示错误:主 GPT 表指出备份 GPT 位于磁盘末尾之外。如果磁盘缩小或分区表损坏,则可能会发生这种情况。通过在最后写入备份表来修复
所以,需要重建分区表
partedUtil setptbl /vmfs/devices/disks/naa.6b8ca3a0e87576002d40a0305156b98d msdos
再次用Web新建存储时,成功创建完成。
也可以将磁盘卷naa.6b8ca3a0e87576002d40a0305156b98d,通过增加容量的方式添加到其他volume,比如我将它增加到253-R720-SAS这storage中。如下图,在Volume 名为253-R720-SAS中,已经挂载了两个不同的Device。
登陆ESXi主机,查看存储设备,有两个不同的磁盘卷,再查看Volume总容量为两个磁盘卷的和。
但是不太建议使用这种方式扩容Volume,后续出问题维护比较麻烦。
如果想将其中一个磁盘卷从Volume中删除,会发现不能删。提示Volume处于Busy状态,尝试直接删除磁盘卷,也提示Read-only
要向删除这个磁盘卷,需要将整个Volume中的文件全部迁移走,不然会提示上图中的错误,不能删除。
迁移完成后,先取消挂载Volume。可以使用esxcli storage vmfs extent list名获取volume的 UUID,或者登陆ESXi主机查看对应volume的UUID
删除磁盘卷
partedUtil delete /vmfs/devices/disks/naa.6b8ca3a0e87576002d40a0305156b98d 1
查询磁盘卷
partedUtil getptbl /vmfs/devices/disks/naa.6b8ca3a0e87576002d40a0305156b98d
重建磁盘卷的分区表
再次使用
esxcli storage vmfs extent list
可以看到磁盘卷naa.6b8ca3a0e87576002d40a0305156b98d已经被删除了,只剩下另外一个磁盘卷。重复以上步骤,删除另外一个磁盘卷。
登陆ESXi或者vCenter,就可以最该主机上的两个磁盘卷重新分区挂载了