(追記)見直してみたら、-sオプションを知らなかったせいか変なことやってる。「UWR#571 LXD 3.0のストレージ設定」を参照した方が良さげ。
lxd initのデフォルトで作成したbtrfsなストレージプールが一杯になったので、新しいストレージプールを作る必要があったのでzfsで作ってみた。
今はzfsがデフォルトに変更された?
# 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]:
The requested storage pool "default" already exists. Please choose another name.
Name of the new storage pool [default=default]: newsp
Name of the storage backend to use (btrfs, dir, zfs) [default=zfs]:
Create a new ZFS pool? (yes/no) [default=yes]:
Would you like to use an existing block device? (yes/no) [default=no]:
Size in GB of the new loop device (1GB minimum) [default=21GB]:
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]: no
Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]: yes
Name of the existing bridge or host interface: lxdbr0
Would you like LXD 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]:
Error: Failed to update profile 'default': At least one container relies on this profile's root disk device.
lxd initで新しいprofileが作れるのかと思ってたらエラーだったので、新規ストレージプールを作成してから新しいprofileを作成した。
$ lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| default | | btrfs | /var/lib/lxd/disks/default.img | 9 |
+---------+-------------+--------+--------------------------------+---------+
$ lxc storage create stplzfs zfs
ストレージプール stplzfs を作成しました
$ lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| default | | btrfs | /var/lib/lxd/disks/default.img | 9 |
+---------+-------------+--------+--------------------------------+---------+
| stplzfs | | zfs | /var/lib/lxd/disks/stplzfs.img | 0 |
+---------+-------------+--------+--------------------------------+---------+
$ lxc storage volume list stplzfs
+------+------+-------------+---------+
| TYPE | NAME | DESCRIPTION | USED BY |
+------+------+-------------+---------+
$ lxc profile copy default profzfs
$ lxc profile show profzfs
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
name: profzfs
used_by: []
$ lxc profile set profzfs pool stplzfs
Error: Unknown configuration key: pool
コマンドでprofileの値を変更する方法がわからなかったのでエディタで編集。
$ lxc profile edit profzfs
$ lxc copy conA newcon --profile profzfs
Error: copying containers between different storage pools is not implemented
やはりLXD3.2以降じゃないとcopyできないらしいので、リモートホストからcopy。
$ lxc copy remoho:conA --profile profzfs
コンテナを転送中: conA: 1.80GB (4.27MB/s)
コンテナ名: conA
成功。dfするとdefault(btrfs)とマウント表示が違うんだけど、zfsのせい or lxc storage createのせい or 何か間違ってるのか。
lxd initのデフォルトで作成したbtrfsなストレージプールが一杯になったので、新しいストレージプールを作る必要があったのでzfsで作ってみた。
今はzfsがデフォルトに変更された?
# 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]:
The requested storage pool "default" already exists. Please choose another name.
Name of the new storage pool [default=default]: newsp
Name of the storage backend to use (btrfs, dir, zfs) [default=zfs]:
Create a new ZFS pool? (yes/no) [default=yes]:
Would you like to use an existing block device? (yes/no) [default=no]:
Size in GB of the new loop device (1GB minimum) [default=21GB]:
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]: no
Would you like to configure LXD to use an existing bridge or host interface? (yes/no) [default=no]: yes
Name of the existing bridge or host interface: lxdbr0
Would you like LXD 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]:
Error: Failed to update profile 'default': At least one container relies on this profile's root disk device.
lxd initで新しいprofileが作れるのかと思ってたらエラーだったので、新規ストレージプールを作成してから新しいprofileを作成した。
$ lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| default | | btrfs | /var/lib/lxd/disks/default.img | 9 |
+---------+-------------+--------+--------------------------------+---------+
$ lxc storage create stplzfs zfs
ストレージプール stplzfs を作成しました
$ lxc storage list
+---------+-------------+--------+--------------------------------+---------+
| NAME | DESCRIPTION | DRIVER | SOURCE | USED BY |
+---------+-------------+--------+--------------------------------+---------+
| default | | btrfs | /var/lib/lxd/disks/default.img | 9 |
+---------+-------------+--------+--------------------------------+---------+
| stplzfs | | zfs | /var/lib/lxd/disks/stplzfs.img | 0 |
+---------+-------------+--------+--------------------------------+---------+
$ lxc storage volume list stplzfs
+------+------+-------------+---------+
| TYPE | NAME | DESCRIPTION | USED BY |
+------+------+-------------+---------+
$ lxc profile copy default profzfs
$ lxc profile show profzfs
config: {}
description: Default LXD profile
devices:
eth0:
name: eth0
nictype: bridged
parent: lxdbr0
type: nic
root:
path: /
pool: default
type: disk
name: profzfs
used_by: []
$ lxc profile set profzfs pool stplzfs
Error: Unknown configuration key: pool
コマンドでprofileの値を変更する方法がわからなかったのでエディタで編集。
$ lxc profile edit profzfs
$ lxc copy conA newcon --profile profzfs
Error: copying containers between different storage pools is not implemented
やはりLXD3.2以降じゃないとcopyできないらしいので、リモートホストからcopy。
$ lxc copy remoho:conA --profile profzfs
コンテナを転送中: conA: 1.80GB (4.27MB/s)
コンテナ名: conA
成功。dfするとdefault(btrfs)とマウント表示が違うんだけど、zfsのせい or lxc storage createのせい or 何か間違ってるのか。
$ df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 787M 1.7M 785M 1% /run /dev/sda1 110G 57G 48G 55% / (略) /dev/loop23 21G 17G 3.9G 82% /var/lib/lxd/storage-pools/default stplzfs/containers/conA 16G 831M 15G 6% /var/lib/lxd/storage-pools/stplzfs/containers/conA