最近在一个项目中用到了光存储设备,服务器使用多路径软件实现高可用和负载均衡,并在路径合并后的块设备上使用 LVM 来管理。
有一回因为存储设备上的逻辑单元(LU)先删除了,服务器上的逻辑卷就无法再用 lvremove 之类命令删除了,就连 lvs 之类命令也会卡死。于是就直接删除了那些逻辑卷对应的块设备文件。结果是,用 lvs、vgs、pvs 等命令都已经无法看到逻辑卷,似乎是正常了,但是多路径软件却无法删除设备,认为该设备仍然在使用中。说明这样的删除操作是不对的,还留下了些不干净的东西。但是用 LVM 相关命令已经找不到任何东西了。想到 LVM 是通过 device mapper 实现的,那么用 device mapper 相关的命令也许能看出点啥。
于是试试 dmsetup ls ,果然看到了之前那个没删干净的逻辑卷
# dmsetup ls lv_demo1dat (253, 8) ... ...
用 dmsetup remove lv_demo1dat 把它干掉,之后就一切正常了。
转载请注明:爱开源 » 清理未正确删除的逻辑卷