KVM虚拟化技术之网卡流量聚合

简介:




2014年新的一年春天来了,又是一年春来到,烟花三月好风光,好久没发表文章了,今天在这里记录一下KVM网卡绑定安装脚本,供大家参考。

一、实施环境:

硬件设备:H3C S5500三层交换机+DELLR720服务器

虚拟化软件:KVM虚拟化

二、脚本内容:

脚本基于服务器四块网卡绑定,网卡流量聚合叠加,总和为4G,模拟测试任意down掉一块网卡、两块网卡对物理机上的虚拟机集群没有任何影响。直接上脚本如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#!/bin/sh
#Auto Make KVM Virtualization
#Author wugk 2013-12-06 bond0+br0
#Auto config bond scripts
eth_bond()
{
NETWORK=(
   HWADDR=` ifconfig  eth0 | egrep  "HWaddr|Bcast"  | tr  "\n"  " " | awk  '{print $5,$7,$NF}' | sed  -e  's/addr://g'  -e  's/Mask://g' | awk  '{print $1}' `
   IPADDR=` ifconfig  eth0 | egrep  "HWaddr|Bcast"  | tr  "\n"  " " | awk  '{print $5,$7,$NF}' | sed  -e  's/addr://g'  -e  's/Mask://g' | awk  '{print $2}' `
   NETMASK=` ifconfig  eth0 | egrep  "HWaddr|Bcast"  | tr  "\n"  " " | awk  '{print $5,$7,$NF}' | sed  -e  's/addr://g'  -e  's/Mask://g' | awk  '{print $3}' `
   GATEWAY=`route -n| grep  "UG" | awk  '{print $2}' `
)
DIR= /etc/sysconfig/network-scripts/
BAK= /data/backup/ ` date  +%Y%m%d`
if
[ ! -d $BAK ]; then
mkdir  -p $BAK
cp  $DIR /ifcfg-eth * $BAK
else
cp  $DIR /ifcfg-eth * $BAK
fi
cat  >ifcfg-bond0<<EOF
DEVICE=bond0
BOOTPROTO=static
${NETWORK[1]}
${NETWORK[2]}
${NETWORK[3]}
ONBOOT= yes
TYPE=Ethernet
NM_CONTROLLED=no
EOF
yes | cp  ifcfg-bond0 ifcfg-eth0 ifcfg-eth1 ifcfg-eth2 ifcfg-eth3 $DIR
yes | cp  modprobe.conf  /etc/modprobe .d/
echo  "The Server bond0 config success !!"
}
#Auto install kvm and config br0 scripts
kvm_install()
{
cat  <<EOF
++++++++++++++++Welcome To Use Auto Install KVM Scripts ++++++++++++++++++
+++++++++++++++++++++++++This KVM Install Virtual ++++++++++++++++++++++++
+++++++++++++++++++++++++2013-12-06 Author wugk ++++++++++++++++++++++++++
EOF
KVM_SOFT=(
   kvm python-virtinst libvirt bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v libguestfs-tools
)
NETWORK=(
   HWADDR=` ifconfig  bond0 | egrep  "HWaddr|Bcast"  | tr  "\n"  " " | awk  '{print $5,$7,$NF}' | sed  -e  's/addr://g'  -e  's/Mask://g' | awk  '{print $1}' `
   IPADDR=` ifconfig  bond0 | egrep  "HWaddr|Bcast"  | tr  "\n"  " " | awk  '{print $5,$7,$NF}' | sed  -e  's/addr://g'  -e  's/Mask://g' | awk  '{print $2}' `
   NETMASK=` ifconfig  bond0 | egrep  "HWaddr|Bcast"  | tr  "\n"  " " | awk  '{print $5,$7,$NF}' | sed  -e  's/addr://g'  -e  's/Mask://g' | awk  '{print $3}' `
   GATEWAY=`route -n| grep  "UG" | awk  '{print $2}' `
)
#Check whether the system supports virtualization
   egrep  'vmx|svm'  /proc/cpuinfo  >> /dev/null
if
   "$?"  - eq  "0"  ]; then
   echo  'Congratulations, your system success supports virtualization !'
else
   echo  -e  'OH,your system does not support virtualization !\nPlease modify the BIOS virtualization options (Virtualization Technology)'
   exit  0
fi
   if
     [ -e  /usr/bin/virsh  ]; then
   echo  "Virtualization is already installed ,Please exit ...."  ; exit  0
   fi
   yum -y  install  ${KVM_SOFT[@]}
   /sbin/modprobe  kvm
   ln  -s  /usr/libexec/qemu-kvm  /usr/bin/qemu-kvm
   lsmod |  grep  kvm >> /dev/null
   if
     "$?"  - eq  "0"  ]; then
     echo  'KVM installation is successful !'
else
     echo  'KVM installation is falis,Please check ......'
   exit  1
fi
cd  /etc/sysconfig/network-scripts/
   mkdir  -p  /data/backup/ ` date  +%Y%m%d-%H:%M`
   yes | cp  ifcfg-eth*  /data/backup/ ` date  +%Y%m%d-%H:%M`/
if
   [ -e  /etc/sysconfig/network-scripts/ifcfg-br0  ]; then
   echo  "The ifcfg-br0 already exist ,Please wait exit ......"
   exit  2
else
   cat  >ifcfg-bond0 <<EOF
   DEVICE=bond0
   BOOTPROTO=none
   #${NETWORK[0]}
   NM_CONTROLLED=no
   ONBOOT= yes
   TYPE=Ethernet
   BRIDGE= "br0"
   ${NETWORK[1]}
   ${NETWORK[2]}
   ${NETWORK[3]}
   USERCTL=no
EOF
   cat  >ifcfg-br0 <<EOF
   DEVICE= "br0"
   BOOTPROTO=none
   #${NETWORK[0]}
   IPV6INIT=no
   NM_CONTROLLED=no
   ONBOOT= yes
   TYPE= "Bridge"
   ${NETWORK[1]}
   ${NETWORK[2]}
   ${NETWORK[3]}
   USERCTL=no
EOF
fi
echo  'Your can restart Ethernet Service: /etc/init.d/network restart !'
echo  '---------------------------------------------------------'
sleep  1
echo  'Your can restart KVM Service : /etc/init.d/libvirtd restart !'
echo
echo  -e  "You can create a KVM virtual machine: \nvirt-install --name=centos01 --ram 512 --vcpus=1 --disk path=/data/kvm/centos01.img,size=7,bus=virtio --accelerate --cdrom /data/iso/centos58.iso --vnc --vncport=5910 --vnclisten=0.0.0.0 --network bridge=br0,model=virtio --noautoconsole"
}
case  $1  in
eth_bond )
eth_bond
;;
kvm_install )
kvm_install
;;
* )
echo  "Usage: { $0 eth_bond|kvm_install|help}"
esac

三、网卡内容:

修改之后ifcfg-eth0配置内容如下,其他三块网卡依次修改为对应的网卡名称,内容跟eth0一致:

1
2
3
4
5
6
7
DEVICE=eth0
BOOTPROTO=none
ONBOOT= yes
MASTER=bond0
SLAVE= yes
TYPE=Ethernet
NM_CONTROLLED=no

四、H3C S5500交换机配置:

服务器端聚合配置完毕后,还需要在交换机把相应的4个端口做网络聚合,命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
system-view
interface Bridge-Aggregation 100
link-aggregation mode dynamic
quit
interface GigabitEthernet1 /0/1
port link-aggregation group 100
quit
interface GigabitEthernet1 /0/2
port link-aggregation group 100
quit
interface GigabitEthernet1 /0/3
port link-aggregation group 100
quit
interface GigabitEthernet1 /0/4
port link-aggregation group 100
quit

参考文章:

http://navyaijm.blog.51cto.com/4647068/1316910

http://wgkgood.blog.51cto.com/1192594/1337628



本文转自 wgkgood 51CTO博客,原文链接:http://blog.51cto.com/wgkgood/1380295

相关文章
|
虚拟化
【虚拟化】VMware 新增网卡后找不到网卡配置问题(已解决)
【虚拟化】VMware 新增网卡后找不到网卡配置问题(已解决)
869 0
【虚拟化】VMware 新增网卡后找不到网卡配置问题(已解决)
|
机器学习/深度学习 Linux KVM
Debian11安装KVM虚拟化并安装Centos
grep --color --perl-regexp 'vmx | svm' /proc/cpuinfo 首先检查其是否支持虚拟化. 分别用以下条命令查看
1140 0
Debian11安装KVM虚拟化并安装Centos
|
机器学习/深度学习 存储 Linux
CentOS 7 部署 KVM 虚拟化
CentOS 7 部署 KVM 虚拟化
648 0
|
安全 IDE KVM
[ 云计算相关 ] KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序)
KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序) 因为这也不是我的本职工作,只是这次恰巧碰到了,帮着解决了以下,我就没深究原理了,问我原理可能我也不知道,只是这个操作步骤吧,亲测有效。
470 0
[ 云计算相关 ] KVM虚拟化平台windows虚拟机迁移到openstack虚拟化平台(KVM虚拟化环境中Windows虚拟机安装Virtio驱动程序)
|
11月前
|
存储 监控 网络安全
【KVM虚拟化】· 虚拟机的冷迁移和热迁移
【KVM虚拟化】· 虚拟机的冷迁移和热迁移
896 0
|
11月前
|
KVM 虚拟化 Windows
【KVM虚拟化】· KVM中的网络
【KVM虚拟化】· KVM中的网络
206 0
|
11月前
|
存储 KVM 文件存储
【KVM虚拟化】· 存储池、存储卷
【KVM虚拟化】· 存储池、存储卷
427 0
|
11月前
|
存储 监控 安全
【KVM虚拟化】· virsh文件管理
【KVM虚拟化】· virsh文件管理
338 0
|
11月前
|
XML Shell API
【KVM虚拟化】· virsh管理命令
【KVM虚拟化】· virsh管理命令
262 0
|
11月前
|
XML 存储 安全
【KVM虚拟化】· 命令行KVM安装linux
【KVM虚拟化】· 命令行KVM安装linux
131 0