解决Nutanix集群节点中可能出现的影子磁盘问题
问题描述
Nutanix超融合构架利用CVM(Controller Virtual Machine)来管理调度集群中的各个节点,每个节点中都会放置一台CVM虚拟机来获取其状态并控制相关读写行为。
下面讨论一种可能的特殊情况:当某个节点的物理磁盘发生变化(例如硬件更换或者突然掉电),有小概率在该节点的CVM上产生“影子磁盘”(Phantom Disks)。这会影响到某些版本NCC组件的监控数据采集,进而触发Prism管理控制台中的误报Container Space Error
。
解决办法
SSH登陆到问题节点的CVM,然后按如下步骤尝试移除影子磁盘:
1、查看CVM上所识别到的磁盘:
$ sudo du -sh ~/data/stargate-storage/disks/
2、查看实际挂载到节点上的磁盘:
$ ncli disk ls
3、对比上述两个表中的磁盘信息:如果存在差异,则差异条目即为影子磁盘。通常影子磁盘的空间大小很小(因为盘实际已经不存在了)。记录下对应的磁盘名称,例如BTHC6090XXX3800XXX
。
4、确认影子磁盘上是否仍残留有任何内容:
$ ls /home/nutanix/data/stargate-storage/disks/ $ ls -rlt /home/nutanix/data/stargate-storage/disks/BTHC6090XXX3800XXX
5、卸载影子磁盘。如果卸载时提示磁盘未挂载,则忽略:
$ sudo umount /home/nutanix/data/stargate-storage/disks/BTHC6090XXX3800XXX
6、根据名称获取影子磁盘的磁盘ID(Disk ID):
$ ncli disk ls | grep BTHC6090XXX3800XXX -C 8
7、移除影子磁盘:
$ ncli disk remove-start id=XX #如果移除失败,则强制移除该盘: $ ncli disk remove-start force=true id=XX
8、确认所有磁盘状态。如果移除失败,则尝试重启CVM:
$ ncli disk ls
— END —