13.8.2. vHBA を使用してストレージプールを作成する

vHBA 設定を保持するには、vHBA に基づく libvirt ストレージプールを定義することが推奨されます。
ストレージプールの使用には、以下の 2 つの利点があります。
  • libvirt コードにより、virsh コマンド出力で LUN のパスを容易に特定できます。
  • 仮想マシンの移行には、ターゲットマシン上に同じ vHBA 名を持つストレージプールを定義し、起動することのみが必要になります。これを実行するには、vHBA LUN、libvirt ストレージプールおよびボリューム名を仮想マシンの XML 設定で指定する必要があります。この例については、「仮想マシンが vHBA LUN を使用するよう設定する」 を参照してください。
  1. SCSI ストレージプールの作成

    vHBA 設定を作成するには、まず以下の形式を使用して vHBA に基づく libvirt 'scsi' ストレージプールの XML ファイルを作成します。

    注記

    ストレージプール設定では、ホスト名に 手順13.8「vHBA の作成」 で作成した vHBA を使用し、vHBA 名 scsi_hostNhostN に修正してください。ここの例では vHBA の名前は scsi_host5 となり、これは Red Hat Enterprise Linux 6 libvirt ストレージプールでは <adapter name='host5'/> と指定されます。
    <path> の値には、ご使用のシステム上の /dev/disk/by-{path|id|uuid|label} のいずれかなど、安定した場所を使用することが推奨されます。 <path><target> 内の要素についての詳細は、http://libvirt.org/formatstorage.html を参照してください。
    以下の例では、'scsi' ストレージプールの名前は vhbapool_host3.xml となっています。
      <pool type='scsi'>
         <name>vhbapool_host3</name> 
         <uuid>e9392370-2917-565e-692b-d057f46512d6</uuid>
         <capacity unit='bytes'>0</capacity>
         <allocation unit='bytes'>0</allocation>
         <available unit='bytes'>0</available>
         <source>
           <adapter name='host5'/> 
         </source>
          <target>
            <path>/dev/disk/by-path</path>
            <permissions>
              <mode>0700</mode>
              <owner>0</owner>
              <group>0</group>
            </permissions>
          </target>
        </pool>
  2. プールの定義

    ストレージプール (この例では vhbapool_host3 という名前) を定義するには、virsh pool-define コマンドを使用します。
             # virsh pool-define vhbapool_host3.xml
             Pool vhbapool_host3 defined from vhbapool_host3.xml
  3. プールの起動

    以下のコマンドでストレージプールを起動します。
    # virsh pool-start vhbapool_host3
    Pool vhbapool_host3 started
  4. autostart の有効化

    最後に、この後のホストの起動で仮想マシンで使用される vHBA が自動的に定義されるようにするために、ストレージプールの autostart 機能を設定します (この例では、プールの名前は vhbapool_host3 です)。
    # virsh pool-autostart vhbapool_host3