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(従来の待機状態)で待機している場合や、そうすることができないためにスリープ状態になった場合に発生する可能性があります。
    • 一時停止: ゲスト仮想マシンが一時停止すると、メモリーと他のリソースを消費しますが、ハイパーバイザーから CPU リソースをスケジュールすることはできません。paused 状態は、virt-manager または virsh suspend コマンドで一時停止したボタンを使用して発生します
    • シャットダウン: in shutdown 状態は、シャットダウンプロセスのゲスト仮想マシン用です。ゲスト仮想マシンはシャットダウンシグナルを送信し、操作を正常に停止するプロセスで指定する必要があります。これは、すべてのゲスト仮想マシンのオペレーティングシステムで機能しない可能性があります。オペレーティングシステムによっては、これらのシグナルに応答しません。
    • シャットオフ - shut off 状態では、ゲスト仮想マシンが実行していないことを示します。これは、ゲスト仮想マシンが完全にシャットダウンするか、または開始しなかった場合に生じる可能性があります。
    • crash: crashed 状態は、ゲスト仮想マシンがクラッシュ時に再起動していない場合にのみゲスト仮想マシンがクラッシュした可能性があります。
    • pmsuspended: ゲストがゲストの電源管理によって一時停止されています。
  • --inactive - 定義されたゲスト仮想マシンを表示しますが、現在アクティブではありません。これには、 をシャットダウンし、 クラッシュしたマシンが含まれます
  • --managed-save - 管理保存状態が有効になっているゲストがリストされます。このオプションでゲストをフィルターするには、--all または -- inactive オプションも使用する必要があります。
  • --name - このコマンドは、デフォルトのテーブル形式ではなくゲストの名前を一覧表示します。このオプションは、ゲスト UUID の一覧のみを印刷する --uuid オプションと相互排他的です。--table オプションでは、テーブルスタイルの出力を使用することが決まります。
  • --title - ゲストのタイトルフィールドも一覧表示します。通常、ゲストの簡単な説明が含まれます。このオプションは、デフォルト(--table)出力形式と共に使用する必要があります。以下に例を示します。
    $ virsh list --title
    
    Id       Name                                          State     Title
    ----------------------------------------------------------------------------
    0        Domain-0                                      running   Mailserver1
    2        rhelvm                                        paused
    
  • --persistent - 永続ゲストのみがリストに含まれます。一時的なゲストを一覧表示するには、--transient 引数を使用します。
  • --with-managed-save - 管理保存で設定されたゲストを一覧表示します。1 つなしでゲストを一覧表示するには、--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 には vcpu 番号が必要です。
  • [--cpulist] 文字列には、設定するホストの物理マシンの CPU 番号を一覧表示するか、クエリーするオプションを省略します。
  • --config affects next boot
  • --live は、実行中の仮想マシンに影響します。
  • --current は、現在のゲスト仮想マシンの状態に影響します。

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

virsh vcpucount コマンドにはドメイン名またはドメイン ID が必要です。
# virsh vcpucount guest1
maximum      config         2
maximum      live           2
current      config         2
current      live           2
vcpucount は、以下の引数を取ることができます。
  • --maximum get maximum cap on vcpus
  • --active get number of currently active vcpus
  • --live get value from running guest virtual machine
  • 次回起動時に使用される --config get 値
  • --current get value on to current guest virtual machine state
  • 返される --guest 数はゲストの視点からです。

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

物理 CPU を持つ仮想 CPU のアフィニティーを設定するには、以下を実行します。
# virsh vcpupin domain-id vcpu cpulist
domain-id パラメーターは、ゲスト仮想マシンの ID 番号または名前です。
vcpu パラメーターは、ゲスト仮想マシンに割り当てられる仮想 CPU の数を示します。vcpu パラメーターを指定する必要があります。
cpulist パラメーターは、コンマで区切った物理 CPU 識別子番号の一覧です。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
仮想 CPU 数を guestVM1 を 2 つに設定し、guestVM1 の稼働中に、このアクションが実行されます。
重要
vCPU のホットアンプラグは Red Hat Enterprise Linux 7 ではサポートされていません。
カウントの値は、ホスト、ハイパーバイザー、またはゲスト仮想マシンの元の説明で制限できます。
--config フラグを指定すると、ゲスト仮想マシンの保存された XML 設定に変更が加えられ、ゲストが開始する場合にのみ有効になります。
--live を指定すると、ゲスト仮想マシンがアクティブである必要があり、変更はすぐに有効になります。このオプションを使用すると、vCPU のホットプラグが可能になります。ハイパーバイザーでサポートされている場合は、--config および --live フラグの両方を一緒に指定することができます。
--current が指定されている場合、フラグは現在のゲスト仮想マシンの状態に影響します。
フラグを指定しないと、--live フラグが使用されます。ゲスト仮想マシンがアクティブでないと、このコマンドは失敗します。また、フラグが指定されていない場合、--config フラグも仮定するかどうかは、ハイパーバイザー上になります。これにより、変更を永続化するために XML 設定が調整されるかどうかを判断します。
--maximum フラグは、次回ゲスト仮想マシンの起動時にホットプラグ可能な仮想 CPU の最大数を制御します。したがって、--live フラグを指定せずに --config フラグでのみ使用できます。
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 またはブロック of 1,000 バイト)
    • k または、kibibytes の場合は KiB (2 ~10 または 1024 バイトのブロック)
    • MB メガバイト(106 またはブロックの 1,000,000 バイト)
    • M または、MiB (メビバイトの場合 220 または 1,048,576 バイト)
    • GB ギガバイトの場合(109 またはブロック 1000,000,000 バイト)
    • G または、ギビバイトの場合は GiB (230 または 1,073,741,824 バイト)
    • TB For terabytes(1012 または blocks of 1,000,000,000,000 バイト)
    • T または、TiB (tebibytes の場合)(240 または 1,099,511,627,776 バイト)
    すべての値は、libvirt の最も近い kibibyte に丸められ、さらにハイパーバイザーでサポートされる粒度に丸められる可能性があることに注意してください。ハイパーバイザーによっては、4000KiB(または 4000 x 210 または 4,096,000 バイト)などの少なくとも実施されます。この値の単位は、オプションの属性 memory unit で決定されます。これは、指定された値が 210 または 1024 バイトの数値による測定単位として、デフォルトで kibibytes(KiB)になります。
  • --config - コマンドが次回の起動時に有効になります。
  • --live - このコマンドは、実行中のゲスト仮想マシンのメモリーを制御します。
  • --current - コマンドは、現在のゲスト仮想マシンのメモリーを制御します。

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

virsh setmaxmem ドメイン サイズ --config --live--current コマンドを使用すると、以下のようにゲスト仮想マシンの最大メモリー割り当てを設定できます。
# virsh setmaxmem guest1 1024 --current
最大メモリーに指定できるサイズは、サポートされているサフィックスが提供されない限り、デフォルトで kibibytes で表現される整数です。このコマンドでは、以下の引数を使用できます。
  • --config - 次回起動に影響を及ぼします
  • --live - 実行中のゲスト仮想マシンのメモリーを制御し、ハイパーバイザーが、すべてのハイパーバイザーで最大メモリー制限のライブ変更を許可する訳ではないため、このアクションに対応します。
  • --current - 現在のゲスト仮想マシンのメモリーの制御

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

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

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

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