Kickstart安装脚本中如何同时配置bridge和bond

如何在kickstart脚本中既配置br,又配置bonding呢?

基本篇:

以Dell R730为例,物理网卡名称是em1/em2/em3/em4

1network  --device=br0   --noipv6  --onboot=yes --bridgeslaves=bond0 --gateway=172.16.37.254 --ip=172.16.36.2 --nameserver=172.16.8.1 --netmask=255.255.254.0 --activate  
2network  --device=bond0 --noipv6  --onboot=yes --bondslaves=em1,em2 --bondopts=mode=active-backup,balance-rr;primary=em1,miimon=80,updelay=60000 --activate  
3network --device=em1 --noipv6 --nodns --onboot=yes --activate  
4network --device=em2 --noipv6 --nodns --onboot=yes --activate  
5network --device=em3 --noipv6 --nodns --onboot=yes --activate  
6network --device=em4 --noipv6 --nodns --onboot=yes --activate  
7network  --hostname=myhost-16-36-2  

注意以上,是只做了 em1 和 em2 绑定成为 bond0 ,然后 br0 启动在 bond0 之上。

进阶篇:

基本篇的做法固然是做了四网卡绑定和桥接,副作用也是很可怕的。

大家去看/etc/sysconfig/network-scripts, 里面有一堆的ifcfg-br0-slave_1,ifcfg-bond0-slave_1, ifcfg-bond0-slave_2,更可恶的是进程中跑着好几个dhcp-client,一想就明白了,这是NetworkManager搞得。em3和em4不断去启停端口,试图获得地址,导致交换机端口忽断忽通。

这个试图自动化网络的东西在服务器跑上实在是太无聊了。

所以上面的做法摒弃。在%post把网络搞好:

 1... 
 2%packages 
 3@compat-libraries 
 4@core 
 5wget 
 6net-tools 
 7chrony 
 8bridge-utils 
 9%end 
10...
11
12network  --bootproto=static --device=em1 --noipv6 --nodns  --onboot=yes --gateway=172.16.37.254 --ip=172.16.36.2  --nameserver=172.16.8.1 --netmask=255.255.254.0 
13network  --bootproto=dhcp --device=em2 --noipv6 --nodns --onboot=no 
14network  --bootproto=dhcp --device=em3 --noipv6 --nodns --onboot=no 
15network  --bootproto=dhcp --device=em4 --noipv6 --nodns --onboot=no 
16network  --hostname=myhost-16-36-2 
17...
18
19%post 
20 yum -y erase NetworkManager 
21 cat </etc/sysconfig/network-scripts/ifcfg-br0 
22 DEVICE=br0 
23 TYPE=Bridge 
24 BOOTPROTO=static 
25 ONBOOT=yes 
26 IPADDR=172.16.36.2 
27 NETMASK=255.255.254.0 
28 GATEWAY=172.16.37.254 
29 EOF 
30 cat < /etc/modprobe.d/bonding.conf 
31 alias bond0 bonding 
32 BONDING_OPTS="miimon=100 mode=1 primary=em1" 
33 EOF 
34 cat < /etc/sysconfig/network-scripts/ifcfg-bond0 
35 DEVICE=bond0 
36 ONBOOT=yes 
37 USERCTL=no 
38 BRIDGE=br0 
39 EOF 
40 cat < /etc/sysconfig/network-scripts/ifcfg-em1 
41 DEVICE=em1 
42 USERCTL=no 
43 ONBOOT=yes 
44 MASTER=bond0 
45 SLAVE=yes 
46 BRIDGE="br0" 
47 EOF 
48 cat < /etc/sysconfig/network-scripts/ifcfg-em2 
49 DEVICE=em2 
50 USERCTL=no 
51 ONBOOT=yes 
52 MASTER=bond0 
53 SLAVE=yes 
54 BRIDGE="br0" 
55 EOF 
56 %end

注意上面,安装包必须安装bridge-utils,否则没有brctl,无法启动br0。

其次是卸载了NetworkManager,服务器网络都是手动配的,没人用自动化管理。

这样就完美了。


Dell Idrac 重启机器进入单次pxe安装
IPXE Kickstart安装CentOS的方法
comments powered by Disqus