如何解决报错unable to remove volume问题
作者:ghostwritten
这篇文章主要介绍了如何解决报错unable to remove volume问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
问题
$ docker volume rm 92ba8612_zxtest001_LOG
Error response from daemon: unable to remove volume: remove 92ba8612_zxtest001_LOG: VolumeDriver.Remove: exec fail:exit status 5;out: Logical volume data-2-2_HDD_VG/92ba8612_zxtest001_LOG contains a filesystem in use.
解决方法
1.尝试先删除挂载的本地目录
$ rm -rf 92ba8612_zxtest001_LOG/ $ docker volume rm 92ba8612_zxtest001_LOG 92ba8612_zxtest001_LOG
2.如果还是无法删除
$ lsof |grep 92ba8612_zxtest001_LOG $ for i in `lsof |grep 92ba8612_zxtest001_LOG | awk '{print $2}'`;do kill -9 $i;done
3.如果还是无法删除
执行:
lvremove /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT Logical volume data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT contains a filesystem in use.
如果还是无法删除:
查看是否有用户正在使用、打开 $ lvdisplay /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT |grep open 查看是否有进程号正在使用 $ fuser -kuc /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT 如果有进程号 ,例如是1726 $ kill -9 1726 删除逻辑卷 $ lvremove /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT Logical volume data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT
4.如果还是无法删除
$ lvchange -an /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT $ lvremove -f /dev/data-2-1_HDD_VG/d728336a_wbLoCtovlFE001_DAT
5.如果还是无法删除
$ echo 1 > /proc/sys/vm/drop_caches $ echo 2 > /proc/sys/vm/drop_caches $ echo 3 > /proc/sys/vm/drop_caches $ docker volume rm d728336a_wbLoCtovlFE001_DAT
6.如果还是无法删除(大部分可以删除)
$ docker kill `docker ps -q` $ sysetemctl restart docker $ docker volume rm d728336a_wbLoCtovlFE001_DAT $ docker start `docker ps -aq`
7.如果还是无法删除
比如僵尸了,重启。
$ reboot ..... $ docker volume rm d728336a_wbLoCtovlFE001_DAT
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。