web-dev-qa-db-ja.com

qemu-kvmでネットワークケーブルの取り外しをエミュレートする

[背景:実際にテストしたい 接続されていないときに静的ネットワークインターフェイスを停止する方法 ]

virt-managerを介して)libvirtを使用してQEMU-KVM仮想マシンを設定しています。その上に2つのNICを配置しました(両方ともvirtio)。それらはホスト上の物理的なNIC=にブリッジされます。

NetworkManagerを「アンプラグ」したときの動作をテストしたい。しかし、virt-managerにはそのためのボタン/チェックボックスはなく、クイックGoogle検索で何も表示されません。

ネットワークケーブルの取り外しをエミュレートするにはどうすればよいですか?

22
derobert

あなたはコンソールでそれを行うことができます:

virsh domif-setlink domain interface-device state

そして、次のコマンドでステータスを確認します。

virsh domifstat domain interface-device

次のように構成されたネットワークインターフェイスを確認できます。

virsh domifaddr domain

詳細については、manページをご覧ください。


次に、一般的なワークフローの例を示します。

$ Sudo virsh list
 Id    Name                           State
----------------------------------------------------
 24    ubuntu17.10                    running

$ Sudo virsh domifaddr ubuntu17.10
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet0      52:54:00:d0:76:cb    ipv4         192.168.122.183/24

$ Sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 up
$ Sudo virsh domif-setlink ubuntu17.10 vnet0 down
Device updated successfully

$ Sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 down
gerlos@mediavault[20:53]:~$ Sudo virsh domif-setlink ubuntu17.10 vnet0 up  
Device updated successfully

gerlos@mediavault[20:53]:~$ Sudo virsh domif-getlink ubuntu17.10 vnet0
vnet0 up
27
Hauke Laging

https://lists.gnu.org/archive/html/qemu-discuss/2017-01/msg00103.html のアドバイスに基づいて、次のコマンドを使用してqemuコンソールでケーブルを接続/取り外しできますset_link <name> on|off

info networkは、使用可能なネットワークリンクを示します。

2
mwfearnley