OpenStack实例挂载卷异常:lsblk可见但无法挂载删除,如何移除该卷
OpenStack异常挂载卷移除操作步骤
1. OpenStack控制端强制解绑卷
- 先执行
openstack volume list和openstack server show <实例ID>确认异常卷ID、关联的实例ID匹配,卷当前状态为attached - 先重置卷状态为可用:
openstack volume set --state available <异常卷ID> - 强制将卷从实例分离:
openstack server remove volume --force <实例ID> <异常卷ID> - 再次执行
openstack volume show <异常卷ID>确认卷状态变为available,attachments字段为空,确认已和实例解绑
2. Linux实例内部清理残留块设备
实例内的设备残留是总线状态未同步导致,无需使用分区工具删除,直接操作sysfs删除设备即可:
- 执行
lsblk确认异常块设备名,例如/dev/vdb、/dev/sdb - 查询设备对应的总线标识,执行
readlink /sys/block/<设备名>,从输出末尾获取设备ID,例如SCSI类型设备的ID格式为2:0:0:0 - 执行命令删除残留设备:
echo 1 > /sys/block/<设备名>/device/delete - 再次执行
lsblk确认异常设备已从实例内消失
注意:如果是virtio-blk类型设备无SCSI属性,可先删除对应virtio PCI设备:
echo 1 > /sys/bus/pci/drivers/virtio-pci/<PCI设备ID,例如0000:00:06.0>/remove,之后执行echo 1 > /sys/bus/pci/rescan刷新PCI总线即可完成清理。
操作完成后即可正常为实例挂载其他卷,无残留冲突。
内容的提问来源于stack exchange,提问作者Hossy-M
相关产品推荐
相关产品推荐

