有N多数据要同步,1G网卡都慢。聚合起来快些,磁盘io另算。
自己写写记录一下。
bond有多重方式实现,归根结底有2种:重启不保留&重启保留。
先写重启不保留:
modprobe bonding miimon=100
ifconfig bond0 192.168.1.1 netmask 255.255.255.0
ifenslave bond0 eth0 eth1
先加载模块再分配ip,最后把网卡加入到bond0中。
ifenslave 是个好东西,能在线把网卡聚合起来,不过最好还是用kvm操作安全些。
常用的除了绑定还有:
-a 查看所有
-d 把某个绑定的网卡松绑
bond分7种常用就2类,聚合&主备。
聚合分为 0和6,主备一般就是1。
聚合的0和6有什么区别:
mode=0 bond0 那第一块网卡的MAC作为自己的MAC,接下来的多块网卡也用这个MAC.
在交换机这里会有arp问题。(也是查网上的资料,自己试了一下。对传输的影响不大)
mode=6 这种情况下每块网卡保留自己的MAC地址,bond0默认使用第一块的。
搞完做了一下测试,拿3台机器写了个死循环去bond机器上拉数据。
0和6的效果差不多,bond的2个口子接在同一个交换机下也没网上传说的丢包。
为了稳定最后还是用了 6.
重启保留的:
想要重启保留就要写配置文件,让开机的时候读到。
内核加载配置文件 /etc/modprobe.conf
- alias bond0 bonding
- options bonding miimon=100 mode=6
看清是 options 不要漏掉最后的s,哎这个s浪费了我多少生命。
网卡配置文件:
先备份原来的 ifcfg-eth0 和 ifcfg-eth1, 在前面加上 bak.
把原来的ip mask gateway 通通#掉,修改BOOTPROTO为none
这里再写几个浪费我生命的:
网上有文章说 吧ONBOOT 改为no ,我以为bond0会自动接管,结果被骗。不起bond怎么知道这个网卡能用。
还有一个把 SLAVE写成小写,抱着严谨的态度我也写成小写。。。。
bond0 配置文件
- DEVICE=bond0
- BOOTPROTO=static
- IPADDR=192.168.13.12
- NETMASK=255.255.255.0
- GATEWAY=192.168.13.1
- DHCPCLASS=
- #HWADDR=78:2B:CB:05:F5:9A
- SLAVE=eth0,eth1
- ONBOOT=yes
然后重启网卡,你可以在 /proc/net/bonding/bond0 看到这个。
- Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)
- Bonding Mode: adaptive load balancing
- Primary Slave: None
- Currently Active Slave: eth0
- MII Status: up
- MII Polling Interval (ms): 100
- Up Delay (ms): 0
- Down Delay (ms): 0
- Slave Interface: eth0
- MII Status: up
- Link Failure Count: 0
- Permanent HW addr: 78:2b:cb:05:f5:9a
- Slave Interface: eth1
- MII Status: up
- Link Failure Count: 0
- Permanent HW addr: 78:2b:cb:05:f5:9b
基本就是这样,然后重启就ok。不过感觉bond在启动完不想eth0那样立马能ping通,要过一段时间才能通。
ok,先到这里。
阅读(1062) | 评论(0) | 转发(0) |