20.16. Devices
この XML 要素のセットはすべて、ゲスト仮想マシンのドメインに提供されるデバイスを説明するために使用されます。以下のデバイスはすべて、主な devices 要素の子として示されます。
以下の仮想デバイスに対応しています。
- virtio-scsi-pci - PCI バスストレージデバイス
- virtio-9p-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 以上に設定されていると、移行エラーが発生します。したがって、
vector の値を 32 より大きく設定することは推奨されません。virtio-balloon-pci および virtio-rng-pci を除くすべての virtio デバイスは、vector 引数を受け入れます。
図20.22 デバイス - 子要素
<emulator> 要素の内容は、デバイスモデルエミュレーターバイナリーへの完全修飾パスを指定します。capabilities XML は、各特定のドメインタイプまたはアーキテクチャーの組み合わせに使用する推奨されるデフォルトエミュレーターを指定します。
20.16.1. ハードドライブ、フロッピーディスク、CDROM リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ドメイン XML のこのセクションでは、フロッピー、ハードディスク、CD-ROM、準仮想化ドライバーなど、ディスクのように見えるデバイスをディスク要素で指定します。
図20.23 デバイス - ハードドライブ、フロッピーディスク、CDROM
20.16.1.1. ディスク要素 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
<disk> 要素は、ディスクを記述するための主要なコンテナーです。属性type は、<disk> 要素で使用できます。以下のタイプが許可されています。
fileblockdirnetwork
詳細については、ディスク要素を参照してください。
20.16.1.2. ソース要素 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
<disk type='file''> の場合、file 属性は、ディスクを保持しているファイルへの完全修飾パスを指定します。<disk type='block'> の場合、dev 属性は、ディスクとして機能するホスト物理マシンデバイスへのパスを指定します。file と block の両方で、以下で説明する 1 つ以上のオプションのサブ要素 seclabel を使用して、そのソースファイルのみのドメインセキュリティーラベル付けポリシーを上書きできます。ディスクタイプが dir の場合、dir 属性は、ディスクとして使用するディレクトリーへの完全修飾パスを指定します。ディスクタイプが network の場合、protocol 属性は、要求されたイメージにアクセスするためのプロトコルを指定します。可能な値は、nbd、rbd、sheepdog、または gluster です。
プロトコル属性が
rbd、sheepdog、または gluster の場合、使用するボリュームやイメージを指定するには、追加の属性 name が必須です。ディスクのタイプが network の場合、source には、接続するホスト物理マシンを指定するために使用される type='dir' および type='network' を含む、ゼロ以上の host サブ要素が含まれることがあります。cdrom またはフロッピー (デバイス属性) を表すfileディスクタイプで、ソースファイルにアクセスできない場合にディスクをどうするかという動作のポリシーを定義できます。これは、startupPolicy 属性を次の値で操作することによって行われます。
mandatoryは、何らかの理由で欠落している場合に障害の原因となります。これはデフォルト設定です。requisiteは、起動時に欠落している場合は失敗し、移行/復元/復帰時に欠落している場合はドロップします。optional- 起動の試行時にない場合はドロップします。
20.16.1.3. ミラー要素 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
この要素は、ハイパーバイザーが BlockCopy 操作を起動し、属性ファイルの
<mirror> の場所が最終的にソースと同じ内容を持ち、属性形式のファイル形式 (ソースの形式とは異なる場合あり) の場合に存在します。属性 ready が存在する場合は、ディスクがピボットする準備ができていることが分かっています。存在しない場合は、ディスクが依然としてコピー中である可能性があります。現在、この要素は出力でのみ有効で、入力では無視されます。
20.16.1.4. ターゲット要素 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
<target> 要素は、ディスクがゲスト仮想マシン OS に公開されるバス/デバイスを制御します。dev 属性は、論理デバイスの名前を示します。実際のデバイス名が、ゲスト仮想マシンの OS のデバイス名にマッピングされる保証はありません。オプションのバス属性では、エミュレートするディスクデバイスの種類を指定します。指定できる値はドライバー固有で、一般的な値は ide、scsi、virtio、xen、usb、または sata です。省略した場合、バスタイプはデバイス名のスタイルから推測されます。たとえば、'sda' という名前のデバイスは通常、SCSI バスを使用してエクスポートされます。オプションの属性 tray は、リムーバブルディスク (CD-ROM やフロッピーディスクなど) のトレイステータスを示します。値は open または closed のいずれかです。デフォルト設定は closed です。詳細は、ターゲット要素を参照してください。
20.16.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 操作数。
20.16.1.6. driver リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
任意の
<driver> 要素を使用すると、ディスクの提供に使用されるハイパーバイザードライバーに関する詳細を指定できます。以下のオプションが使用できます。
- ハイパーバイザーが複数のバックエンドドライバーをサポートする場合、
name属性はプライマリーバックエンドドライバー名を選択し、任意の type 属性はサブタイプを提供します。可能なタイプのリストについては、ドライバー要素を参照してください。 - オプションの
cache属性は、キャッシュメカニズムを制御します。使用できる値は、default、none、writethrough、writeback、directsync(writethroughと同様ですが、ホスト物理マシンのページキャッシュをバイパスします) およびunsafe(ホスト物理マシンはすべてのディスク io をキャッシュする場合があります) です。ゲスト仮想マシン仮想マシンからの同期要求は無視されます)。 - オプションの
error_policy属性は、ハイパーバイザーがディスクの読み取りまたは書き込みエラーでどのように動作するかを制御します。可能な値は、stop、report、ignore、およびenospaceです。error_policyのデフォルト設定はreportです。読み取りエラーのみに対する動作を制御するオプションのrerror_policyもあります。rerror_policyが指定されていない場合、error_policyは読み取りおよび書き込みエラーの両方に使用されます。rerror_policyが指定されている場合は、読み取りエラーのerror_policyをオーバーライドします。また、enospaceは読み取りエラーの有効なポリシーではないため、error_policyがenospaceに設定され、no rerror_policyが指定されていない場合は、読み取りエラーのデフォルト設定であるreportが使用される点に注意してください。 - オプションの
io属性は、I/O の特定のポリシーを制御します。qemuゲスト仮想マシン仮想マシンはthreadsとnativeをサポートします。オプションのioeventfd属性を使用すると、ディスクデバイスのドメイン I/O の非同期処理を設定できます。デフォルトは、ハイパーバイザーの判断に任されます。指定できる値はonとoffです。これを有効にすると、別のスレッドが I/O を処理している間にゲスト仮想マシンの仮想マシンを実行できます。通常、I/O の実行中にシステム CPU の使用率が高くなったゲスト仮想マシンの仮想マシンは、この恩恵を受けます。一方、ホストの物理マシンが過負荷になると、ゲスト仮想マシンの仮想マシンの I/O レイテンシーが増加します。ioを操作する必要があることを完全に証明している場合を除き、デフォルト設定を変更せず、ハイパーバイザーが設定を指示できるようにすることを強くお勧めします。 - オプションの
event_idx属性は、デバイスイベント処理のいくつかの側面を制御し、onまたはoffのいずれかに設定できます。on の場合、ゲスト仮想マシン仮想マシンの割り込みと終了の数を減らします。デフォルトではハイパーバイザーが決定し、デフォルトの設定はonになります。この動作が最適ではない状況がある場合、この属性は機能を強制的にoffにする方法を提供します。event_idxを操作する必要があることを完全に証明している場合を除き、デフォルト設定を変更せず、ハイパーバイザーが設定を指示できるようにすることを強くお勧めします。 - オプションの
copy_on_read属性は、リードバックファイルをイメージファイルにコピーするかどうかを制御します。使用できる値は、onまたは<off>のいずれかです。copy-on-readは、同じバッキングファイルセクターに繰り返しアクセスすることを回避し、バッキングファイルが低速のネットワーク上にある場合に役立ちます。デフォルトでは、copy-on-readはoffです。
20.16.1.7. 追加のデバイス要素 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
device 要素内では、以下の属性を使用できます。
<boot>- ディスクが起動可能であることを指定します。追加の起動値
<order>- システムの起動時にデバイスを試行する順序を指定します。<デバイスごと>のブート要素は、BIOS ブートローダーセクションの一般的なブート要素とは併用できません。
<encryption>- ボリュームの暗号化方法を指定します。詳細については、ストレージの暗号化ページを参照してください。<readonly>- ゲスト仮想マシンがデバイスを変更できないことを示します。この設定は、attributedevice='cdrom'を使用するディスクの既定値です。共有可能デバイスがドメイン間で共有される必要があることを示しています (ハイパーバイザーと OS が対応している場合)。shareableを使用すると、そのデバイスにcache='no'が指定されます。<transient>- デバイスのコンテンツの変更は、ゲスト仮想マシンの仮想マシンの終了時に自動的に元に戻す必要があることを示します。一部のハイパーバイザーでは、ディスクにtransientマークを付けると、ドメインが移行またはスナップショットに参加できなくなります。<serial>- ゲスト仮想マシンのハードドライブのシリアル番号を指定します。(例:<serial>WD-WMAP9A966149</serial>)<wwn>- 仮想ハードディスクまたは CD-ROM ドライブの WWN (World Wide Name) を指定します。16 桁の 16 進数で設定される必要があります。<vendor>- 仮想ハードディスクまたは CD-ROM デバイスのベンダーを指定します。印刷可能な 8 文字を超えてはなりません。<product>- 仮想ハードディスクまたは CD-ROM デバイスの製品を指定します。印刷可能な 16 文字を超えてはなりません。<host>- 4 つの属性をサポートします:viz、name、port、transport、socket。それぞれ、ホスト名、ポート番号、トランスポートタイプ、およびソケットへのパスを指定します。この要素の意味と要素数は、以下に示すようにprotocol属性により異なります。追加のホスト属性
nbd- nbd-server を実行しているサーバーを指定します。使用できるのは、1 台のホスト物理マシンだけです。rbd- RBD タイプのサーバーを監視し、1 つ以上のホスト物理マシンで使用できます。sheepdog- sheepdog サーバーのいずれかを指定し (デフォルトは localhost:7000)、ホスト物理マシンの 1 つを使用するか、またはいずれとも使用することができません。gluster- glusterd デーモンを実行しているサーバーを指定します。使用できる物理マシンは 1 つだけです。トランスポート属性の有効な値は、tcp、rdma、またはunixです。何も指定しないと、tcpが想定されます。transport がunixの場合、socket属性は unix ソケットへのパスを指定します。
<address>- ディスクを、コントローラーの指定したスロットに関連付けます。実際の<controller>デバイスは多くの場合、推測できますが、明示的に指定することもできます。type属性は必須で、通常はpciまたはdriveです。pciコントローラーの場合、bus、slot、およびfunctionの追加属性と、オプションのdomainおよびmultifunctionが存在する必要があります。multifunctionのデフォルトはoffです。driveコントローラーでは、追加の属性controller、bus、target、およびunitが利用できます。それぞれの属性のデフォルト設定は0です。auth- ソースへのアクセスに必要な認証情報を提供します。これには、認証時に使用するユーザー名を識別する必須属性usernameと、必須属性typeを持つサブ要素secretが含まれます。詳細は、デバイス要素を参照してください。geometry- ジオメトリー設定を上書きする機能を提供します。これは、主に S390 DASD ディスクまたは古い DOS ディスクに役立ちます。cyls- シリンダーの数を指定します。heads- ヘッドの数を指定します。secs- トラックごとのセクター数を指定します。trans- BIOS-Translation-Modus を指定し、none、lba、またはautoの値を設定できますblockio- ブロックデバイスを、以下のブロックデバイスプロパティーのいずれかで上書きできます。blockio オプション
logical_block_size- ゲスト仮想マシン仮想マシン OS にレポートし、ディスク I/O の最小単位を記述します。physical_block_size- ゲスト仮想マシンの仮想マシン OS を報告し、ディスクのハードウェアセクターサイズを説明します。これは、ディスクデータの調整に関連付けることができます。