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 状態は、ゲスト仮想マシンが休止中のため、稼働していないか、または稼働できないことを示します。ゲスト仮想マシンが IO を待機している場合 (従来の待機状態) か、または作業がないためにスリープ状態になっている場合に、この状態になります。
    • paused - ゲスト仮想マシンが一時停止になると、メモリーと他のリソースは消費しますが、ハイパーバイザーからの CPU リソースはスケジュールされません。paused 状態は、 または コマンドで virt-managerpausedvirsh suspend ボタンを使用すると発生します。
    • in shutdown - in shutdown 状態は、シャットダウンプロセスにあるゲスト仮想マシンの状態です。ゲスト仮想マシンには、シャットダウン信号が送られて、その稼働を正常に停止するプロセスに入ります。これはすべてのゲスト仮想マシンのオペレーティングシステムでは機能しないかもしれません。一部のオペレーティングシステムはこれらの信号に反応しません。
    • shut off - shut off 状態は、ゲスト仮想マシンが稼働していないことを示します。これは、ゲスト仮想マシンが完全にシャットダウンするか、または起動していないことが原因です。
    • crashed - crashed 状態は、ゲスト仮想マシンがクラッシュしていることを示し、ゲスト仮想マシンがクラッシュ時に再起動しないように設定をされている場合にのみ発生します。
    • pmsuspended - ゲストは、ゲスト電源管理により一時停止されています。
  • --inactive - 定義されているものの、現在アクティブではないゲスト仮想マシンを一覧表示します。これには、shut offcrashed の状態も含まれます。
  • --managed-save - 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 - 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. ホスト物理マシンの CPU への仮想 CPU ピニング

virsh vcpupin コマンドは、仮想 CPU を物理 CPU に割り当てます。
# virsh vcpupin guest1
VCPU: CPU Affinity
----------------------------------
   0: 0-3
   1: 0-3
vcpupin コマンドは、以下の引数を取ります。
  • --vcpu には仮想 CPU (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 は、仮想 CPU (vcpu) の上限 (cap) を取得します。
  • --active は、現在アクティブな仮想 CPU (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 の識別子番号をコンマで区切った一覧です。cpulist パラメーターによって仮想 CPU を実行できる物理 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
上記コマンドでは、vCPU を guestVM1 に割り当てる数を 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 はキロバイトで指定する必要があります。新規のカウント値はゲスト仮想マシンに指定した数を超過することはできません。64 MB 未満の値は、ほとんどのゲスト仮想マシンのオペレーティングシステムでは機能しない可能性があります。それ以上の値が最大メモリー数値である場合は、アクティブなゲスト仮想マシンに影響しません。新規の値が利用可能なメモリーを下回る場合、縮小されてゲスト仮想マシンがクラッシュする原因になるかもしれません。
このコマンドには次のようなオプションがあります。
  • 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 により値はすべて直近のキビバイトに切り上げられ、またハイパーバイザーで対応できる単位までさらに切り上げられる場合があるので注意してください。また、ハイパーバイザーの中には、4000KiB (または 4000 x 210 または 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