Red Hat Training

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

20.12. 仮想マシンに関する情報の取得

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

デフォルトでは、virsh domblkstat コマンドは、ドメインに定義されている最初のブロックデバイスのブロック統計を表示します。他のブロックデバイスの統計情報を表示するには、virsh domblklist domain コマンドを使用してすべてのブロックデバイスのリストを表示し、特定のブロックデバイスを選択してから、ドメイン名の後の virsh domblklist コマンドの出力から ターゲット 名または ソース 名を指定して表示します。すべてのハイパーバイザーがすべてのフィールドを表示できるわけではないことに注意してください。出力が最も読みやすい形式で表示されるようにするには、--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 ゲスト仮想マシンのネットワークインターフェイスパラメーターの設定方法

以下の例では、guest1 という名前のゲスト仮想マシンの eth0 パラメーターを設定します。
# virsh domiftune guest1 eth0 outbound --live

20.12.6. メモリー統計の取得

virsh dommemstat domain [<period in seconds>] [--config] [--live] [--current] コマンドは、実行中のゲスト仮想マシンのメモリー統計を表示します。オプションの period スイッチを使用するには、秒単位の期間が必要です。このオプションを 0 より大きい値に設定すると、バルーンドライバーは追加の統計を返します。これは、後続の dommemstat コマンドを実行すると表示されます。period オプションを 0 に設定すると、バルーンドライバーの収集を停止しますが、バルーンドライバーにある統計は消去されません。period オプションも設定しないと、--live オプション、--config オプション、または --current オプションを使用できません。--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 コマンドは、エラー 状態のすべてのブロックデバイスと、各ブロックデバイスで検出されたエラーをリスト表示します。このコマンドは、virsh domstate コマンドが I/O エラーのためにゲスト仮想マシンが一時停止したことを報告した後に使用することを推奨します。

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

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

20.12.8. ブロックデバイスのサイズの表示

virsh domblkinfo domain コマンドは、仮想マシン上の特定のブロックデバイスの容量、割り当て、および物理ブロックサイズのリストを表示します。virsh domblklist コマンドを使用して、すべてのブロックデバイスのリストを表示し、ドメイン名の後の virsh 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 domblkinfo および virsh snapshot-create など、ブロックデバイスを提供する必要があるその他のコマンドで使用できます。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 を指定すると、結果は、次回の起動時に使用されるデバイスを示し、実行中のゲストが現在使用しているデバイスは示しません。仮想インターフェイス (detach-interfacedomif-setlinkdomif-getlinkdomifstat、および domiftune など) の MAC アドレスを必要とする Virsh コマンドは、このコマンドが表示する出力を受け付けます。

例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