仓酷云
标题:
来一发CentOS办事器网卡不不乱的祸首罪魁
[打印本页]
作者:
若天明
时间:
2015-1-14 20:27
标题:
来一发CentOS办事器网卡不不乱的祸首罪魁
欢迎大家来到仓酷云论坛!
近期新上的DBSERVER办事器,在压测中发明网卡很不不乱,压力测试方才举行十几分钟后,办事器反响就变得十分慢,PING的时分常常丢包并且SSH毗连也时断时续。刚入手下手觉得是高并发时招致的dbserver无呼应,能够看了一下CPU、内存和硬盘IO,发明都没有到达较高值,乃至比我们的预警值低良多,并且监测也标明DB办事器残剩资本很丰裕!真是对照奇异,那末引发网卡不不乱的缘故原由究竟是甚么呢?
向相干工程师懂得了一下情形,晓得这台DB办事器是双机热备中的一台办事器,头几天刚做的2组千兆网卡绑定。据工程师说绑定前也做过压测,没有呈现如许的成绩。岂非是绑定设置的哪一个环节出成绩了?因而决意从千兆网卡绑定举行具体反省。
妨碍征象图示:
登录/注册后可看大图
0135394121-0.jpg
(8.64 KB, 下载次数: 11)
下载附件
保存到相册
来一发CentOS办事器网卡不不乱的祸首罪魁
2015-1-14 20:27 上传
1、反省ifcfg-bond0和ifcfg-bond1文件
#cat/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.58.11.11
NETMASK=255.255.255.0
GATEWAY=10.58.121.254
USERCTL=no
#cat/etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond1
BOOTPROTO=static
ONBOOT=yes
IPADDR=10.10.10.18
NETMASK=255.255.255.0
GATEWAY=10.58.121.254
USERCTL=no
剖析:很尺度的设置,没有甚么成绩。在这里注重不要指订单个网卡的IP地点、子网掩码或网卡ID。将上述信息指定到假造适配器(bonding)中便可。
2、反省ifcfg-eth0、ifcfg-eth1、ifcfg-eth2、ifcfg-eth3文件
#cat/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
ETHTOOL_OPTS="speed1000duplexfullautonegon"
#cat/etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
USERCTL=no
ETHTOOL_OPTS="speed1000duplexfullautonegon"
#cat/etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE=eth2
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
USERCTL=no
ETHTOOL_OPTS="speed1000duplexfullautonegon"
#cat/etc/sysconfig/network-scripts/ifcfg-eth3
DEVICE=eth3
ONBOOT=yes
BOOTPROTO=none
MASTER=bond1
SLAVE=yes
USERCTL=no
ETHTOOL_OPTS="speed1000duplexfullautonegon"
剖析:从设置文件上看是eth0和eth2绑定为BOND0,eth1和eth3绑定为BOND1.
(注:一时设置网卡的千兆全双工能够如许
ethtool-seth0speed1000duplexfullautonegon
ethtool-seth1speed1000duplexfullautonegon)
3、反省modprobe.conf设置文件
#cat/etc/modprobe.conf
aliaseth0bnx2
aliaseth1bnx2
aliaseth2bnx2
aliaseth3bnx2
aliasscsi_hostadaptermegaraid_sas
aliasscsi_hostadapter1ata_piix
aliasscsi_hostadapter2lpfc
aliasbond0bonding
optionsbond0miimon=100mode=0
aliasbond1bonding
optionsbond1miimon=100mode=1
###BEGINPP
include/etc/modprobe.conf.pp
###ENDPP
剖析:今后文件看到场
aliasbond0bonding
optionsbond0miimon=100mode=0
aliasbond1bonding
optionsbond1miimon=100mode=1
次要目标是使体系在启动时加载bonding模块,对外假造收集接口装备为bond0、bond1
别的miimon是用来举行链路监测的。好比:miimon=100,那末体系每100ms监测一次链路毗连形态,假如有一条线路欠亨就转进另外一条线路;mode的值暗示事情形式,他共有0,1,2,3四种形式,经常使用的为0,1两种。
mode=0暗示loadbalancing(round-robin)为负载平衡体例,两块网卡都事情。
mode=1暗示fault-tolerance(active-backup)供应冗余功效,事情体例是主备的事情体例,也就是说默许情形下只要一块网卡事情,另外一块做备份.
注重:bonding只能供应链路监测,即从主机到互换机的链路是不是接通。假如只是互换机对外的链路down失落了,而互换机自己并没有妨碍,那末bonding会以为链路没有成绩而持续利用。
这局部的设置也没有成绩。
到这里仿佛还没看到成绩的地点,不外另有一个中央是人人简单无视的,那就是rc.local文件,为了让网卡绑定在每次启动后都能当即失效,我们一般会设置rc.local.以是我们还应反省一下这个文件。
4、反省rc.local文件
#cat/etc/rc.d/rc.local
touch/var/lock/subsys/local
ifenslavebond0eth0eth1
ifenslavebond1eth2eth3
剖析:如许的设置便利开机启动时,主动载进设置。
注重:这里是把eth0和eth1放到bond0里,eth2和eth3放到bond1里。假如人人细心回忆的话,会发明在第二步反省傍边是eth0和eth2绑定为BOND0,eth1和eth3绑定为BOND1的。看来成绩的祸首罪魁就在这里,那末如许设置错了,会形成甚么征象呢?
起首回忆一下网卡绑定的道理。我们晓得,在一般情形下,ethernet网卡只吸收目标mac地点是本身mac的ether帧,关于其余数据帧都过滤失落,以加重驱动步伐――也就是软件的包袱。可是ethernet网卡也撑持别的一种被称为promisc的形式,能够吸收收集上一切的帧,良多体系步伐如:sniffer、tcpdump,都运转在这个形式下。Bonding网卡绑定也运转在这个形式下,并且修正了驱动步伐中的mac地点,将两块网卡的mac地点改成不异,能够吸收特定mac的数据帧。然后把响应的数据帧传送给bond驱动步伐处置。
那末在我们反省的这个rc.local文件中,因为体系工程师的大意把网卡绑定设置错了,如许一个渺小的设置毛病就会形成一个IP地点对应两个分歧的MAC地点,明显会形成收集的提早和不不乱,这跟ARP打击对照像。当有多个分歧MAC对应一样的IP,收集内里各呆板包含路由器对应这个IP的ARP会一直的变,包不是丢了就是发到毛病的MAC了。
我们能够反省一下各网卡的MAC来确认一下。
eth0Linkencap:EthernetHWaddrD4:AE:52:7F:D1:74
UPBROADCASTRUNNINGSLAVEMULTICASTMTU:1500Metric:1
RXpackets:358839038errors:0dropped:0overruns:0frame:0
TXpackets:445740732errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:84060158481(78.2GiB)TXbytes:324117093205(301.8GiB)
Interrupt:178Memory:c6000000-c6012800
eth1Linkencap:EthernetHWaddrD4:AE:52:7F:D1:76
UPBROADCASTRUNNINGSLAVEMULTICASTMTU:1500Metric:1
RXpackets:1319022534errors:0dropped:0overruns:0frame:0
TXpackets:827575644errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:402801656790(375.1GiB)TXbytes:249765452577(232.6GiB)
Interrupt:186Memory:c8000000-c8012800
eth2Linkencap:EthernetHWaddrD4:AE:52:7F:D1:74
UPBROADCASTRUNNINGSLAVEMULTICASTMTU:1500Metric:1
RXpackets:368142910errors:0dropped:0overruns:0frame:0
TXpackets:445816695errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:88487806059(82.4GiB)TXbytes:324236716714(301.9GiB)
Interrupt:194Memory:ca000000-ca012800
eth3Linkencap:EthernetHWaddrD4:AE:52:7F:D1:76
UPBROADCASTRUNNINGSLAVEMULTICASTMTU:1500Metric:1
RXpackets:1311065414errors:0dropped:0overruns:0frame:0
TXpackets:827581593errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:400383501186(372.8GiB)TXbytes:249850192137(232.6GiB)
Interrupt:202Memory:cc000000-cc012800
能够看到eth0和eth2的MAC是一样的,eth1和eth3的MAC是一样的。
针对成绩缘故原由,当即修正rc.local这个文件,改回准确的设置。
ifenslavebond0eth0eth2
ifenslavebond1eth1eth3
然后重启办事器,再举行压测,发明公然统统一般了。
总结:Linux双网卡的绑定是一个对照详细的操纵事情,在设置傍边我们不但要熟习懂得它的道理,更要在安排实行时细心仔细,一个忽略就会形成收集的不不乱和节点的瘫痪。
本文出自“
滴水穿石
”博客,请务必保存此出处
http://xjsunjie.blog.51cto.com/999372/886294
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!
作者:
只想知道
时间:
2015-1-16 18:06
标题:
来一发CentOS办事器网卡不不乱的祸首罪魁
尽量不要提问纯属是扯蛋.学习Linux特别是自己一个人初学入手的时候没人教很困难.当然如果可以的话平时多去买些Linux书...对学习Linux很有帮助.
作者:
小女巫
时间:
2015-1-25 22:29
Linux?最大的优点在于其作为服务器的强大功能,同时支持多种应用程序及开发工具,所以Linux操作系统有着广泛的应用空间。
作者:
老尸
时间:
2015-2-4 15:56
Windows有MS-DOS?方式,在该方式下通过输入DOS命令来操作电脑;Linux与Windows类似,也有命令方式,Linux?启动后如果不执行?X-WINDOWS,就会处于命令方式下,必须发命令才能操作电脑。?
作者:
乐观
时间:
2015-2-10 04:21
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。
作者:
精灵巫婆
时间:
2015-2-28 21:40
然我们对Linux的学习首先是通过对它的产生,发展,到今天仍然在不断完善开始的。
作者:
小妖女
时间:
2015-3-10 13:01
说实话小时候没想过搞IT,也计算机了解也只是一些皮毛,至于什么UNIX,Linux,听过没见过,就更别说用过了。?
作者:
深爱那片海
时间:
2015-3-17 12:09
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
作者:
分手快乐
时间:
2015-3-24 13:26
期间我阅读了不少关于Linux的相关资料,其中也不乏一些有趣的小故事,这既丰富了我的课余生活,也让我加深了对一些术语的理解,比玩游戏强多了。?
欢迎光临 仓酷云 (http://ckuyun.com/)
Powered by Discuz! X3.2