それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Debainでlxc/lxdをインストールする snap

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

削除する場合

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