LXC で不要になったストレージを取り外す
LXC で不要になったストレージを取り外す
使用中のストレージを一覧する
lxc storage list を使って、いま、ストレージが使われているか確認する。
takuya@lxc-host:~$ lxc storage list +---------+--------+--------------------------------------------+-------------+---------+ | NAME | DRIVER | SOURCE | DESCRIPTION | USED BY | +---------+--------+--------------------------------------------+-------------+---------+ | bt01 | btrfs | /var/snap/lxd/common/lxd/disks/bt01.img | | 7 | +---------+--------+--------------------------------------------+-------------+---------+ | bt02 | btrfs | /var/snap/lxd/common/lxd/disks/bt02.img | | 1 | +---------+--------+--------------------------------------------+-------------+---------+
ストレージを使っているコンテナを探す
lxc storage info で ストレージ情報を確認して、ストレージを使ってるインストール(コンテナ)を表示する
takuya@lxc-host:~$ lxc storage info bt02 info: description: "" driver: btrfs name: bt01 space used: 18.76GB total space: 100.0GB used by: instances: - ubuntu1804
削除する
削除できるものは削除する。
lxc stop /delete で削除する。
lxc stop ubuntu1804 lxc delete ubuntu1804
他のストレージへ移動させる。
lxc コマンドの stop / move を使い、利用中のインスタを移動する
lxc stop ubuntu1804 lxc move ubuntu1804 ubuntu1804-tmp --storage=bt01 lxc move ubuntu1804-tmp ubuntu1804
move の引数に --storage=NAME を使えば、ストレージ間での移動が可能。 ただし、移動は同名のインスタンスとして移動できないので、いったん別名に移動し、その後元の名前に戻す。
利用状況を再度確認する。
lxc storage list でストレージの利用状況を再度確認する。 どこからも使われてない、未利用のストレージになっていれば、安全に削除ができる。
USED BY
が ゼロになったらストレージを取り外しできる。
takuya@lxc-host:~$ lxc storage list +---------+--------+--------------------------------------------+-------------+---------+ | NAME | DRIVER | SOURCE | DESCRIPTION | USED BY | +---------+--------+--------------------------------------------+-------------+---------+ | bt01 | btrfs | /var/snap/lxd/common/lxd/disks/bt01.img | | 8 | +---------+--------+--------------------------------------------+-------------+---------+ | bt02 | btrfs | /var/snap/lxd/common/lxd/disks/bt02.img | | 0 | +---------+--------+--------------------------------------------+-------------+---------+
ストレージを削除する
lxc storage の delete サブコマンドを使えば、未使用のストレージを削除することができる。
lxc storage delete bt02
実際やってみて
実際に移動をつづけて減らしていったのですが。インスタンスによって移動にとても時間がかかるものや、移動が失敗するものが現れる。
悲劇が起きたのは、lxc のインスタンスをストレージ間で移動中に、PCがスリープし、SSHセッションが切れてしまい、中途半端で移動が停止したときに悲劇が起きた。tmux/screen でうまく回避してやらないとめんどくさい。
移動が途中でおわっても元のインスタンスは残ってるが、移動先のストレージは btrfs/ZFS でサブボリュームが壊れてしまい復旧が面倒だった。
デフォルト・ストレージの作り直しの場合
デフォルトのストレージは、Imageの保存先に使われているので、イメージを削除する
## イメージがある場合は、エラーにはず lxc storage delete default
さきに利用しているコンテナとイメージを削除する
## コンテナを消す lxc list lxc stop $container lxc delete $container ## lxc image list lxc delete image $finger_print
すべてを消したら消せるはずである。