Red Hat Training

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

23.19. ストレージボリューム

ストレージボリュームは通常、ファイルまたはデバイスノードのいずれかになります。1.2.0 以降では、出力専用のオプションの属性タイプは実際のタイプ (ファイル、ブロック、dir、ネットワーク、または netdir) のリストを表示するようになりました。

23.19.1. 一般的なメタデータ

<volume> 要素の最上部には、この XML の例に示すように、メタデータと呼ばれる情報が含まれています。

図23.83 ストレージボリュームの一般的なメタデータ

         
      ...
      <volume type='file'>
        <name>sparse.img</name>
        <key>/var/lib/libvirt/images/sparse.img</key>
        <allocation>0</allocation>
        <capacity unit="T">1</capacity>
        ...
      </volume>
         

この表 (表23.30「ボリュームの子要素」) は、親 <volume> 要素に有効な子要素を説明します。

表23.30 ボリュームの子要素

要素 説明
<name> ストレージプールに固有のストレージボリュームの名前を提供します。ストレージボリュームを定義する場合に必須です。
<鍵 (key)> 1 つのストレージボリュームを識別するストレージボリュームの識別子を提供します。場合によっては、1 つのストレージボリュームを識別する 2 つの異なる鍵を持つことができます。ストレージボリュームは常に生成されるため、このフィールドは、ストレージボリュームの作成時には設定できません。
<allocation> ストレージボリュームへのストレージの合計割り当てを提供します。これは、ストレージボリュームがスパースに割り当てられると、論理容量よりも小さい可能性があります。ストレージボリュームに、メタデータのオーバーヘッドが大量にある場合は、論理容量よりも大きくなることもあります。この値はバイト単位です。ストレージボリュームの作成時に省略した場合は、作成時にストレージボリュームが完全に割り当てられます。容量より小さい値に設定すると、ストレージプールでストレージボリュームのスパース割り当てを選択できるようになります。ストレージプールのタイプによって、スパースストレージボリュームの扱い方が異なります。たとえば、論理プールが満杯になっても、ストレージボリュームの割り当ては自動的に拡張されません。ユーザーは、ストレージボリュームを設定したり、自動的に割り当てるように dmeventd を設定したりします。デフォルトでは、これはバイト単位で指定されます。注記 を参照
<capacity> ストレージボリュームの論理容量を提供します。この値は、デフォルトではバイト単位ですが、<unit> 属性は、注記 で説明されている <allocation> と同じセマンティックで指定できます。ストレージボリュームを作成する場合は必須です。
<比較元> ストレージボリュームの基本的なストレージ割り当てに関する情報を提供します。ストレージプールのタイプによっては、利用できない場合があります。
<target> ローカルホスト物理マシン上のストレージボリュームの表現に関する情報を提供します。
注記
必要に応じて、オプションの属性unit を指定して、渡される値を調整できます。この属性は、<allocation> 要素および <capacity> 要素で使用できます。属性 unit に指定できる値は、以下のとおりです。
  • B または bytes (バイト)
  • KB (キロバイト)
  • K または KiB (キビバイト)
  • MB (メガバイト)
  • M または MiB (メビバイト)
  • GB (ギガバイト)
  • G または GiB (ギビバイト)
  • TB (テラバイト)
  • T または TiB (テビバイト)
  • PB (ペタバイト)
  • P または PiB (ピビバイト)
  • EB (エクサバイト)
  • E または EiB (エクスビバイト)

23.19.2. target 要素の設定

<target> 要素は、<volume> のトップレベル要素に配置できます。これは、ストレージボリュームで、ホスト物理マシンのファイルシステムにマッピングする方法を説明するために使用されます。この要素は、以下の子要素をとることができます。

図23.84 ターゲットの子要素

         
       <target>
          <path>/var/lib/libvirt/images/sparse.img</path>
          <format type='qcow2'/>
          <permissions>
            <owner>107</owner>
            <group>107</group>
            <mode>0744</mode>
            <label>virt_image_t</label>
          </permissions>
          <compat>1.1</compat>
          <features>
            <lazy_refcounts/>
          </features>
        </target>
         

<target> の具体的な子要素は、表23.31「ターゲットの子要素」 で説明されています。

表23.31 ターゲットの子要素

要素 説明
<path> ローカルファイルシステムでストレージボリュームにアクセスできる場所を、絶対パスで指定します。これは読み取り専用属性であるため、ボリュームの作成時に指定することはできません。
<format> プール固有のボリューム形式に関する情報を提供します。ディスクベースのストレージプールの場合は、パーティションタイプが提供されます。ファイルシステムまたはディレクトリーベースのストレージプールの場合は、ファイル形式の種類 (cow、qcow、vmdk、raw など) が提供されます。ストレージボリュームの作成時に省略した場合は、ストレージプールのデフォルトの形式が使用されます。実際の形式は、type 属性で指定されます。有効な値のリストは、「ストレージプールの使用」 にある特定のストレージプールのセクションを参照してください。
<permissions> ストレージボリュームの作成時に使用するデフォルトのパーミッションに関する情報を提供します。これは現在、割り当てられたストレージボリュームが単純なファイルであるディレクトリーまたはファイルシステムベースのストレージプールに対してのみ、役に立ちます。ストレージボリュームがデバイスノードであるストレージプールの場合、ホットプラグスクリプトがパーミッションを決定します。子要素が 4 つ含まれています。<mode> 要素には、8 進数のパーミッションセットが含まれます。<owner> 要素には、数値のユーザー ID が含まれます。<group> 要素には数値のグループ ID が含まれます。<label> 要素には、MAC (SELinux など) ラベル文字列が含まれます。
<compat> 互換性レベルを指定します。これまでは、<type='qcow2'> ボリュームにのみ使用されていました。有効な値は、qcow2 (バージョン 2) では <compat>0.10</compat> で、イメージが互換性がある QEMU バージョンを指定するための qcow2 (バージョン 3) では <compat>1.1</compat> です。<feature> 要素が存在する場合は、<compat>1.1</compat> が使用されます。省略した場合は、qemu-img のデフォルトが使用されます。
<features> 形式固有の機能。現在、<format type='qcow2'/> (バージョン 3) でのみ使用されています。有効なサブ要素には <lazy_refcounts/> が含まれます。これにより、メタデータの書き込みやフラッシュの量が減るため、初期書き込みパフォーマンスが改善されます。この改善は、特にライトスルーキャッシュモードで見られますが、クラッシュ後にイメージを修復する必要があり、参照カウンターの更新に時間がかかります。この機能は実装されると速くなるため、qcow2 (バージョン 3) でこの機能を使用することが推奨されます。

23.19.3. バッキングストア要素の設定

トップレベルの <volume> 要素には、1 つの <backingStore> 要素が含まれます。このタグは、ストレージボリュームのオプションの copy-on-write バッキングストアを説明するために使用されます。以下の子要素を含めることができます。

図23.85 バッキングストアの子要素

            
        <backingStore>
          <path>/var/lib/libvirt/images/master.img</path>
          <format type='raw'/>
          <permissions>
            <owner>107</owner>
            <group>107</group>
            <mode>0744</mode>
            <label>virt_image_t</label>
          </permissions>
        </backingStore>
            

表23.32 バッキングストアの子要素

要素 説明
<path> ローカルファイルシステムでバッキングストアにアクセスできる場所を、絶対パスで指定します。省略した場合は、このストレージボリュームにバッキングストアはありません。
<format> プール固有のバッキングストア形式に関する情報を提供します。ディスクベースのストレージプールの場合は、パーティションタイプが提供されます。ファイルシステムまたはディレクトリーベースのストレージプールの場合は、ファイル形式の種類 (cow、qcow、vmdk、raw など) が提供されます。実際の出力形式は、<type> 属性で指定します。有効な値のリストは、プール固有のドキュメントを参照してください。ほとんどのファイル形式では、同じ形式のバッキングストアが必要ですが、qcow2 形式では、異なるバッキングストア形式が使用できます。
<permissions> バッキングファイルのパーミッションに関する情報を提供します。子要素が 4 つ含まれています。<owner> 要素には、数値のユーザー ID が含まれます。<group> 要素には数値のグループ ID が含まれます。<label> 要素には、MAC (SELinux など) ラベル文字列が含まれます。