LoginSignup
1
0

More than 5 years have passed since last update.

LXDでZFSストレージプールを使っていて、dataset is busyと言われたとき

Posted at

発生した現象

LXDで使い終わったコンテナを終了、削除しようとしたら、こんなメッセージが。

$ lxd stop TEST
$ lxd delete TEST
Error: Failed to destroy ZFS filesystem: cannot destroy 'LXDPOOLS/containers/TEST': dataset is busy

LXDのコンテナは正常に終了しているのに、ZFSストレージプールから削除ができない。

環境

  • Ubuntu Server 18.04
  • LXD 3.6 (snap版)

対処法

grep "/コンテナ名" /proc/*/mountinfoとして、そのZFSボリュームをマウントしているプロセスを見つける。

/proc/10704/mountinfoのうち、10704がそのプロセスのPID。

$ grep "/TEST" /proc/*/mountinfo
/proc/10704/mountinfo:1306 623 0:121 / /var/snap/lxd/common/lxd/storage-pools/ZFS/containers/TEST rw,relatime - zfs LXDPOOLS/containers/TEST rw,xattr,posixacl
/proc/1626/mountinfo:1306 623 0:121 / /var/snap/lxd/common/lxd/storage-pools/ZFS/containers/TEST rw,relatime - zfs LXDPOOLS/containers/TEST rw,xattr,posixacl
/proc/2420/mountinfo:1306 623 0:121 / /var/snap/lxd/common/lxd/storage-pools/ZFS/containers/TEST rw,relatime - zfs LXDPOOLS/containers/TEST rw,xattr,posixacl
/proc/2559/mountinfo:1306 623 0:121 / /var/snap/lxd/common/lxd/storage-pools/ZFS/containers/TEST rw,relatime - zfs LXDPOOLS/containers/TEST rw,xattr,posixacl
/proc/3116/mountinfo:1306 623 0:121 / /var/snap/lxd/common/lxd/storage-pools/ZFS/containers/TEST rw,relatime - zfs LXDPOOLS/containers/TEST rw,xattr,posixacl
/proc/5824/mountinfo:1306 623 0:121 / /var/snap/lxd/common/lxd/storage-pools/ZFS/containers/TEST rw,relatime - zfs LXDPOOLS/containers/TEST rw,xattr,posixacl

以下のコマンドでアンマウントする。

$ sudo nsenter -t 10704 -m -- umount /var/snap/lxd/common/lxd/storage-pools/ZFS/containers/TEST

もう1度grep "/コンテナ名" /proc/*/mountinfoを実行して、残るプロセスに対しても同様にアンマウントする。

全部なくなっていたら、コンテナが削除できる・・・はず。

$ lxc delete TEST

参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0