1. 程式人生 > >#Centos7.4#Linux虛擬機器KVM配置網絡卡【Requested operation is not valid: network 'br0' is not active】

#Centos7.4#Linux虛擬機器KVM配置網絡卡【Requested operation is not valid: network 'br0' is not active】

案例:

【20181218 10:25 事故描述】

jump宿主機伺服器172.16.20.16宕機,聯絡機房管理員重啟,撥通機房vpn後ssh連線不上

【20181219 11:25 現場問題排查】

網絡卡顯示ip是172.16.20.161,沒有kvm橋接網絡卡br0,

啟動kvm虛擬機器報錯:Requested operation is not valid: network 'br0' is not active

#ifconfig
enp1s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.20.161 netmask 255.255.255.0 broadcast 172.16.20.255
inet6 fe80::226:6cff:fef5:a514 prefixlen 64 scopeid 0x20<link>
ether 00:26:6c:f5:a5:14 txqueuelen 0 (Ethernet)
RX packets 31936 bytes 1780910 (1.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2511 bytes 364044 (355.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

【解決問題】

1、##kvm網橋網絡卡br0配置##
brctl addbr br0 #建立網橋
brctl addif br0 eth0 #把br0和eth0網絡卡繫結
brctl stp br0 on #有關stp協議的

2、在/etc/sysconfig/network-scripts/目錄cp  ifcfg-enp1s0f0 ifcfg-br0

3、修改配置網絡卡資訊 ifcfg-enp1s0f0 和ifcfg-br0資訊

【ifcfg-enp1s0f0】

TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NM_CONTROLLED=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp1s0f0
UUID=b4a34022-21d9-4f88-80c3-f4a625c16d5d
DEVICE=enp1s0f0
ONBOOT=yes
BRIDGE=br0

【ifcfg-br0】

TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NM_CONTROLLED=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=172.16.20.16
NETMASK=255.255.255.0
GATEWAY=172.16.20.1
DNS1=114.114.114.114

4、

5、

6、#virsh start jumpserver 啟動kvm虛擬機器jumpserver

 

【修改後的宿主機配置】

#ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.16.20.16 netmask 255.255.255.0 broadcast 172.16.20.255
inet6 fe80::226:6cff:fef5:a514 prefixlen 64 scopeid 0x20<link>
ether 00:26:6c:f5:a5:14 txqueuelen 0 (Ethernet)
RX packets 31936 bytes 1780910 (1.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2511 bytes 364044 (355.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

enp1s0f0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::226:6cff:fef5:a514 prefixlen 64 scopeid 0x20<link>
ether 00:26:6c:f5:a5:14 txqueuelen 1000 (Ethernet)
RX packets 9445502 bytes 584441758 (557.3 MiB)
RX errors 0 dropped 94 overruns 0 frame 0
TX packets 137325 bytes 32258671 (30.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfafe0000-faffffff

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 7217 bytes 410182 (400.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7217 bytes 410182 (400.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0


操作票
1、virsh net-list --all

##kvm網橋網絡卡配置##
brctl addbr br0 #建立網橋
brctl addif br0 eth0 #把br0和eth0網絡卡繫結
brctl stp br0 on #有關stp協議的

 

cp ifcfg-eth0 ifcfg-br0
【修改前ifcfg-eth0】
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NM_CONTROLLED=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eth0
UUID=b4a34022-21d9-4f88-80c3-f4a625c16d5d
DEVICE=eth0
ONBOOT=yes
IPADDR=172.16.20.16
NETMASK=255.255.255.0
GATEWAY=172.16.20.1
DNS1=114.114.114.114

修改ifcfg-eth0檔案
BOOTRPOTO=none
追加 BRIDGE=br0
###
【修改後ifcfg-br0和ifcfg-eth0】
[[email protected] network-scripts]# cat ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NM_CONTROLLED=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=172.16.20.16
NETMASK=255.255.255.0
GATEWAY=172.16.20.1
DNS1=114.114.114.114

[[email protected] network-scripts]# cat ifcfg-enp1s0f0
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
NM_CONTROLLED=no
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=enp1s0f0
UUID=b4a34022-21d9-4f88-80c3-f4a625c16d5d
DEVICE=enp1s0f0
ONBOOT=yes
#IPADDR=172.16.20.16
#NETMASK=255.255.255.0
#GATEWAY=172.16.20.1
#DNS1=114.114.114.114
BRIDGE=br0

service network restart

 

【可能用到的命令】
brctl addbr br0 #建立網橋

brctl addif br0 eth0 #把br0和eth0網絡卡繫結

brctl stp br0 on #有關stp協議的

brctl delif br0 eth0 #解除繫結

ifconfig br0 down #關閉br0,不關閉刪不掉

brctl delbr br0 #刪除br0

關閉NetworkManager
#service NetworkManager stop
#chkconfig NetworkManager off
#kvm命令
#virsh 進入kvm控制檯
##list --all顯示所有kvm虛擬機器
##console id或者name 進入kvm機子
virsh net-list --all顯示所有網路介面,default介面是預設的nat轉發
virsh net-destroy default 關閉default網路介面
virsh net-undefine default 刪除default網路介面
service libvirtd restart 重啟kvm服務

virsh shutdown jumpserver 關閉kvm虛擬機器
virsh start jumpserver 啟動kvm虛擬機器


【修改kvm虛擬機器的資源大小cpu、記憶體、硬碟】

# virsh list --all 

Id    Name         State
-------------------------------------------------
-     bbotte       shut off 
    
# virsh setvcpus bbotte --maximum 4 --config
# virsh setmaxmem bbotte 1048576 --config

# virsh dominfo bbotte
Id:             2
Name:           bbotte
UUID:           bd22f444-ee7f-7f00-3d1b-1bb0d0857e43
OS Type:        hvm
State:          running
CPU(s):         4
CPU time:       152.3s
Max memory:     1048576 KiB
Used memory:    524288 KiB
Persistent:     yes
Autostart:      disable
Managed save:   no
Security model: none
Security DOI:   0
   ####修改xml配置檔案###

1、virsh edit centos73 (更改前要將virsh shutdown centos73 )
找到“memory”和“vcpu”標籤,將
<name>centos73</name> <uuid>2220a6d1-a36a-4fbb-8523-e078b3dfe795</uuid> <memory unit='KiB'>2097152</memory> <currentMemory unit='KiB'>2097152</currentMemory> <vcpu placement='static'>1</vcpu> 改為: <name>centos73</name> <uuid>2220a6d1-a36a-4fbb-8523-e078b3dfe795</uuid> <memory unit='KiB'>3145728</memory> <currentMemory unit='KiB'>3145728</currentMemory> <vcpu placement='static'>2</vcpu> virsh define /etc/libvirt/qemu/centos73.xml 重定義使配置生效 重啟虛擬機器 virsh start centos73 --console 檢視原配置資訊 [[email protected] kvm]# virsh dominfo centos734 Id: - Name: centos73 UUID: 2220a6d1-a36a-4fbb-8523-e078b3dfe795 OS Type: hvm State: shut off CPU(s): 1 Max memory: 2097152 KiB Used memory: 2097152 KiB Persistent: yes Autostart: disable Managed save: no Security model: none Security DOI: 0 調整後資訊: [[email protected] kvm]# virsh dominfo centos73 Id: - Name: centos73 UUID: 2220a6d1-a36a-4fbb-8523-e078b3dfe795 OS Type: hvm State: shut off CPU(s): 2 Max memory: 3145728 KiB Used memory: 3145728 KiB Persistent: yes Autostart: disable Managed save: no Security model: none Security DOI: 0

參考連線:

http://blog.sina.com.cn/s/blog_625fcb0b0102wayc.html
http://blog.51cto.com/13570993/2061254

https://blog.csdn.net/hnhuangyiyang/article/details/50902223