用virt install 完成虛擬機的安裝后,發現里面只有一塊網卡,有些時候我們需要兩塊或多塊網卡怎么辦? 可以通過virsh attach-iterface來實現
例如原來的ubuntu虛擬機是這樣的, 只有一塊網卡:
test@test-Lenovo-Product:~$ virsh domiflist ubuntu1604-test-vm1 Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge virbr0 virtio 52:54:00:34:06:26 test@ubuntu1604-test-vm1:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:34:06:26 brd ff:ff:ff:ff:ff:ff inet 192.168.122.2/24 brd 192.168.122.255 scope global ens3 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe34:626/64 scope link valid_lft forever preferred_lft forever
添加網卡有兩種途徑:
1 動態的增加網卡,當時生效,但是虛擬機重啟以后就沒有了
test@test-Lenovo-Product:~$ virsh attach-interface ubuntu1604-test-vm1 --type bridge --source virbr0 Interface attached successfully test@test-Lenovo-Product:~$ virsh domiflist Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge virbr0 virtio 52:54:00:34:06:26 vnet1 bridge virbr0 rtl8139 52:54:00:9c:c4:dd test@ubuntu1604-test-vm1:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:34:06:26 brd ff:ff:ff:ff:ff:ff inet 192.168.122.2/24 brd 192.168.122.255 scope global ens3 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe34:626/64 scope link valid_lft forever preferred_lft forever 3: ens7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 52:54:00:9c:c4:dd brd ff:ff:ff:ff:ff:ff
2 方式二,通過修改配置文件的方式永久的增加網卡
test@test-Lenovo-Product:~$ virsh attach-interface ubuntu1604-test-vm1 --type bridge --source virbr0 --config Interface attached successfully test@test-Lenovo-Product:~$ virsh domiflist ubuntu1604-test-vm1 Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge virbr0 virtio 52:54:00:34:06:26
雖然這時沒有virsh domiflist沒有列出來新增加的interface,登陸進虛擬機也沒看到ip, 但是 virsh edit ubuntu1604-test-vm1 可以看到多了一個網卡
<interface type='bridge'> <mac address='52:54:00:34:06:26'/> <source bridge='virbr0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> <interface type='bridge'> <mac address='52:54:00:ab:2d:39'/> <source bridge='virbr0'/> <model type='rtl8139'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </interface>
經過重啟后,可以看到網卡已被永久加上:
virsh shutdown ubuntu1604-test-vm1 virsh start domiflist ubuntu1604-test-vm1 test@test-Lenovo-Product:~$ virsh domiflist ubuntu1604-test-vm1 Interface Type Source Model MAC ------------------------------------------------------- vnet0 bridge virbr0 virtio 52:54:00:34:06:26 vnet1 bridge virbr0 rtl8139 52:54:00:ab:2d:39 test@ubuntu1604-test-vm1:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:34:06:26 brd ff:ff:ff:ff:ff:ff inet 192.168.122.2/24 brd 192.168.122.255 scope global ens3 valid_lft forever preferred_lft forever inet6 fe80::5054:ff:fe34:626/64 scope link valid_lft forever preferred_lft forever 3: ens7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000 link/ether 52:54:00:ab:2d:39 brd ff:ff:ff:ff:ff:ff
3 如果網卡不用了想刪掉,就用下面命令, 重啟后就可生效
virsh detach-interface ubuntu1604-test-vm1 --type bridge --mac 52:54:00:ab:2d:39 --config Interface detached successfully