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.3. ゲスト仮想マシンの仮想インターフェイスのリンク状態の変更
virsh domif-setlink domain interface-device state コマンドは、指定したインターフェイスデバイスリンクのステータスを
up
または down
のいずれかに設定します。ドメインに定義されているインターフェイスデバイスを特定するには、virsh domiflist コマンドを使用し、インターフェイスデバイスオプションとして Interface
列または MAC
列のいずれかを使用します。デフォルトでは、virsh domif-setlink は、実行中のドメインのリンクステートを変更します。ドメインの永続的な設定を変更するには、--config
引数を使用します。
例20.23 ゲスト仮想マシンインターフェイスを有効にする方法
次の例は、rhel7 ドメインのインターフェイスデバイスを決定し、リンクをdownとして設定し、最後にupとして設定する方法を示しています。
# virsh domiflist rhel7 Interface Type Source Model MAC ------------------------------------------------------- vnet0 network default virtio 52:54:00:01:1d:d0 # virsh domif-setlink rhel7 vnet0 down Device updated successfully # virsh domif-setlink rhel7 52:54:00:01:1d:d0 up Device updated successfully
20.12.4. ゲスト仮想マシンの仮想インターフェイスのリンク状態のリスト表示
virsh domif-getlink domain interface-device コマンドは、指定したインターフェイスデバイスリンクステートを取得します。ドメインに定義されているインターフェイスデバイスを特定するには、virsh domiflist コマンドを使用し、インターフェイスデバイスオプションとして
Interface
列または MAC
列のいずれかを使用します。デフォルトでは、virsh domif-getlink は、実行中のドメインのリンクステートを取得します。ドメインの永続的な設定を取得するには、 --config option
を使用します。
例20.24 ゲスト仮想マシンのインターフェイスのリンク状態を表示する方法
以下の例は、rhel7 ドメインのインターフェイスデバイスを判別し、その状態を up として決定し、続いて状態を down に変更してから、変更が正常に行われたことを確認します。
# virsh domiflist rhel7 Interface Type Source Model MAC ------------------------------------------------------- vnet0 network default virtio 52:54:00:01:1d:d0 # virsh domif-getlink rhel7 52:54:00:01:1d:d0 52:54:00:01:1d:d0 up # virsh domif-setlink rhel7 vnet0 down Device updated successfully # virsh domif-getlink rhel7 vnet0 vnet0 down
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-interface、domif-setlink、domif-getlink、domifstat、および 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