在 ESXi 主机上配置本地存储时,经常会遇到这样的问题:RAID 卷在主机存储设备列表中可以看到,但在创建新数据存储时却无法显示。经过深入排查,我发现这个问题通常与磁盘分区残留有关。本文将详细介绍问题现象、原因分析和解决方法。
故障现象
当你尝试在 ESXi 主机上使用 RAID 本地存储创建数据存储时,可能会遇到以下现象:
存储设备可见但无法用于创建数据存储
- 在 vSphere 客户端的「主机 > 配置 > 存储 > 存储设备」页面,可以看到 RAID 卷作为存储设备存在
- 但在「新建数据存储」向导的设备选择页面,该 RAID 卷不显示在可选设备列表中
RAID 卷已重新创建但问题依然存在
即使在 RAID 控制器管理界面中删除并重新创建了 RAID 卷,问题依然存在
问题原因分析
经过 VMware 官方确认,这个问题的根本原因是:
磁盘分区和元数据残留
当 RAID 卷之前被用于系统操作(如安装过操作系统或创建过其他存储)时,虽然在 RAID 控制器层面删除并重新创建了卷,但磁盘上仍然保留着原来的分区信息和元数据。ESXi 系统在扫描存储设备时,会检测到这些残留的分区信息,从而导致无法在新建数据存储向导中显示该设备。
解决方法
方法一:使用 partedUtil 工具删除分区
partedUtil 是 ESXi 系统内置的分区管理工具,可以用来删除磁盘上的分区信息。
步骤 1:列出所有存储设备
# 列出所有存储设备
esxcli storage core device list
# 找到问题 RAID 卷的设备名称,通常类似于 t10.ATA...
# 或者使用以下命令直接列出磁盘设备
ls /vmfs/devices/disks/
步骤 2:查看分区表
# 使用 partedUtil 查看磁盘分区表
partedUtil get /vmfs/devices/disks/
步骤 3:删除分区
# 删除分区表(警告:这会删除磁盘上的所有数据,请谨慎操作)
partedUtil deleteall /vmfs/devices/disks/
# 重新扫描存储设备
esxcli storage core adapter rescan --all
方法二:通过 RAID 控制器管理界面彻底清除
如果方法一无法完全清除分区信息或磁盘元数据,需要通过 RAID 控制器管理界面进行更彻底的清除。
步骤 1:进入 RAID 控制器管理界面
1. 重启 ESXi 主机
2. 在系统启动过程中,按照提示进入 RAID 控制器管理界面(通常按 Ctrl+R 或其他快捷键)
步骤 2:删除并重新初始化 RAID 卷
1. 在 RAID 控制器管理界面中,删除有问题的 RAID 卷
2. 使用控制器提供的选项,重新初始化物理磁盘、删除所有分区或执行安全擦除操作
3. 确保磁盘上的所有分区信息和元数据都已彻底清除
步骤 3:重新创建 RAID 卷
1. 在 RAID 控制器管理界面中,根据需要创建新的 RAID 卷(如 RAID 0、1、5、6 等)
2. 保存配置并重启主机
步骤 4:验证并创建数据存储
1. 主机重启后,登录 vSphere 客户端
2. 验证新创建的 RAID 卷是否在存储设备列表中可见
3. 再次尝试创建数据存储,这次应该能够看到并选择该设备
预防措施和最佳实践的一些建议
1. 确保分区完全清除
在重新使用磁盘之前,务必确保磁盘上的所有分区信息和元数据已被彻底清除。
2. 使用正确的删除方法
当需要删除数据存储时,应使用 vSphere 客户端提供的「删除数据存储」功能,而不是直接在 RAID 控制器层面操作。
3. 记录存储设备信息
在管理存储设备时,建议记录每个磁盘和 RAID 卷的详细信息,包括设备名称、分区表信息等,以便快速定位问题。
4. 定期检查存储设备状态
定期检查存储设备的状态,确保所有设备都能正常使用。如果发现问题,及时处理。







