テクノロイド

コンピュータやゲーム他、色々日々思ったことをつづっていきます。

LXD3.0でzfsのストレージプールを作ってみた(追記有り)

2018-10-28 03:30:58 | LXC/LXD,コンテナ,snaps
(追記)見直してみたら、-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 何か間違ってるのか。
$ 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
コメント    この記事についてブログを書く
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Android-x86 8.1 RC2 | トップ | Android-x86の非root化(unroot) »
最新の画像もっと見る

コメントを投稿

LXC/LXD,コンテナ,snaps」カテゴリの最新記事