Red Hat Training

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

23.17. Devices

この一連の XML 要素は、すべてゲスト仮想マシンドメインに提供されたデバイスを記述するために使用されます。以下のすべてのデバイスは、メイン <devices> 要素の子として表示されます。
以下の仮想デバイスに対応しています。
  • virtio-scsi-pci: PCI バスストレージデバイス
  • virtio-blk-pci - PCI バスストレージデバイス
  • virtio-net-pci - PCI バスネットワークデバイス(virtio-net とも呼ばれます)
  • virtio-serial-pci: PCI バスの入力デバイス
  • virtio-balloon-pci - PCI バスメモリーバルーンデバイス
  • virtio-rng-pci: PCI バス仮想乱数ジェネレーターデバイス
重要
virtio デバイスが作成され、ベクトルの数が 32 を超える値に設定されていると、デバイスは Red Hat Enterprise Linux 6 のゼロ値に設定されているかのように動作しますが、Enterprise Linux 7 には指定されません。作成されるベクター設定の不一致により、いずれかのプラットフォームの virtio デバイスのベクトルの数が 33 以上に設定されると、移行エラーが発生します。したがって、ベクトルの値を 32 を超える値に設定することは推奨されません。virtio-balloon-pci および virtio-rng-pci を除くすべての virtio デバイスでは vector 引数を受け入れます。

図23.26 devices - 子要素


  ...
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
  </devices>
  ...

<エミュレーター> 要素の内容は、デバイスモデルのエミュレーターバイナリーへの完全修飾パスを指定します。機能 XML は、特定のドメインタイプまたはアーキテクチャーの組み合わせに使用する推奨のデフォルトエミュレーターを指定します。

23.17.1. ハードドライブ、フロッピーディスク、および CD-ROM

ドメイン XML のセクションでは、ディスク <要素> に指定されるフロッピーディスク、ハードディスク、CD-ROM、または準仮想化ドライバーなど、ディスクのようなデバイスを指定します。

図23.27 devices - ハードドライブ、フロッピーディスク、CD-ROM の例


    <disk type='network'>
      <driver name="qemu" type="raw" io="threads" ioeventfd="on" event_idx="off"/>
      <source protocol="sheepdog" name="image_name">
        <host name="hostname" port="7000"/>
      </source>
      <target dev="hdb" bus="ide"/>
      <boot order='1'/>
      <transient/>
      <address type='drive' controller='0' bus='1' unit='0'/>
    </disk>

図23.28 devices - ハードドライブ、フロッピーディスク、CD-ROM の例 2


    <disk type='network'>
      <driver name="qemu" type="raw"/>
      <source protocol="rbd" name="image_name2">
        <host name="hostname" port="7000"/>
      </source>
      <target dev="hdd" bus="ide"/>
      <auth username='myuser'>
        <secret type='ceph' usage='mypassid'/>
      </auth>
    </disk>

図23.29 devices - ハードドライブ、フロッピーディスク、CD-ROM の例 3


    <disk type='block' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdc' bus='ide' tray='open'/>
      <readonly/>
    </disk>
    <disk type='network' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source protocol="http" name="url_path">
        <host name="hostname" port="80"/>
      </source>
      <target dev='hdc' bus='ide' tray='open'/>
      <readonly/>
    </disk>

図23.30 devices - ハードドライブ、フロッピーディスク、CD-ROM の例 4


    <disk type='network' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source protocol="https" name="url_path">
        <host name="hostname" port="443"/>
      </source>
      <target dev='hdc' bus='ide' tray='open'/>
      <readonly/>
    </disk>
    <disk type='network' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source protocol="ftp" name="url_path">
        <host name="hostname" port="21"/>
      </source>
      <target dev='hdc' bus='ide' tray='open'/>
      <readonly/>
    </disk>

図23.31 devices - ハードドライブ、フロッピーディスク、CD-ROM の例


    <disk type='network' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source protocol="ftps" name="url_path">
        <host name="hostname" port="990"/>
      </source>
      <target dev='hdc' bus='ide' tray='open'/>
      <readonly/>
    </disk>
    <disk type='network' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source protocol="tftp" name="url_path">
        <host name="hostname" port="69"/>
      </source>
      <target dev='hdc' bus='ide' tray='open'/>
      <readonly/>
    </disk>
    <disk type='block' device='lun'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/sda'/>
      <target dev='sda' bus='scsi'/>
      <address type='drive' controller='0' bus='0' target='3' unit='0'/>
    </disk>

図23.32 devices - ハードドライブ、フロッピーディスク、CD-ROMs 例 6


    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/sda'/>
      <geometry cyls='16383' heads='16' secs='63' trans='lba'/>
      <blockio logical_block_size='512' physical_block_size='4096'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <disk type='volume' device='disk'>
      <driver name='qemu' type='raw'/>
      <source pool='blk-pool0' volume='blk-pool0-vol0'/>
      <target dev='hda' bus='ide'/>
    </disk>
    <disk type='network' device='disk'>
      <driver name='qemu' type='raw'/>
      <source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/2'>
        <host name='example.com' port='3260'/>
      </source>
      <auth username='myuser'>
        <secret type='chap' usage='libvirtiscsi'/>
      </auth>
      <target dev='vda' bus='virtio'/>
    </disk>

図23.33 devices - ハードドライブ、フロッピーディスク、CD-ROM の例


    <disk type='network' device='lun'>
      <driver name='qemu' type='raw'/>
      <source protocol='iscsi' name='iqn.2013-07.com.example:iscsi-nopool/1'>
       iqn.2013-07.com.example:iscsi-pool
        <host name='example.com' port='3260'/>
      </source>
      <auth username='myuser'>
        <secret type='chap' usage='libvirtiscsi'/>
      </auth>
      <target dev='sda' bus='scsi'/>
    </disk>
    <disk type='volume' device='disk'>
      <driver name='qemu' type='raw'/>
      <source pool='iscsi-pool' volume='unit:0:0:1' mode='host'/>
      <auth username='myuser'>
        <secret type='chap' usage='libvirtiscsi'/>
      </auth>
      <target dev='vda' bus='virtio'/>
    </disk>

図23.34 devices - ハードドライブ、フロッピーディスク、CD-ROMs 例 8


    <disk type='volume' device='disk'>
      <driver name='qemu' type='raw'/>
      <source pool='iscsi-pool' volume='unit:0:0:2' mode='direct'/>
      <auth username='myuser'>
        <secret type='chap' usage='libvirtiscsi'/>
      </auth>
      <target dev='vda' bus='virtio'/>
    </disk>
     <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/tmp/test.img' startupPolicy='optional'/>
      <target dev='sdb' bus='scsi'/>
      <readonly/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' discard='unmap'/>
      <source file='/var/lib/libvirt/images/discard1.img'/>
      <target dev='vdb' bus='virtio'/>
      <alias name='virtio-disk1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </disk>
  </devices>
  ...

23.17.1.1. ディスク要素

<disk> 要素は、ディスクを説明するメインコンテナーです。属性 タイプ<disk> 要素と使用できます。以下のタイプのタイプが許可されます。
  • file
  • block
  • dir
  • network

23.17.1.2. ソース要素

ディスクソースを表します。ディスクソースは、以下のようにディスクタイプ属性によって異なります。
  • <file>: file 属性は、ディスクが存在するファイルへの完全修飾パスを指定します。
  • <block>: dev 属性は、ディスクとして機能するホストデバイスへの完全修飾パスを指定します。
  • <dir>: dir 属性は、ディスクとして使用されるディレクトリーへの完全修飾パスを指定します。
  • <network>: protocol 属性は、要求されたイメージへのアクセスに使用されるプロトコルを指定します。使用できる値は nbdiscirbd、sheepdog および gluster です。
    • protocol 属性が rbd、sheepdog、または gluster の場合は、追加の属性である name は必須です。この属性は、使用するボリュームとイメージを指定します。
    • protocol 属性が nbd の場合、name 属性は任意です。
    • protocol 属性が isci の場合、name 属性には論理ユニット番号が含まれる可能性があり、ターゲットの名前からスラッシュで区切られます。例: iqn.2013-07.com.example:iscsi-pool/1指定しない場合、デフォルトの LUN はゼロになります。
  • <ボリューム> - 基礎となるディスクソースは プール および ボリューム 属性で表されます。
    • <プール> - ディスクソースがあるストレージプールの名前( libvirtが管理する)。
    • <ボリューム> - ディスクソースとして使用されるストレージボリュームの名前( libvirtが管理する)。
      volume 属性の値は、ボリューム 属性の Name 列からの出力です。 virsh vol-list [pool-name]
ディスクタイプが ネットワーク の場合、ソース には、type ='dir' や type=' network' など、接続するホストの物理マシンを指定するために使用されるゼロまたはそれ以上のホストの サブ 要素がある可能性があります。CD-ROM または floppy(デバイス属性)を表す ファイル ディスクタイプの場合、ソースファイルにアクセスできない場合にディスクに何を行うポリシーを定義できます。これは、startupPolicy 属性 を以下のいずれかの値に設定します。
  • 何らかの理由で不要な場合には必須 となります。これはデフォルト設定です。
  • 起動時に失敗が生じ た場合は、移行中、復元、または元に戻すとドロップします。
  • 開始の試行にない場合はオプション のドロップを行います。

23.17.1.3. mirror 要素

この要素は、ハイパーバイザーが BlockCopy 操作を起動し、属性ファイルの <ミラー> ロケーションが、最終的にはソースと同一コンテンツを持つ場合、およびファイル形式が属性形式(ソースのフォーマットとは異なる)にファイル形式を持つ場合に存在します。準備が整っていれば、ディスクがピボットする準備が整っていることになります。その他の場合、ディスクは依然としてコピーされます。今回のリリースより、この要素は出力でのみ有効になっており、入力時に無視されます。

23.17.1.4. ターゲット要素

<ターゲット> 要素は、ディスクがゲスト仮想マシンのオペレーティングシステムに公開されるバスまたはデバイスを制御します。dev 属性は、論理デバイス名を示します。指定した実際のデバイス名は、ゲスト仮想マシンオペレーティングシステムのデバイス名にマップする保証はありません。オプションのバス属性は、エミュレートするディスクデバイスのタイプを指定します。可能な値は、idescsivirtiokvmsata の標準的な値でドライバー固有です。省略した場合、バスタイプはデバイス名のスタイルから推測されます。たとえば、'sda' という名前のデバイスは通常、SCSI バスを使用してエクスポートされます。オプションの属性 トレイ は、リムーバブルディスク(CD-ROM や Floppy ディスクなど)のトレイステータスを示します。ここで、値は オープン または 閉じる ことができます。デフォルト設定は 閉じられ ます。

23.17.1.5. iotune 要素

オプションの iotune <要素> は、デバイスごとの I/O チューニングを追加で提供して、デバイスごとに変更可能な値(これをドメインにグローバルに適用される blkiotune 要素に調整)を提供します。この要素には以下のオプションのサブ要素があります(サブ要素が指定されていないか、値 0 で指定されているか、制限なし)。
  • <total_bytes_sec>: 総スループットの上限(バイト毎秒単位)この要素は <read_bytes_sec または <write_bytes_sec> と併用できません。>
  • <read_bytes_sec>: バイト毎秒単位の読み取りスループットの上限。
  • <write_bytes_sec>: 書き込みスループットの上限(バイト毎秒単位)
  • <total_iops_sec>: 1 秒あたりの総 I/O 操作この要素は、<read_iops_sec または <write_iops_sec> と併用できません。>
  • <read_iops_sec>: 1 秒あたりの読み取り I/O 操作
  • <write_iops_sec>: 1 秒あたりの書き込み I/O 操作

23.17.1.6. ドライバー要素

オプションの <ドライバー> 要素では、ディスクを提供するために使用されるハイパーバイザードライバーに関連する詳細情報を指定できます。以下のオプションを使用できます。
  • ハイパーバイザーが複数のバックエンドドライバーに対応している場合は、name 属性はプライマリーバックエンドドライバー名を選択しますが、オプションの type 属性はサブタイプを提供します。
  • オプションの cache 属性はキャッシュメカニズムを制御します。可能な値は、デフォルトnone、nonewritethroughdirectsyncライト スルー)(simililar)および安全でない(ホストの物理マシンページキャッシュは バイパス )、安全でない (ホストの物理マシンの I/O、およびゲスト仮想マシンからのすべてのディスク I/O および同期要求は無視されます)です。
  • オプションの error_policy 属性は、ハイパーバイザーがディスクの読み取りおよび書き込みエラーでどのように動作するかを制御します。使用できる値は stopreportignore、および enospace ですerror_policy のデフォルト設定は report です。また、読み取りエラーの動作を制御するオプションの rerror _policy もあります。rerror _policy を指定しないと、error_policy が読み取りおよび書き込みエラーに使用されます。rerror _policy が指定されている場合は、read エラーの error_policy を上書きします。また、enospace は読み取りエラーの有効なポリシーでは ないので、error_policy が enospace に設定され、no rerror _policy が指定されている場合は、読み取りエラーのデフォルト設定である レポート が使用されます。
  • オプションの io 属性は、I/O で特定のポリシーを制御します。kvm ゲスト仮想マシンは スレッド および ネイティブ に対応します。任意の ioeventfd 属性 を使用すると、ユーザーは virtio ディスクデバイスのドメイン I/O 非同期処理を設定できます。デフォルトでは、ハイパーバイザーによって決まります。許可される値は on および off です。これにより、個別のスレッドが I/O を処理している間にゲスト仮想マシンを実行することができます。通常、I/O 中に非常にシステムの CPU 使用率が生じるゲスト仮想マシンには、これの利点が得られます。一方、ホストの物理マシンがオーバーロードすると、ゲスト仮想マシン I/O レイテンシーを増やすことができます。ただし、デフォルト設定を変更せず、ハイパーバイザーが設定を決定できるようにすることが推奨されます。
    注記
    ioeventfd 属性 は、ディスク XML セクションの <driver> 要素と デバイス XML セクションの <ドライバー> 要素に含まれます。前者の場合は、virtIO ディスクに影響します。後者の場合は SCSI ディスクになります。
  • オプションの event_idx 属性は、デバイスイベント処理の一部を制御し、オン または オフ に設定できます。on に設定された場合、ゲスト仮想マシンの割り込みの数が減り、終了します。デフォルトではハイパーバイザーによって決定され、デフォルト設定が オン になっています。この動作が必要ない場合は、強制的 にこの機能をオフにします。ただし、デフォルトの設定を変更せず、ハイパーバイザーが設定を指定することを許可しないことが強く推奨されます。
  • オプションの copy_on_read 属性は、読み取りバッキングファイルをイメージファイルにコピーするかどうかを制御します。許可される値は <on または off> のいずれか なります。コピーオンローは、同じバッキングファイルセクター を繰り返しアクセスしないようにし、バッキングファイルの速度が遅いネットワークよりも長くなる場合に便利です。デフォルトでは、copy-on-readオフ です。
  • discard='unmap' を設定して、破棄サポートを有効にすることができます。同じ行を discard='ignore' に置き換えて無効にすることができます。discard='ignore' がデフォルト設定です。

23.17.1.7. 追加のデバイス要素

次の属性は、device 要素内で使用できます。
  • <boot>: ディスクが起動可能であることを指定します。

    追加のブート値

    • <order>: ブートシーケンス時にデバイスを試行する順序を決定します。
    • <デバイスごと> の Boot 要素は、BIOS ブートローダーセクションの一般的な起動要素と併用することはできません。
  • <暗号化> - ボリュームの暗号化方法を指定します。
  • <readonly>: ゲスト仮想マシンによってデバイスを変更できないことを示します。この設定は、<device='cdrom'> 属性 のディスクのデフォルトです。
  • 共有<可能> な場合、デバイスはドメイン間で共有されることが予想されます(ハイパーバイザーとオペレーティングシステムがこれをサポートしている限り)。shareable を使用する場合は、そのデバイスに cache='no' を使用する必要があります。
  • <transient>: ゲスト仮想マシンの終了時に、デバイスコンテンツへの変更が自動的に元に戻される必要があることを示します。ハイパーバイザーによっては、ディスクを 一時的 にマークすると、ドメインが移行またはスナップショットに参加できなくなります。
  • <serial> - ゲスト仮想マシンのハードドライブのシリアル番号を指定します。たとえば、<シリアル>WD-WMAP9A966149</シリアル>
  • <wwn> - 仮想ハードディスクまたは CD-ROM ドライブの World Wide Name(WWN)を指定します。16 進数の数字で構成される必要があります。
  • <vendor>: 仮想ハードディスクまたは CD-ROM デバイスのベンダーを指定します。印刷可能な文字を 8 より長くすることはできません。
  • Product<:> 仮想ハードディスクまたは CD-ROM デバイスの製品を指定します。16 文字より長くすることはできません。
  • <host> - 以下の属性をサポートします。
    • 名前 - ホスト名を指定します
    • port: ポート番号を指定します。
    • transport - トランスポート タイプを指定します。
    • socket: ソケットへのパスを指定します。
    この要素の意味と要素の数は、に示されるように protocol 属性によって異なります。 プロトコルに基づく追加のホスト属性

    プロトコルに基づく追加のホスト属性

    • NBD: nbd-server を実行しているサーバーを指定し、1 台のホストの物理マシンにのみ使用できます。この protcol のデフォルトポートは 10809 です。
    • rbd: RBD タイプのサーバーを監視し、1 つ以上のホストの物理マシンに使用できます。
    • sheepdog - sheepdog サーバーの 1 つを指定します(デフォルトは localhost:7000)で、ホストの物理マシンのいずれかまたは何も使用できます。
    • Gluster: glusterd デーモンを実行するサーバーを指定し、1 台のホストの物理マシンにのみ使用できます。transport 属性の有効な値は tcprdma、または unix です。何も指定しない場合には、tcp が想定されます。transport が unix の場合、ソケット属性は unix ソケット へのパスを指定します。
  • <address>: ディスクをコントローラーの特定のスロットに送ります。実際の <コントローラー> デバイスは、多くの場合推測可能ですが、明示的に指定することもできます。type 属性は必須で、通常は pci または drive です。pci コントローラーの場合、busslot および function の追加属性と、オプションの ドメイン およびマルチ機能が含まれている必要があり ます多機能 デフォルトは off です。ドライブ コントローラーの場合は、追加の属性 コントローラーバスターゲット、および ユニット が利用できるようになり、それぞれがデフォルトの 0 となっています。
  • auth: ソースへのアクセスに必要な認証情報を指定します。これには、認証中に使用するユーザー名と、必須属性 タイプ を持つサブ要素 シークレット を識別する必須属性のユーザー が含まれます。
  • ジオメトリー: ジオメトリー設定をオーバーライドする機能を提供します。これは、ほとんどの場合、S390 DASD ディスクまたは古い DOS ディスクに役立ちます。以下のパラメーターを含めることができます。
    • cyls - 循環数を指定します。
    • heads: ヘッドの数を指定します。
    • secs: 追跡ごとにセクターの数を指定します。
    • trans - BIOS-Translation-Modes を指定し、nonelba、または auto の値を指定できます。
  • BlockIo: ブロックデバイスを、以下に挙げるブロックデバイスプロパティーで上書きできるようにします。

    BlockIo オプション

    • logical_block_size: ゲスト仮想マシンのオペレーティングシステムにレポートし、ディスク I/O の最小の単位を記述します。
    • physical_block_size: ゲスト仮想マシンのオペレーティングシステムにレポートし、ディスクのハードウェアセクターサイズを説明します。これは、ディスクデータの調整に関連します。

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