Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.29. ストレージプールコマンド

libvirt を使用すると、仮想マシン内でデバイスとして表示されるストレージボリュームを提供するために使用されるファイル、raw パーティション、ドメイン固有の形式など、さまざまなストレージソリューションを管理できます。詳細は、libvirt のアップストリームページを参照してください。ストレージプールを管理するコマンドの多くは、ゲスト仮想マシンに使用されるコマンドと似ています。

20.29.1. ストレージプール XML の検索

virsh find-storage-pool-sources type コマンドは、見つかったソースのすべてのストレージプールを記述する XML を表示します。これには、netfs、disk、dir、fs、iscsi、logical、gluster などのタイプが含まれます。すべてのタイプはストレージバックエンドドライバーに対応し、より多くのタイプが利用できます(詳細は man ページを参照してください)。--srcSpec オプションを使用してテンプレートソースの XML ファイルを指定して、プールのクエリーをさらに制限することもできます。

例20.71 利用可能なストレージプールの XML 設定を一覧表示する方法

以下の例は、システムで利用可能な論理ストレージプールの XML 設定を出力します。
# virsh find-storage-pool-sources logical
<sources>
  <source>
    <device path='/dev/mapper/luks-7a6bfc59-e7ed-4666-a2ed-6dcbff287149'/>
    <name>RHEL_dhcp-2-157</name>
    <format type='lvm2'/>
  </source>
</sources>

20.29.2. ストレージプールの検索

virsh find-storage-pool-sources-as type コマンドは、特定タイプのストレージプールソースを検索します。これには、netfs、disk、dir、fs、iscsi、logical、gluster などのタイプが含まれます。すべてのタイプはストレージバックエンドドライバーに対応し、より多くのタイプが利用できます(詳細は man ページを参照してください)。このコマンドは、オプションの引数ホスト、ポート 、およびイニシエーターを取ります。これらの各オプションはクエリークエリーを決定します。

例20.72 潜在的なストレージプールのソースを見つける方法

以下の例では、指定されたホストマシンでディスクベースのストレージプールを検索します。ホスト名が不明な場合は、virsh hostname を最初に実行します。
# virsh find-storage-pool-sources-as disk
--host myhost.example.com

20.29.3. ストレージプール情報の表示

virsh pool-info pool コマンドは、指定したストレージプールオブジェクトに関する基本情報を表示します。このコマンドには、ストレージプールの名前または UUID が必要です。この情報を取得するには、pool-list コマンドを使用します。

例20.73 ストレージプールに関する情報を取得する方法

以下の例では、vdisk という名前のストレージプールに関する情報を取得します。
# virsh pool-info vdisk

Name:           vdisk
UUID:
State:          running
Persistent:     yes
Autostart:      no
Capacity:       125 GB
Allocation:     0.00
Available:      125 GB

20.29.4. 利用可能なストレージプールの一覧表示

virsh pool-list コマンドは、libvirt が認識するストレージプールオブジェクトの一覧を表示します。デフォルトでは、アクティブなプールのみが一覧表示されていますが、--inactive 引数を使用すると、アクティブでないプールのみが一覧表示されます。--all 引数を使用すると、すべてのストレージプールが一覧表示されます。このコマンドは、以下のオプションの引数を取ります。これにより、検索結果をフィルタリングします。
  • --inactive - 非アクティブストレージプールを一覧表示します。
  • --all - アクティブなストレージプールと非アクティブなストレージプールの両方を一覧表示
  • --persistent - 永続ストレージプールを一覧表示します。
  • --transient - 一時的なストレージプールを一覧表示します。
  • --autostart - 自動起動が有効になっているストレージプールの表示
  • --no-autostart - 自動起動が無効になっているストレージプールを一覧表示します。
  • --type type - 指定されたタイプのみであるプールを一覧表示します。
  • --details - ストレージプールの拡張詳細を一覧表示します。
上記の引数に加えて、リストのコンテンツのフィルターに使用できるフィルターフラグがいくつかあります。--persistent はリストを永続プールに制限します。--transient はリストを一時的なプールに制限します。--autostart は、リストを自動プールだけに制限し、finally --no-autostart は、無効化されたストレージプールにリストを制限します。
--type を必要とするすべてのストレージプールコマンドの場合は、プールタイプはコンマで区切る必要があります。有効なプールタイプには、dir、fs、 net fs、logical、disk、iscsi、scsi、mpath、rbd、see pdog、および gluster が含まれます。
--details オプションは、virsh に、利用可能なプールの永続性および容量関連の情報を表示するよう指示します。
注記
このコマンドは、古いサーバーで使用されると、プールがリストされていない、またはリストが収集される間に呼び出しの状態を変更すると、それ以上の API 呼び出しを使用することが強制されます。ただし、新しいサーバーにはこの問題がありません。

例20.74 すべてのストレージプールを一覧表示する方法

以下の例では、アクティブおよび非アクティブの両方のストレージプールを一覧表示します。
# virsh pool-list --all
Name                 State      Autostart
-----------------------------------------
default             active     yes
vdisk               active     no

20.29.5. ストレージプール一覧の更新

virsh pool-refresh pool コマンドは、ストレージプールに含まれるストレージボリュームの一覧を更新します。

例20.75 ストレージプール内のストレージボリュームの一覧を更新する方法

以下の例では、vdisk という名前のストレージボリュームの一覧を更新します
# virsh pool-refresh vdisk

Pool vdisk refreshed

20.29.6. ストレージプールの作成、定義、開始

20.29.6.1. ストレージプールの構築

virsh pool-build pool コマンドは、コマンドで指定された名前を使用してストレージプールをビルドします。オプションの引数 --overwrite および --no-overwrite は、FS ストレージプールまたはディスクまたは論理型ベースのストレージプールでのみ使用できます。[--overwrite] または [--no-overwrite] が指定されていない場合、使用されるプールが FS である場合はタイプが実際にディレクトリーベースであると仮定されます。プール名に加えて、ストレージプール UUID も使用できます。
--no-overwrite が指定されている場合は、そのファイルシステムがターゲットデバイスに存在するかどうかを判断するプローブで、存在する場合はエラーを返したり、mkfs を使用してターゲットデバイスをフォーマットします。--overwrite を指定すると、mkfs コマンドを実行すると、ターゲットデバイスの既存のデータが上書きされます。

例20.76 ストレージプールの構築方法

以下の例では、vdisk という名前のディスクベースのストレージプールを作成します。
# virsh pool-build vdisk

Pool vdisk built

20.29.6.2. XML ファイルからのストレージプールの定義

virsh pool-define file コマンドは作成されますが、XML ファイルからストレージプールオブジェクトを開始しません。

例20.77 XML ファイルからストレージプールの定義方法

この例では、ストレージプールの設定が含まれる XML ファイルをすでに作成していることを前提としています。以下に例を示します。
<pool type="dir">
	<name>vdisk</name>
	<target>
          <path>/var/lib/libvirt/images</path>
	</target>
</pool>
以下のコマンドは、XML ファイル(この例では vdisk.xml )からディレクトリータイプのストレージプールをビルドします。
# virsh pool-define vdisk.xml

Pool vdisk defined
ストレージプールが定義されていることを確認するには、以下に示すように virsh pool-list --all 例20.74「すべてのストレージプールを一覧表示する方法」。ただし、コマンドを実行すると、プールが開始されていないため、ステータスは inactive と表示されます。例20.81「ストレージプールの起動方法」

20.29.6.3. ストレージプールの作成

virsh pool-create file コマンドは、関連する XML ファイルからストレージプールを作成して開始します。

例20.78 XML ファイルからストレージプールを作成する方法

この例では、ストレージプールの設定が含まれる XML ファイルがすでに作成済みであることを前提としています。以下に例を示します。
<pool type="dir">
	<name>vdisk</name>
	<target>
          <path>/var/lib/libvirt/images</path>
	</target>
</pool>
以下の例では、XML ファイル(この例では vdisk.xml )に基づいてディレクトリータイプのストレージプールを構築します。
# virsh pool-create vdisk.xml

Pool vdisk created
ストレージプールが作成されたことを確認するには、にあるように virsh pool-list --all 例20.74「すべてのストレージプールを一覧表示する方法」。ただし、コマンドを実行すると、プールが開始されていないため、ステータスは inactive と表示されます。例20.81「ストレージプールの起動方法」

20.29.6.4. ストレージプールの作成

virsh pool-create-as name コマンドは、指定された raw パラメーターからプールオブジェクト名を作成して開始します。このコマンドは、以下のオプションを取ります。
  • --print-xml - XML ファイルの内容を表示しますが、そこからストレージプールを定義したり、作成したりしません。
  • --type タイプはストレージプールのタイプを定義します「利用可能なストレージプールの一覧表示」
  • --source-host hostname - 基礎となるストレージのソースホストの物理マシン
  • --source-path path - 基礎となるストレージの場所
  • --source-dev path - 基礎となるストレージのデバイス
  • --source-name name - 基礎となるストレージの名前
  • --source-format format - ソースの基礎となるストレージの形式
  • --target path - 基礎となるストレージのターゲットです。

例20.79 ストレージプールを作成して起動する方法

以下の例では、/mnt ディレクトリーで vdisk という名前のストレージプールを作成して開始します。
# virsh pool-create-as --name vdisk --type dir --target /mnt

Pool vdisk created

20.29.6.5. ストレージプールの定義

virsh pool-define-as <name> コマンドは作成しますが、指定された raw パラメーターからプールオブジェクト名を開始しません。上記のコマンドでは、以下のオプションを使用できます。
  • --print-xml - XML ファイルの内容を表示しますが、そこからストレージプールを定義したり、作成したりしません。
  • --type タイプはストレージプールのタイプを定義します「利用可能なストレージプールの一覧表示」
  • --source-host hostname - 基礎となるストレージのソースホストの物理マシン
  • --source-path path - 基礎となるストレージの場所
  • --source-dev devicename - 基礎となるストレージのデバイス
  • --source-name sourcename - 基礎となるストレージの名前
  • --source-format format - ソースの基礎となるストレージの形式
  • --target targetname - 基礎となるストレージのターゲット
--print-xml を指定すると、プールを作成または定義せずにプールオブジェクトの XML が出力されます。それ以外の場合、プールには指定された型を構築する必要があります。タイプを必要とするすべてのストレージプールコマンドでは、プールタイプはコンマで区切る必要があります。有効なプールタイプには、dir、fs、 net fs、logical、disk、iscsi、scsi、mpath、rbd、see pdog、および gluster が含まれます。

例20.80 ストレージプールの定義方法

以下の例では、vdisk という名前のストレージプールを定義しますが、これは起動しません。このコマンドの実行後、virsh pool-start コマンドを使用してストレージプールを有効にします。
# virsh pool-define-as --name vdisk --type dir --target /mnt

Pool vdisk defined

20.29.6.6. ストレージプールの起動

virsh pool-start pool コマンドは、以前に定義されていましたが、アクティブではないストレージプールを起動します。このコマンドは、ストレージプール名とプールの名前に UUID を使用することもできます。

例20.81 ストレージプールの起動方法

# virsh pool-start vdisk

Pool vdisk started
プールが起動していることを確認するには、virsh pool-list --all 例20.74「すべてのストレージプールを一覧表示する方法」

20.29.6.7. ストレージプールの自動起動

virsh pool-autostart pool コマンドを使用すると、システムの起動時にストレージプールを自動的に開始できます。このコマンドには、プール名または UUID が必要です。pool-autostart コマンドを無効にするには、コマンドの --disable 引数を使用します。

例20.82 ストレージプールの自動起動

# virsh pool-autostart vdisk

Pool vdisk autostarted

20.29.7. ストレージプールの停止と削除

virsh pool-destroy pool コマンドは、ストレージプールを停止します。停止すると、libvirt はプールを管理できなくなりますが、プールに含まれる未加工データは変更されず、pool-create コマンドで後で回復できます。

例20.83 ストレージプールの停止方法

# virsh pool-destroy vdisk

Pool vdisk destroyed
virsh pool-delete pool コマンドは、指定したストレージプールが使用するリソースを破棄します。この操作は、回復できず、できないことに留意することが重要です。ただし、このコマンド後もプール構造はそのまま存在し、新規ストレージボリュームの作成を受け入れる準備ができています。

例20.84 ストレージプールの削除方法

# virsh pool-delete vdisk

Pool vdisk deleted
virsh pool-undefine pool コマンドは、非アクティブプールの設定の定義を解除します。

例20.85 ストレージプールの定義を解除する方法

以下の例では、でビルドした vdisk 例20.78「XML ファイルからストレージプールを作成する方法」。これにより、ストレージプールは一時的になります。
# virsh pool-undefine vdisk

Pool vdisk undefined

20.29.8. プールの XML ダンプファイルの作成

virsh pool-dumpxml pool コマンドは、指定したストレージプールオブジェクトに関する XML 情報を返します。--inactive オプションを使用すると、現在のプール設定の代わりにプールの次回起動時に使用される設定をダンプします。

例20.86 ストレージプールの設定の取得方法

以下の例では、ビルドした vdisk 例20.78「XML ファイルからストレージプールを作成する方法」。コマンドを実行すると、設定ファイルはターミナルで開きます。
# virsh pool-dumpxml vdisk
<pool type="dir">
	<name>vdisk</name>
	<target>
          <path>/var/lib/libvirt/images</path>
	</target>
</pool>

20.29.9. ストレージプールの設定ファイルの編集

pool-edit pool コマンドにより、指定のストレージプールの XML 設定ファイルを開いて編集します。
この方法は、適用前にエラーチェックを行うため、XML 設定ファイルの編集に使用する唯一の方法です。

例20.87 ストレージプールの設定の編集方法

以下の例では、ビルドした vdisk 例20.78「XML ファイルからストレージプールを作成する方法」。コマンドを実行すると、設定ファイルをデフォルトのエディターで開きます。
# virsh pool-edit vdisk
<pool type="dir">
	<name>vdisk</name>
	<target>
          <path>/var/lib/libvirt/images</path>
	</target>
</pool>

このページには機械翻訳が使用されている場合があります (詳細はこちら)。