20.12. ゲスト仮想マシン情報の取得

20.12.1. デバイスブロック統計の表示

デフォルトでは、virsh domblkstat コマンドは、ドメインで最初に定義されているブロックデバイスのブロック統計数字を表示します。他のブロックデバイスの統計数字を表示するには、virsh domblklist domain コマンドを使って全ブロックデバイスを一覧表示します。次に、 コマンドの出力から Target または virsh domblklistSource の名前をドメイン名の後で指定して、特定のブロックデバイスを指定します。すべてハイパーバイザーで全フィールドが表示されるわけではないことに注意してください。出力を読みやすい形式にするには、--human 引数を使用します。

例20.21 ゲスト仮想マシンのブロック統計の表示方法

以下の例では、guest1 仮想マシンに定義されたデバイスが表示され、そのデバイスのブロック統計数字が一覧表示されます。
# virsh domblklist guest1

Target     Source
------------------------------------------------
vda        /VirtualMachines/guest1.img
hdc        -

# virsh domblkstat guest1 vda --human
Device: vda
 number of read operations:      174670
 number of bytes read:           3219440128
 number of write operations:     23897
 number of bytes written:        164849664
 number of flush operations:     11577
 total duration of reads (ns):   1005410244506
 total duration of writes (ns):  1085306686457
 total duration of flushes (ns): 340645193294

20.12.2. ネットワークインターフェース統計の取得

virsh domifstat domain interface-device コマンドは、所定のゲスト仮想マシンで実行中の指定されたデバイスについてのネットワークインターフェース統計を表示します。
ドメインにどのインターフェイスデバイスが定義されているかを判定するには、virsh domiflist コマンドを実行し、 Interface コラムの出力を使用します。

例20.22 ゲスト仮想マシンのネットワーク統計の表示方法

以下の例では、guest1 仮想マシンに定義されているネットワークインターフェイスが表示されます。次に、そこで取得したインターフェイス (macvtap0) を使用してそのネットワーク統計が表示されます。
virsh domiflist guest1
Interface  Type       Source     Model       MAC
-------------------------------------------------------
macvtap0   direct     em1        rtl8139     12:34:00:0f:8a:4a
# virsh domifstat guest1 macvtap0
macvtap0 rx_bytes 51120
macvtap0 rx_packets 440
macvtap0 rx_errs 0
macvtap0 rx_drop 0
macvtap0 tx_bytes 231666
macvtap0 tx_packets 520
macvtap0 tx_errs 0
macvtap0 tx_drop 0

20.12.5. ネットワークインターフェース帯域幅パラメーターの設定

virsh domiftune domain interface-device コマンドは、指定したドメインのインターフェイス帯域幅パラメーターを取得または設定します。ドメインで定義されているインターフェイスデバイスを判定するには virsh domiflist コマンドを実行し、インターフェイスデバイスオプションにその出力の Interface または MAC コラムを使用します。以下の構文を使用してください。
# virsh domiftune domain interface [--inbound] [--outbound] [--config] [--live] [--current]
--config--live、および --current のオプションについては、「スケジュールパラメーターの設定」 で説明しています。--inbound または --outbound のオプションが指定されないと、virsh domiftune は指定されたネットワークインターフェイスにクエリーを実行し、帯域幅設定を表示します。--inbound または --outbound のどちらか、もしくは両方を指定すると、平均、ピーク、バースト値を virsh domiftune が帯域幅に設定します。このうち少なくとも、平均値が必要になります。帯域幅設定をクリアにするには、0 (ゼロ) を提供します。平均、アベレージ、バースト値については、「インターフェースデバイスの割り当て」 を参照してください。

例20.25 ゲスト仮想マシンのネットワークインターネットパラメーターの設定方法

以下の例では、仮想マシン eth0guest1 パラメーターを設定しています。
virsh domiftune guest1 eth0 outbound --live

20.12.6. メモリー統計の取得

virsh dommemstat domain [<period in seconds>] [--config] [--live] [--current] コマンドは、実行中のゲスト仮想マシンのメモリー統計を表示します。オプションの period スイッチを使用すると、秒単位の期間が必要になります。このオプションを 0 よりも大きな値に設定すると、バルーンドライバーが追加の統計数字を返せるようになり、続いて dommemstat コマンドを実行するとこれが表示されます。period オプションを 0 に設定すると、バルーンドライバーによる収集が停止しますが、すでにバルーンドライバーにある統計は消去されません。--live オプションを設定しないと、--config--current、または period オプションは使用できません。--live オプションが指定される場合、ゲストの実行中の統計のみが収集されます。--config オプションが使用される場合、次回の起動後にのみ永続的なゲストの統計が収集されます。--current オプションが使用される場合、現在の統計が収集されます。
--live および --config の両方のオプションを使用できますが、--current は排他的な使用になります。フラグが指定されていない場合、ゲストの状態によって統計収集の動作が決まります (実行中かどうかに応じる)。

例20.26 実行中のゲスト仮想マシンのメモリー統計の収集方法

以下の例では、rhel7 ドメインのメモリー統計数字が表示されます。
# virsh dommemstat rhel7
actual 1048576
swap_in 0
swap_out 0
major_fault 2974
minor_fault 1272454
unused 246020
available 1011248
rss 865172

20.12.7. ブロックデバイスのエラーの表示

virsh domblkerror domain コマンドは、error 状態になっているブロックデバイスすべてと、それらで検出されたエラーを一覧表示します。このコマンドは、virsh domstate コマンドを実行して、I/O エラーのためにゲスト仮想マシンが一時停止していることがレポートされた後に使用するとよいでしょう。

例20.27 仮想マシンのブロックデバイスエラーの表示方法

以下の例では guest1 仮想マシンのブロックデバイスエラーが表示されます。
virsh domblkerror guest1

20.12.8. ブロックデバイス容量の表示

virsh domblkinfo domain コマンドは、仮想マシン内の指定されたブロックデバイスの容量、割り当て、物理的ブロックサイズを一覧表示します。virsh domblklist コマンドで全ブロックデバイスを一覧表示し、 の出力のドメイン名の後にある Target もしくは Sourcevirsh domblklist 名を指定して表示するブロックデバイスを選択します。

例20.28 ブロックデバイス容量の表示方法

以下の例では、rhel7 仮想マシン上にあるブロックデバイスを一覧表示し、各デバイスのブロックサイズを表示しています。
# virsh domblklist rhel7
Target     Source
------------------------------------------------
vda        /home/vm-images/rhel7-os
vdb        /home/vm-images/rhel7-data

# virsh domblkinfo rhel7 vda
Capacity:       10737418240
Allocation:     8211980288
Physical:       10737418240

# virsh domblkinfo rhel7 /home/vm-images/rhel7-data
Capacity:       104857600
Allocation:     104857600
Physical:       104857600

20.12.9. ゲスト仮想マシンに関連付けられたブロックデバイスの表示

virsh domblklist domain [--inactive] [--details] コマンドは、指定されたゲスト仮想マシンに関連付けられたすべてのブロックデバイスの表を表示します。
--inactive が指定されている場合、結果には次回起動時に使用されるデバイスが表示され、実行中のゲスト仮想マシンによって使用されている現在実行中のデバイスは表示されません。--details が指定されている場合、ディスクタイプおよびデバイス値は表に組み込まれます。この表に表示される情報は、 virsh domblkinfovirsh snapshot-create といった、提供されるブロックデバイスを必要とするコマンドで使用することができます。ディスクの TargetSource のコンテキストも、virsh snapshot-create コマンド用に xmlfile コンテキスト情報を生成する際に使用できます。

例20.29 仮想マシンに関連付けられたブロックデバイスの表示方法

以下の例では、rhel7 仮想マシンに関連付けられているブロックデバイスの詳細が表示されます。
# virsh domblklist rhel7 --details
Type       Device     Target     Source
------------------------------------------------
file       disk       vda        /home/vm-images/rhel7-os
file       disk       vdb        /home/vm-images/rhel7-data

20.12.10. ゲスト仮想マシンに関連付けられた仮想インターフェースの表示

virsh domblklist domain コマンドを実行すると、指定されたドメインに関連付けられているすべての仮想インターフェースの表が表示されます。virsh domiflist コマンドには、仮想マシンの名前 (または domain)が必要で、--inactive 引数をオプションで取ることができます。このオプションを使用すると、実行中ではなく、非アクティブの設定がデフォルト設定で取得されます。--inactive を指定すると、次回の起動時に使用されるデバイスが表示され、実行中のゲストが使用しているデバイスは表示されません。仮想インターフェースの MAC アドレスを必要とする Virsh コマンド (detach-interfacedomif-setlinkdomif-getlinkdomifstat、および domiftune など) は、このコマンドで表示される出力を受け付けます。

例20.30 ゲスト仮想マシンに関連付けられた仮想インターフェースの表示方法

以下の例では、rhel7 仮想マシンに関連付けられた仮想インターフェイスを表示し、vnet0 デバイスのネットワークインターフェイスの統計数字を表示します。
# virsh domiflist rhel7
Interface  Type       Source     Model       MAC
-------------------------------------------------------
vnet0      network    default    virtio      52:54:00:01:1d:d0

# virsh domifstat rhel7 vnet0
vnet0 rx_bytes 55308
vnet0 rx_packets 969
vnet0 rx_errs 0
vnet0 rx_drop 0
vnet0 tx_bytes 14341
vnet0 tx_packets 148
vnet0 tx_errs 0
vnet0 tx_drop 0