Red Hat Training

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

20.36. ゲストごとの仮想マシン情報の表示

20.36.1. ゲスト仮想マシンの表示

アクティブゲスト仮想マシンのリストと、現在のその状態を virsh で表示するには、次のコマンドを実行します。
# virsh list
使用可能なその他のオプションは以下のとおりです。
  • --all - ゲスト仮想マシンのリストを表示します。以下に例を示します。
    # virsh list --all
     Id Name                 State
    ----------------------------------
      0 Domain-0             running
      1 Domain202            paused
      2 Domain010            shut off
      3 Domain9600           crashed
    
    注記
    virsh list --all の実行時に結果が表示されない場合は、root ユーザーで仮想マシンを作成していない可能性があります。
    virsh list --all コマンドは、次の状態を認識します。
    • running - running の状態は、現在 CPU でアクティブなゲスト仮想マシンを指します。
    • idle - idle の状態は、ゲスト仮想マシンがアイドル状態であり、実行していないか、実行できない可能性があることを示しています。これは、ゲスト仮想マシンが I/O を待機している (従来の待機状態) か、その他の処理が行われていないためにスリープ状態になっている場合に発生します。
    • paused: ゲスト仮想マシンが一時停止すると、メモリーとその他のリソースを消費しますが、ハイパーバイザーから CPU リソースのスケジューリングには対応していません。paused 状態は、virt-manager または virsh suspend コマンドで paused ボタンを使用すると発生します。
    • in shutdown - in shutdownの状態は、シャットダウン中のゲスト仮想マシン用です。ゲスト仮想マシンにシャットダウンシグナルが送信され、操作を正常に停止するプロセスにあるはずです。これは、すべてのゲスト仮想マシンのオペレーティングシステムでは機能しない可能性があり、一部のオペレーティングシステムはこれらのシグナルに応答しない場合があります。
    • shut off - shut off 状態は、ゲスト仮想マシンが実行していないことを示しています。これは、ゲスト仮想マシンが完全にシャットダウンしているか、起動していない場合に発生します。
    • crashed - crashed の状態は、ゲスト仮想マシンがクラッシュしたことを示しており、クラッシュ時にゲスト仮想マシンが再起動しないように設定されている場合にのみ発生します。
    • pmsuspended - ゲストは、ゲストの電源管理により一時停止されています。
  • --inactive - 定義されているものの、現在アクティブではないゲスト仮想マシンのリストを表示します。これには、shut off および crashed であるマシンが含まれます。
  • --managed-save - 管理保存状態が有効になっているゲストは、saved としてリスト表示されます。この項目でゲストをフィルターにかけるには、--all オプションまたは --inactive オプションも使用する必要があります。
  • --name - このコマンドは、デフォルトのテーブル形式ではなく、ゲストの名前をリスト表示します。このオプションは、--uuid オプション (ゲスト UUID のリストのみを出力) と --table オプション (テーブルスタイルの出力を使用すべきと判断) と相互に排他的です。
  • --title - ゲスト title フィールドもリスト表示します。これには、ゲストの簡単な説明が含まれます。この項目は、デフォルト (--table) の出力形式で使用する必要があります。以下に例を示します。
    $ virsh list --title
    
    Id       Name                                          State     Title
    ----------------------------------------------------------------------------
    0        Domain-0                                      running   Mailserver1
    2        rhelvm                                        paused
    
  • --persistent - 永続ゲストのみがリストに含まれます。一時ゲストをリスト表示するには、--transient 引数を使用します。
  • --with-managed-save - 管理保存で設定されているゲストのリストを表示します。ゲストのリストを表示するには、--without-managed-save を使用します。
  • --state-running - 実行中のゲストのみをリスト表示します。同様に、一時停止したゲストには --state-paused を使用し、無効にしたゲストには --state-shutoff を使用します。--state-other は、すべての状態をフォールバックとしてリスト表示します。
  • --autostart - 自動起動ゲストのみがリスト表示されます。この機能を無効にしたゲストのリストを表示するには、引数 --no-autostart を使用します。
  • --with-snapshot - スナップショットイメージをリスト表示できるゲストのリストを表示します。スナップショットなしでゲストに絞り込むには、--without-snapshot オプションを使用します。

20.36.2. 仮想 CPU 情報の表示

virsh を使用してゲスト仮想マシンから仮想 CPU を表示するには、次のコマンドを実行します。
# virsh vcpuinfo {domain-id, domain-name or domain-uuid}
virsh vcpuinfo の出力例を以下に示します。
# virsh vcpuinfo guest1
VCPU:           0
CPU:            2
State:          running
CPU time:       7152.4s
CPU Affinity:   yyyy

VCPU:           1
CPU:            2
State:          running
CPU time:       10889.1s
CPU Affinity:   yyyy

20.36.3. vCPU のホストの物理マシンの CPU へのピニング

virsh vcpupin コマンドは、仮想 CPU を物理 CPU に割り当てます。
# virsh vcpupin guest1
VCPU: CPU Affinity
----------------------------------
   0: 0-3
   1: 0-3
vcpupin コマンドには、以下の引数を使用できます。
  • --vcpu には vcpu 番号が必要です。
  • [--cpulist] string は、設定するホスト物理マシンの CPU 番号のリストを表示します。
  • --config は次回のブートに影響します。
  • --live は、実行中のゲスト仮想マシンに影響します。
  • --current は、現在のゲスト仮想マシンのステータスに影響を及ぼします。

20.36.4. 指定したドメインの仮想 CPU 数に関する情報の表示

virsh vcpucount コマンドには、domain名またはドメイン ID が必要です。
# virsh vcpucount guest1
maximum      config         2
maximum      live           2
current      config         2
current      live           2
vcpucountには、以下の引数を指定できます。
  • --maximum は、vcpus の最大容量を取得します。
  • --active は、現在アクティブな vcpu の数を取得します。
  • 実行中のゲスト仮想マシンから--live を取得します。
  • --config は、システムの次回起動時に使用する値を取得します。
  • --current は、現在のゲスト仮想マシンの状態に応じて値を取得します。
  • 返される --guest 数は、ゲストの視点から見たものです。

20.36.5. 仮想 CPU アフィニティーの設定

物理 CPU を使用して仮想 CPU のアフィニティーを設定するには、以下を実行します。
# virsh vcpupin domain-id vcpu cpulist
domain-id パラメーターは、ゲスト仮想マシンの ID 番号または名前です。
vcpu パラメーターは、ゲスト仮想マシンに割り当てられている仮想 CPU の数を示します。vcpu パラメーターを指定する必要があります。
cpulist パラメーターは、物理 CPU ID 番号のリストで、コンマで区切ります。cpulist パラメーターは、VCPU を実行できる物理 CPU を指定します。
--config などの追加パラメーターは次回の起動に影響を及ぼしますが、--live はゲスト仮想マシンの実行中および- -current に影響を及ぼします。

20.36.6. 仮想 CPU 数の設定

このコマンドを使用して、ゲスト仮想マシンでアクティブな仮想 CPU の数を変更します。デフォルトでは、このコマンドはアクティブなゲスト仮想マシンで機能します。次にゲスト仮想マシンを起動したときに使用される非アクティブの設定を変更するには、--config フラグを使用します。virsh でゲスト仮想マシンに割り当てられている CPU の数を変更するには、次のコマンドを実行します。
# virsh setvcpus {domain-name, domain-id or domain-uuid} count [[--config] [--live] | [--current]] [--maximum] [--guest] 
以下に例を示します。
# virsh setvcpus guestVM1 2 --live
guestVM1 への vCPU の数は 2 に設定され、このアクションは guestVM1 の実行中に実行されます。
重要
vCPU のホットアンプラグは、Red Hat Enterprise Linux 7 ではサポートされていません。
数値は、ホスト、ハイパーバイザー、またはゲスト仮想マシンの元の説明から制限できます。
--config フラグを指定すると、ゲスト仮想マシンの保存されている XML 設定が変更され、ゲストが起動しないと有効になりません。
--live を指定する場合は、ゲスト仮想マシンがアクティブである必要があり、変更が即座に行われます。このオプションにより、vCPU のホットプラグが可能になります。ハイパーバイザーで対応している場合は、--config フラグと --live フラグの両方を指定できます。
--current を指定した場合は、フラグが現在のゲスト仮想マシンの状態に影響を及ぼします。
フラグが指定されていない場合は、--live フラグが指定されたと見なされます。ゲスト仮想マシンがアクティブでないと、コマンドが失敗します。さらに、フラグが指定されていない場合は、--config フラグも想定されるかどうかはハイパーバイザーによる影響を受けます。これにより、変更を永続化するために XML 設定を調整するかどうかを決定します。
--maximum フラグは、ゲスト仮想マシンを次に起動したときにホットプラグできる仮想 CPU の最大数を制御します。したがって、これは --config フラグでのみ使用でき、--live フラグでは使用できません。
count は、ゲスト仮想マシンに割り当てられている CPU 数を超えることはできないことに注意してください。
--guest を指定すると、フラグが、現在のゲスト仮想マシンの CPU 状態を変更します。

20.36.7. メモリー割り当ての設定

virsh でゲスト仮想マシンのメモリー割り当てを変更するには、次のコマンドを実行します。
# virsh setmem {domain-id or domain-name} count
以下に例を示します。
# virsh setmem vr-rhel6u1-x86_64-kvm --kilobytes 1025000
countはキロバイト単位で指定する必要があります。新しい count の値は、ゲスト仮想マシンに指定した量を超えることはできません。64MB 未満の値は、ほとんどのゲスト仮想マシンのオペレーティングシステムでは使用できない可能性があります。最大メモリー値を上げても、アクティブなゲスト仮想マシンには影響しません。新しい値が利用可能なメモリーよりも小さい場合は、縮小するため、ゲスト仮想マシンがクラッシュする可能性があります。
このコマンドには、以下のオプションがあります。
  • domain - ドメインネーム、ID、または UUID で指定されます。
  • size - 新しいメモリーサイズを、スケール変換した整数で指定します。デフォルトの単位は KiB ですが、別の単位を指定できます。
    有効なメモリーユニットは以下のとおりです。
    • b または bytes (バイト)
    • KB (キロバイト) (103 または 1,000 バイトのブロック)
    • k または KiB (キビバイト) (210 または 1024 バイトのブロック)
    • MB (メガバイト) (106 または 1,000,000 バイトのブロック)
    • M または MiB (メビバイト) (220 または 1,048,576 バイトのブロック)
    • GB (ギガバイト) (109 または 1,000,000,000 バイトのブロック)
    • G または GiB (ギビバイト) (230 または 1,073,741,824 バイトのブロック)
    • TB (テラバイト) (1012 または 1,000,000,000,000 バイトのブロック)
    • T または TiB (テビバイト) (240または 1,099,511,627,776 バイトのブロック)
    すべての値は、libvirt により、最も近い kibibyte に丸められます。また、ハイパーバイザーが対応する粒度に丸めることもできます。一部のハイパーバイザーは、4000KiB(4000 x 2 10 または 4,096,000 バイト) などの最小値も適用します。この値の単位は、オプションの属性 memory unit により決定されます。デフォルトは、測定単位としての KiB (キビバイト) になります。この値は、210 または 1024 バイトのブロックで乗算されます。
  • --config - コマンドは次回のシステムの起動時に有効になります。
  • --live - 実行中のゲスト仮想マシンのメモリーを制御します。
  • --current - このコマンドは、現在のゲスト仮想マシンのメモリーを制御します。

20.36.8. ドメインのメモリー割り当ての変更

virsh setmaxmem domain size --config --live --current コマンドを使用すると、以下のように、ゲスト仮想マシンの最大メモリー割り当て量を設定できます。
# virsh setmaxmem guest1 1024 --current
最大メモリーサイズに指定できるサイズは、拡張された整数です。拡張子に対応するものを除き、デフォルトではキビバイト単位で表されます。このコマンドには、以下の引数を使用できます。
  • --config - 次回の起動に影響します
  • --live - 実行中のゲスト仮想マシンのメモリーを制御します。これにより、すべてのハイパーバイザーで、最大メモリー制限のライブ変更が許可されないため、ハイパーバイザーがこの動作に対応できるようになります。
  • --current - 現在のゲスト仮想マシンのメモリーを制御します。

20.36.9. ゲスト仮想マシンブロックのデバイス情報の表示

virsh domblkstat コマンドを使用して、実行中のゲスト仮想マシンのブロックデバイス統計情報を表示します。--humanを使用すると、よりユーザーフレンドリーな方法で統計情報を表示できます。
# virsh domblkstat GuestName block-device

20.36.10. ゲスト仮想マシンのネットワークデバイス情報の表示

virsh domifstat コマンドを使用すると、実行中のゲスト仮想マシンのネットワークインターフェイス統計情報が表示されます。
# virsh domifstat GuestName interface-device