Login
Immutable PageDiscussionInfoAttachments
akky/lxd

MMA

LXDメモ

公式サイト: https://linuxcontainers.org/ja/lxd/
日本語ドキュメント: https://lxd-ja.readthedocs.io/ja/latest/

ホストのOSはDebian/Ubuntuを想定。個人的なメモです。

インストール

snapでlxdをインストールし、lxdグループにユーザーを追加する。

sudo apt install snapd # snapが入っていない場合はインストールする
sudo snap install lxd
sudo gpasswd -a akky lxd

LXDの初期設定

LXDのストレージやネットワークを設定する。

ストレージは後から追加したり、パーティションやイメージファイルを拡張して容量を増やすこともできるが、面倒なのでLXDのストレージ用に専用ディスク(SSD/HDD)を用意しておくのがおすすめ。

ネットワークについてはコンテナのIPアドレスの割当を外部のDHCPサーバで行う場合はブリッジの設定が必要。特になければデフォルト(LXD内部のdnsmasqで割当)のままにする。

lxd init
Would you like to use LXD clustering? (yes/no) [default=no]:
Do you want to configure a new storage pool? (yes/no) [default=yes]:
Name of the new storage pool [default=default]:
Name of the storage backend to use (dir, lvm, ceph, btrfs) [default=btrfs]:
Would you like to create a new btrfs subvolume under /var/snap/lxd/common/lxd? (yes/no) [default=yes]: no
Create a new BTRFS pool? (yes/no) [default=yes]:
Would you like to use an existing empty block device (e.g. a disk or partition)? (yes/no) [default=no]: yes
Path to the existing block device: /dev/sdX # lXDストレージ用デバイス
Would you like to connect to a MAAS server? (yes/no) [default=no]:
Would you like to create a new local network bridge? (yes/no) [default=yes]:
What should the new bridge be called? [default=lxdbr0]:
What IPv4 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
What IPv6 address should be used? (CIDR subnet notation, “auto” or “none”) [default=auto]:
Would you like the LXD server to be available over the network? (yes/no) [default=no]:
Would you like stale cached images to be updated automatically? (yes/no) [default=yes]
Would you like a YAML "lxd init" preseed to be printed? (yes/no) [default=no]:

lxcコマンド

コンテナの作成

lxc launch ubuntu:20.04 c0 # ubnutu
lxc launch images:debian/10/cloud c1 # debian
lxc launch images:archlinux/cloud c2 # arch linux

配布イメージの検索

lxc image list images:arch # images:で配布されているイメージを検索できる

コンテナのコマンド実行

--の後にコマンドを書く

lxc exec c0 -- echo "hello world"
hello world

ルートユーザーでログイン

lxc exec c0 -- su # bashとかでもOK

一般ユーザーでログイン

lxc exec c0 -- su - ubuntu

akky/lxd (last edited 2021-03-26 07:14:36 by akky)