debian で lxc を使うなら apt で入るのですが。
sudo apt install lxc
apt でインストールされたlxc はコマンド体系がちょっと古いというか、lxd 関連がないので、ちょっと不便
snap で lxd を入れる
Debainでもsnapcraft を入れてしまえば、Distro差異が無いので使い回しやすい。
既存のapt lxc がある場合
sudo apt remove lxc
snapがない場合
sudo apt install snapd sudo snap install core sudo snap install snap-store
snap 経由でlxd のインストール
sudo snap install lxd
インストールが終わったらユーザ・グループを編集して使えるようにする
sudo usermod -aG lxd takuya
これで使えるようになる。
snapd と snap を間違いがちなので注意
初期設定
初期設定をする
sudo lxd init
自分でできる場合は、initは省略して構わない。
インストールのチェック
仮想マシン・コンテナを作成しチェックする
lxc launch ubuntu: test01
Failed detecting root disk device:
などが出るときはストレージプールが未初期化です。(lxd init を省略した場合など)
ストレージは自動で初期化されることもあるようですが。未作成になることもありました。
現在のストレージプールを確認
lxc storage ls
存在しない場合は作成する。
lxc storage create default btrfs
ストレージプールをデフォルト指定する
lxc profile device add default root disk path=/ pool=default
上記のコマンドは、次のようになっている。lxc profile device add default root disk path=/ pool=$myname
また、プロファイルが最上位になる。
- default : profile
- root : name
- disk
- path
- root : name
削除する場合
snap remove lxd
データは残してくれます。うっかり削除しても安心。
残存データも削除
データも含めて完全に削除する場合 snap forget #id
sudo snap forget $( sudo snap saved | grep lxd | cut -d ' ' -f 1 ) Snapshot #1 forgotten.
ID の調べ方。
sudo snap saved Set Snap Age Version Rev Size Notes 1 lxd 2m18s 5.0.1-9dcf35b 23545 426MB auto
これで、snap 経由で lxd を使ってコンテナを使った仮想マシンが気軽に作れるようになる。
残存データを残さないように消す
snap saved が作られるので削除が遅い。ってなるときは完全削除を選ぶ。
sudo snap remove lxd --purge