Red Hat Training

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

12.8. SCSI デバイスでの NPIV 仮想アダプター (vHBA) の使用

NPIV (N_Port ID Virtualization) は、1 つの物理ファイバーチャンネルのホストバスアダプター (HBA) の共有を可能にするソフトウェアテクノロジーです。
これにより、複数のゲストが複数の物理ホストから同じストレージを認識できるため、ストレージの移行パスが容易になります。そのため、正しいストレージパスが指定されていれば、移行を使用してストレージを作成またはコピーする必要はありません。
仮想化では、仮想ホストバスアダプター (vHBA) が仮想マシンの LUN を制御します。各 vHBA は、独自の WWNN(ワールドワイドノード名) と WWPN(ワールドワイドポート名) によって識別されます。ストレージのパスは、WWNN および WWPN の値で決定します。
このセクションでは、仮想マシン上で vHBA を設定するための手順を説明します。Red Hat Enterprise Linux 6 は、ホストの再起動後の永続的な vHBA 設定をサポートしていないことに注意してください。ホストの再起動後に vHBA 関連の設定を確認します。

12.8.1. vHBA の作成

手順12.6 vHBA の作成

  1. ホストシステムで HBA の場所を特定します。

    ホストシステム上の HBA を見つけるには、ホストシステム上の SCSI デバイスを調べ、vport 機能を持つ scsi_host を見つけます。
    以下のコマンドを実行し、scsi_host リストを取得します。
    # virsh nodedev-list --cap scsi_host
    scsi_host0
    scsi_host1
    scsi_host2
    scsi_host3
    scsi_host4
    
    scsi_hostについて、次のコマンドを実行して、デバイス XML の行 <capability type='vport_ops'> を調べます。これは、vport ケーパビリティを持つ scsi_host を示しています。
    # virsh nodedev-dumpxml scsi_hostN
  2. HBA の詳細を確認します。

    virsh nodedev-dumpxml HBA_device コマンドを実行して、HBA の詳細を表示します。
    virsh nodedev-dumpxml コマンドからの XML 出力には、フィールドが一覧表示されます <name><wwnn>、と<wwpn>、vHBA の作成に使用されます。<max_vports> の値は、サポートされる vHBA の最大数を示しています。
     # virsh nodedev-dumpxml scsi_host3
    <device>
      <name>scsi_host3</name>
      <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3</path>
      <parent>pci_0000_10_00_0</parent>
      <capability type='scsi_host'>
        <host>3</host>
        <capability type='fc_host'>
          <wwnn>20000000c9848140</wwnn>
          <wwpn>10000000c9848140</wwpn>
          <fabric_wwn>2002000573de9a81</fabric_wwn>
        </capability>
        <capability type='vport_ops'>
          <max_vports>127</max_vports>
          <vports>0</vports>
        </capability>
      </capability>
    </device>
    この例では、<max_vports> には、HBA 設定で使用できる仮想ポートが 127 個あることを示しています。<vports> 値は、現在使用されている仮想ポートの数を示します。この値は、vHBA の作成後に更新されます。
  3. vHBA ホストデバイスの作成

    vHBA ホスト用に次のような XML ファイル (この例では vhba_host3.xml という名前) を作成します。
    # cat vhba_host3.xml
       <device>
         <parent>scsi_host3</parent>
         <capability type='scsi_host'>
           <capability type='fc_host'>
           </capability>
         </capability>
       </device>
    <parent> フィールドは、この vHBA デバイスに関連付ける HBA デバイスを指定します。 <device>タグの詳細は、ホスト用の新しい vHBA デバイスを作成するために、次の手順で使用されます。nodedevXML フォーマットの詳細は、http://libvirt.org/formatnode.htmlを参照してください。
  4. vHBA ホストデバイスに新しい vHBA を作成します。

    vhba_host3 に vHBA を作成するには、virshnodedev-create コマンドを使用します。
    # virsh nodedev-create vhba_host3.xml
    Node device scsi_host5 created from vhba_host3.xml
  5. vHBA の確認

    virsh nodedev-dumpxml コマンドを使用して、新しい vHBA の詳細 (scsi_host5) を確認します。
    # virsh nodedev-dumpxml scsi_host5
    <device>
      <name>scsi_host5</name>
      <path>/sys/devices/pci0000:00/0000:00:04.0/0000:10:00.0/host3/vport-3:0-0/host5</path>
      <parent>scsi_host3</parent>
      <capability type='scsi_host'>
        <host>5</host>
        <capability type='fc_host'>
          <wwnn>5001a4a93526d0a1</wwnn>
          <wwpn>5001a4ace3ee047d</wwpn>
          <fabric_wwn>2002000573de9a81</fabric_wwn>
        </capability>
      </capability>
    </device>