ストレージプールを管理するには#

ストレージプール を作成、設定、表示、リサイズするための手順については以下のセクションを参照してください。

ストレージプールを作成する#

LXD は初期化中にストレージプールを作成します。 同じドライバあるいは別のドライバを使用して、後からさらにストレージプールを追加できます。

ストレージプールを作成するには以下のコマンドを使用します。

lxc storage create <pool_name> <driver> [configuration_options...]

別途指定しない場合は、 LXD は実用的なデフォルトのサイズ (空きディスクスペースの20%、しかし最低5GiBで最大30GIB) でループベースのストレージをセットアップします。

それぞれのドライバで利用可能な設定オプションの一覧は ストレージドライバ ドキュメントを参照してください。

#

それぞれのストレージドライバでストレージプールを作成する例は以下を参照してください。

pool1 という名前のディレクトリプールを作成する。

lxc storage create pool1 dir

/data/lxd という既存のディレクトリを使って pool2 を作成する。

lxc storage create pool2 dir source=/data/lxd

クラスター内にストレージプールを作成する#

LXD クラスターを稼働していてストレージプールを追加したい場合、それぞれのクラスターメンバー内にストレージを別々に作る必要があります。 この理由は、設定、例えばストレージのロケーションやプールのサイズがクラスターメンバー間で異なるかもしれないからです。

このため、 --target=<cluster_member> フラグを指定してストレージプールをペンディング状態でまず作成し、メンバーごとに適切な設定を行う必要があります。 全てのメンバーで同じストレージプール名を使用しているか確認してください。 次に --target フラグなしでストレージプールを作成し、実際にセットアップします。

例えば、以下の一連のコマンドは 3 つのクラスターメンバー上で異なるロケーションと異なるサイズで my-pool という名前のストレージプールをセットアップします。

lxc storage create my-pool zfs source=/dev/sdX size=10GB --target=vm01
lxc storage create my-pool zfs source=/dev/sdX size=15GB --target=vm02
lxc storage create my-pool zfs source=/dev/sdY size=10GB --target=vm03
lxc storage create my-pool zfs

注釈

ほとんどのストレージドライバでは、ストレージプールは各クラスターメンバー上にローカルに存在します。 これは 1 つのメンバー上のストレージプール内にストレージボリュームを作成しても、別のクラスターメンバー上では利用可能にはならないことを意味します。

この挙動は Ceph ベースのストレージプール (cephcephfscephobject) では異なります。これらではストレージプールは 1 つの中央のロケーション上に存在し、全てのクラスターメンバーが同じストレージボリュームを持つ同じストレージプールにアクセスします。

ストレージプールを設定する#

各ストレージドライバで利用可能な設定オプションについては ストレージドライバ ドキュメントを参照してください。

(source のような) ストレージプールの一般的なキーはトップレベルです。 ドライバ固有のキーはドライバ名で名前空間が分けられています。

ストレージプールに設定オプションを設定するには以下のコマンドを使用します。

lxc storage set <pool_name> <key> <value>

例えば、 dir ストレージプールでストレージプールのマイグレーション中に圧縮をオフにするには以下のコマンドを使用します。

lxc storage set my-dir-pool rsync.compression false

ストレージプールの設定を編集するには以下のコマンドを使用します。

lxc storage edit <pool_name>

ストレージプールを表示する#

全ての利用可能なストレージプールの一覧を表示し設定を確認できます。

以下のコマンドで全ての利用可能なストレージプールを一覧表示できます。

lxc storage list

出力結果の表には (訳注: LXD の) 初期化時に作成した (通常 defaultlocal と呼ばれる) ストレージプールとあなたが追加したあらゆるストレージプールが含まれます。

特定のプールに関する詳細情報を表示するには、以下のコマンドを使用します。

lxc storage show <pool_name>

ストレージプールをリサイズする#

ストレージがもっと必要な場合、ストレージプールのサイズを拡大できます。

ストレージプールのサイズを拡大するには以下の一般的なステップに従います。

  1. ディスク上のストレージのサイズを拡大する。

  2. サイズの変更をファイルシステムに知らせる。

ストレージドライバごとの固有のコマンドは以下を参照してください。

ループバックの Btrfs プールを 5 ギガバイト拡大するには以下のコマンドを入力します。

sudo truncate -s +5G <LXD_lib_dir>/disks/<pool_name>.img
sudo losetup -c <loop_device>
sudo btrfs filesystem resize max <LXD_lib_dir>/storage-pools/<pool_name>/

以下の変数を置き換えてください。

<LXD_lib_dir>

snap を使用している場合 /var/snap/lxd/common/mntns/var/snap/lxd/common/lxd/ またはそれ以外の場合 /var/lib/lxd/

<pool_name>

ストレージプールの名前 (例えば my-pool)。

<loop_device>

ストレージプールイメージに関連付けられているマウントされたループデバイス (例 /dev/loop8)。 ループデバイスを見つけるには losetup -j <LXD_lib_dir>/disks/<pool_name>.img と入力します。  losetup -l を使ってマウントされた全てのループデバイスのを一覧表示することもできます。