20.30. ストレージボリュームコマンド

このセクションでは、ストレージボリュームを作成し、削除し、管理するためのコマンドについて説明します。ストレージボリュームの作成には、少なくとも 1 つのストレージプールが必要になります。たとえば、ストレージプールの作成方法を示す例については、例20.79「XML ファイルによるストレージプールの作成方法」 を参照してください。ストレージプールについての情報は、「ストレージプールの使用」 を参照してください。ストレージボリュームについての情報は、「ストレージボリュームの使用」 を参照してください。

20.30.1. ストレージボリュームの作成

virsh vol-create-from pool file vol コマンドは、別のボリュームを入力として使用してボリュームを作成します。このコマンドには、ストレージプール名またはストレージプール UUID のいずれかが必要になります。このコマンドは、以下のパラメーターおよびオプションを受け入れます。
  • --pool string (必須): ストレージプールの名前、またはストレージボリュームに割り当てられるストレージプールの UUID が含まれます。このストレージプールは、この新規ストレージボリュームのベースとするために使用しているストレージボリュームに関連付けられているものと同じストレージプールである必要はありません。
  • --file string (必須): ストレージボリュームのパラメーターが含まれる XML ファイルの名前が含まれます。
  • --vol string (必須): この新規ストレージボリュームのベースとするために使用しているストレージボリュームの名前が含まれます。
  • --inputpool string (オプション): 新規ストレージボリュームの入力として使用しているストレージボリュームに関連付けられるストレージプールに名前を付けることができます。
  • --prealloc-metadata (オプション): 新規ストレージボリュームのメタデータを事前に割り当てます (完全割り当てではなく qcow2 用)。
例については、「ストレージボリュームの作成」 を参照してください。

20.30.2. パラメーターによるストレージボリュームの作成

virsh vol-create-as pool name capacity コマンドは、一連の引数からボリュームを作成します。pool 引数には、ボリュームを作成するストレージプールの名前または UUID が含まれます。このコマンドは以下の必要なパラメーターおよびオプションを取ります。
  • [--pool] string (必須): 関連付けられたストレージプールの名前が含まれます。
  • [--name] string (必須): 新規ストレージボリュームの名前が含まれます。
  • [--capacity] string (必須): 整数で表されるストレージボリュームのサイズが含まれます。デフォルトは、特に指定がない場合はバイトになります。バイト、キロバイト、メガバイト、ギガバイト、およびテラバイトのそれぞれにサフィックス b、k、M、G、 T を使用します。
  • --allocation string (オプション): 整数で表される初期の割り当てサイズが含まれます。デフォルトは、特に指定がない場合はバイトになります。
  • --format string (オプション): ファイル形式のタイプが含まれます。受け入れ可能なタイプには、raw、bochs、qcow、qcow2、qed、host_device、および vmdk が含まれます。ただし、これらはファイルベースのストレージプールのみを対象にしています。デフォルトで使用される qcow バージョンはバージョン 3 です。バージョンを変更する場合は、「target 要素の設定」 を参照してください。
  • --backing-vol string (オプション): バッキングボリュームが含まれます。これは、スナップショットを取る場合に使用されます。
  • --backing-vol-format string (オプション): バッキングボリュームの形式が含まれます。これは、スナップショットを取る場合に使用されます。
  • --prealloc-metadata (オプション): メタデータを事前に割り当てることができます (完全割り当てではなく qcow2 用のみ)。

例20.89 パラメーターのセットでストレージボリュームを作成する方法

以下の例では、100MB の vol-new という名前のストレージボリュームを作成します。これには、vdisk で構築した 例20.79「XML ファイルによるストレージプールの作成方法」 ストレージプールが含まれます。
virsh vol-create-as vdisk vol-new 100M


vol vol-new created

20.30.3. XML ファイルによるストレージボリュームの作成

virsh vol-create pool file コマンドは、ストレージボリュームパラメーターが含まれる XML ファイルから新規ストレージボリュームを作成します。

例20.90 既存の XML ファイルからストレージボリュームを作成する方法

以下の例では、下記の vol-new.xml をベースとしたストレージボリュームが作成されます。
<volume>
	<name>vol-new</name>
	<allocation>0</allocation>
	<capacity unit="M">100</capacity>
	<target>
		<path>/var/lib/libvirt/images/vol-new</path>
		<permissions>
			<owner>107</owner>
			<group>107</group>
            		<mode>0744</mode>
            		<label>virt_image_t</label>
          	</permissions>
        </target>
</volume>
ストレージボリュームはストレージプール vdisk に関連付けられます。イメージへのパスは /var/lib/libvirt/images/vol-new です。
virsh vol-create vdisk vol-new.xml

vol vol-new created

20.30.4. ストレージボリュームのクローン作成

virsh vol-clone vol-name new-vol-nameコマンドは、既存のストレージボリュームのクローンを作成します。virsh vol-create-from を使用することもできますが、ストレージボリュームのクローン作成には推奨されません。--pool string オプションを使用すると、新規ストレージボリュームに関連付けられるストレージプールを指定できます。vol 引数は、ソースストレージボリュームの名前またはキー、あるいはパスです。name 引数は、新規ストレージボリューム名前を参照します。詳細は 「virsh を使用したストレージボリュームの作成」 を参照してください。

例20.91 ストレージボリュームをクローン作成する方法

以下の例では、vol-new というストレージボリュームを新規の vol-clone というボリュームにクローンします。
virsh vol-clone vol-new vol-clone


vol vol-clone cloned from vol-new