タイプ: disk
#
注釈
disk
デバイスタイプはコンテナとVMの両方でサポートされます。
コンテナとVMの両方でホットプラグをサポートします。
ディスクデバイスはインスタンスに追加のストレージを提供します。
コンテナにとっては、それらはインスタンス内の実質的なマウントポイントです (ホスト上の既存のファイルまたはディレクトリのバインドマウントとしてか、あるいは、ソースがブロックデバイスの場合は通常のマウントのマウントポイント)。
仮想マシンは 9p
または virtiofs
(使用可能な場合) を通してホスト側のマウントまたはディレクトリを共有するか、あるいはブロックベースのディスクに対する VirtIO ディスクとして共有します。
ディスクデバイスの種類#
さまざまなソースからディスクデバイスを作成できます。
source
オプションに指定する値によって、追加されるディスクデバイスのタイプが決まります:
- ストレージボリューム
最も一般的なタイプのディスクデバイスはストレージボリュームです。
ストレージボリュームを追加するには、デバイスのsource
としてその名前を指定します:lxc config device add <instance_name> <device_name> disk pool=<pool_name> source=<volume_name> [path=<path_in_instance>]
pathはファイルシステムボリュームには必要ですが、ブロックボリュームには必要ありません。
また、
lxc storage volume attach
コマンドを使用してインスタンスにカスタムストレージボリュームをアタッチするすることもできます。
どちらのコマンドも、ストレージボリュームをディスクデバイスとして追加するための同じメカニズムを使用します。- ホスト上のパス
ホストのパス(ファイルシステムまたはブロックデバイスのいずれか)をインスタンスと共有するには、ディスクデバイスとして追加し、
source
としてホストパスを指定します:lxc config device add <instance_name> <device_name> disk source=<path_on_host> [path=<path_in_instance>]
pathはファイルシステムボリュームには必要ですが、ブロックデバイスには必要ありません。
- Ceph RBD
LXDは、インスタンスの内部ファイルシステムを管理するためにCephを使用できますが、既存の外部管理Ceph RBDをインスタンスに使用したい場合は、次のコマンドで追加できます:
lxc config device add <instance_name> <device_name> disk source=ceph:<pool_name>/<volume_name> ceph.user_name=<user_name> ceph.cluster_name=<cluster_name> [path=<path_in_instance>]
pathはファイルシステムボリュームには必要ですが、ブロックデバイスには必要ありません。
- CephFS
LXDはインスタンスで内部のファイルシステムの管理にCephを使えますが、既存の外部で管理されているCephファイルシステムをインスタンスで使用したい場合は、以下のコマンドで追加できます。
lxc config device add <instance_name> <device_name> disk source=cephfs:<fs_name>/<path> ceph.user_name=<user_name> ceph.cluster_name=<cluster_name> path=<path_in_instance>
- ISO file
仮想マシンにはISOファイルをディスクデバイスとして追加できます。 ISOファイルはVM内部のROMデバイスとして追加されます。
このソースタイプはVMでのみ利用可能です。
ISOファイルを追加するには、そのファイルパスを
source
として指定します。lxc config device add <instance_name> <device_name> disk source=<file_path_on_host>
- VM cloud-init
cloud-init.vendor-data
、cloud-init.user-data
設定キー(インスタンスオプション参照)からcloud-init
設定のISO イメージを生成し、仮想マシンにアタッチできます。このソースタイプはVMでのみ利用可能です。
そのようなデバイスを追加するには、以下のコマンドを使用します。
lxc config device add <instance_name> <device_name> disk source=cloud-init:config
デバイスオプション#
disk
デバイスには以下のデバイスオプションがあります。
キー |
型 |
デフォルト値 |
必須 |
説明 |
---|---|---|---|---|
|
integer |
- |
no |
VM のブート優先度 (高いほうが先にブート) |
|
string |
|
no |
Ceph クラスタのクラスタ名 (Ceph か CephFS のソースには必須) |
|
string |
|
no |
Ceph クラスタのユーザ名 (Ceph か CephFS のソースには必須) |
|
string |
|
no |
VMのみ: デバイスのキャッシュモードを上書きする ( |
|
string |
- |
no |
読み取りと書き込み両方のbyte/sかIOPSによるI/O制限 ( |
|
string |
- |
no |
byte/s(さまざまな単位が使用可能、ストレージとネットワーク制限の単位参照)もしくはIOPS(あとに |
|
string |
- |
no |
byte/s(さまざまな単位が使用可能、ストレージとネットワーク制限の単位参照)もしくはIOPS(あとに |
|
string |
- |
yes |
ディスクをマウントするインスタンス内のパス(コンテナのみ) |
|
string |
- |
no |
ディスクデバイスが属するストレージプール(LXD が管理するストレージボリュームにのみ適用可能) |
|
string |
- |
no |
バインドマウントをインスタンスとホストでどのように共有するかを管理する( |
|
string |
- |
no |
ファイルシステム固有のマウントオプション |
|
bool |
|
no |
マウントを読み込み専用とするかどうかを制御 |
|
bool |
|
no |
ソースパスを再帰的にマウントするかどうかを制御 |
|
bool |
|
no |
ソースが存在しないときに失敗とするかどうかを制御 |
|
bool |
|
no |
ソースの UID/GID をインスタンスにマッチするように変換させるためにオーバーレイの shift を設定するか(コンテナのみ) |
|
string |
- |
no |
byte(さまざまな単位が使用可能、 ストレージとネットワーク制限の単位 参照)で指定するディスクサイズ。 |
|
string |
- |
no |
上の |
|
string |
- |
yes |
ファイルシステムまたはブロックデバイスのソース(詳細はディスクデバイスの種類参照) |