3.8. 仮想ネットワークインターフェースカード
仮想ネットワークインターフェースカードは、ホストの物理ネットワークインターフェースカードをベースとした仮想ネットワークインターフェースです。各ホストには、複数のネットワークインターフェースカードが搭載されていますが、各ネットワークインターフェースカードを、複数の仮想ネットワークインターフェースカードのベースとして設定することができます。
仮想ネットワークインターフェースカードを仮想マシンにアタッチすると、Red Hat Virtualization Manager により、仮想ネットワークインターフェースカードのアタッチ先の仮想マシン、仮想ネットワークインターフェースカード自体、仮想ネットワークインターフェースカードのベースとなる物理ホストのネットワークインターフェースカードの間で複数の関連付けが作成されます。具体的には、仮想ネットワークインターフェースカードが仮想マシンにアタッチされると、仮想ネットワークインターフェースカードがベースとする物理ホストのネットワークインターフェースカード上で、新しい仮想ネットワークインターフェースカードと MAC アドレスが作成されます。そして、仮想ネットワークインターフェースカードのアタッチ後、初めて仮想マシンを起動すると、libvirt
により、仮想ネットワークインターフェースカードに PCI アドレスが割り当てられます。次に、この MAC アドレスと PCI アドレスを使用して、仮想マシンの仮想ネットワークインターフェースカードの名前 (例: eth0
) が取得されます。
テンプレートやスナップショットをベースに仮想マシンを作成する場合は、MAC アドレスを割り当てるプロセス、およびこれらの MAC アドレスと PCI アドレスを関連付けるプロセスが若干異なります。テンプレートやスナップショット用に PCI アドレスがすでに作成されている場合は、そのテンプレートやスナップショットをベースに作成した仮想マシン上の仮想ネットワークインターフェースカードは PCI アドレスの順に整理され、MAC アドレスがこの順に割り当てられます。一方、テンプレート用に PCI アドレスが作成されていない場合は、そのテンプレートをベースに作成した仮想マシン上の仮想ネットワークインターフェースカードには、その名前順に MAC アドレスが割り当てられます。スナップショット用に PCI アドレスが作成されていない場合は、そのスナップショットをベースに作成した仮想マシン上の仮想ネットワークインターフェースカードには、Red Hat Virtualization Manager が新しい MAC アドレスを割り当てます。
作成が済むと、ネットワークインターフェースカードがネットワークブリッジデバイスに追加されます。ネットワークブリッジデバイスは、仮想マシンを仮想マシン論理ネットワークに接続する手段です。
仮想化ホスト上で ip addr show
コマンドを実行すると、そのホスト上の仮想マシンに関連付けられた仮想ネットワークインターフェースカードがすべて表示されます。また、論理ネットワークを強化するために作成されたネットワークブリッジや、ホストで使用されるネットワークインターフェースカードなどが表示されます。
[root@rhev-host-01 ~]# ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:21:86:a2:85:cd brd ff:ff:ff:ff:ff:ff inet6 fe80::221:86ff:fea2:85cd/64 scope link valid_lft forever preferred_lft forever 3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN qlen 1000 link/ether 00:21:6b:cc:14:6c brd ff:ff:ff:ff:ff:ff 5: ;vdsmdummy;: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN link/ether 4a:d5:52:c2:7f:4b brd ff:ff:ff:ff:ff:ff 6: bond0: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 7: bond4: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 8: bond1: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 9: bond2: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 10: bond3: <BROADCAST,MULTICAST,MASTER> mtu 1500 qdisc noop state DOWN link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 11: ovirtmgmt: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN link/ether 00:21:86:a2:85:cd brd ff:ff:ff:ff:ff:ff inet 10.64.32.134/23 brd 10.64.33.255 scope global ovirtmgmt inet6 fe80::221:86ff:fea2:85cd/64 scope link valid_lft forever preferred_lft forever
このコマンドでは、複数のデバイス (ループバックデバイス 1 つ (lo)、Ethernet デバイス 1 つ (eth0)、ワイヤレスデバイス 1 つ (wlan0)、VDSM ダミーデバイス 1 つ (;vdsmdummy;)、ボンディングデバイス 5 つ (bond0、bond4、bond1、bond2、bond3)、ネットワークブリッジ 1 つ (ovirtmgmt)) がコンソールに出力されます。
仮想ネットワークインターフェースカードはすべて、論理ネットワークのネットワークブリッジデバイスのメンバーです。ブリッジのメンバーシップは brctl show
コマンドで表示することができます。
[root@rhev-host-01 ~]# brctl show bridge name bridge id STP enabled interfaces ovirtmgmt 8000.e41f13b7fdd4 no vnet002 vnet001 vnet000 eth0
brctl show
コマンドのコンソール出力から、virtio 仮想ネットワークインターフェースカードが ovirtmgmt ブリッジのメンバーであることが分かります。仮想ネットワークインターフェースカードが関連付けられている仮想マシンはすべて、ovirtmgmt 論理ネットワークに接続されています。eth0 のネットワークインターフェースカードも ovirtmgmt ブリッジのメンバーです。eth0 デバイスは、ホスト外部への接続を提供するスイッチに接続されています。