发布时间:2014-09-05 16:56:38作者:知识屋
先介绍一下情况,服务器A和服务器B都是CentOS 4.6的系统,现在要做HA Cluster,为了避免裂脑的发生,要提高心跳链路的可靠性,下图是现时的连接情况,服务器A的eth2、eth3分别和服务器B的eth2、eth3相连(没有顺序关系),所有网卡都是千兆网卡,拓扑图如下所示:
在介绍一起硬件情况,服务器A是一台HP DL380 G5,两年多的服务器了,4核心8G内存,5块72GB的2.5寸硬盘做RAID5。服务期B是DELL 2950,几个月前刚购入的新机器,8核16G内存,3块3.5寸300G SAS硬盘做RAID5。
业务交换机为DELL的千兆交换机,没做任何配置,仅当接入交换机使用。
图中的蓝线用的是几年前的超五类非屏蔽双绞线。
图中的红线用的是新购的六类非屏蔽双绞线。
测试方法很简单,将一个3.4G的ISO从服务器A scp到服务器B中,对比传输的时间。
数据走业务链路,没有使用bonding技术。
############## No Binding ##############
[root@rac-node01 tmp]# time scp rhel-5.1-server-x86_64-dvd.iso 10.168.0.202:/tmp
root@10.168.0.202's password:
rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 44.1MB/s 01:16
real 1m20.105s
user 0m34.752s
sys 0m11.002s
############## 速度还是挺快的
数据走心跳链路,使用了bonding技术,mode设置为6,即不需要交换机参与的负载均衡。
令人奇怪的是该种模式下会丢一些数据包,也许是这种比较奇怪的拓扑结果造成的。
############## model=6 ##############
[root@rac-node01 tmp]# time scp rhel-5.1-server-x86_64-dvd.iso 192.168.0.202:/tmp
root@192.168.0.202's password:
rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 21.4MB/s 02:37
real 2m47.812s
user 0m34.965s
sys 0m19.421s
[root@rac-node01 tmp]# netstat -i #@ Receive
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
bond1 1500 0 5123831 2045 0 0 5138747 0 0 0 BMmRU
eth0 1500 0 2847 0 0 0 703 0 0 0 BMRU
eth2 1500 0 2562665 11 0 0 2569378 0 0 0 BMsRU
eth3 1500 0 2561166 2034 0 0 2569369 0 0 0 BMsRU
lo 16436 0 2261 0 0 0 2261 0 0 0 LRU
############## 有数据包丢失
数据走心跳链路,使用了bonding技术,mode设置为0,即需要交换机参与的负载均衡。
该模式下不像mode=6那样会丢包,而且eth2和eth3的流量几乎平均。下面测试数据中的 RX-ERR是上面测试数据遗留下来的。
############## model=0 ##############
[root@rac-node01 tmp]# time scp rhel-5.1-server-x86_64-dvd.iso 192.168.0.202:/tmp
root@192.168.0.202's password:
rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 38.1MB/s 01:28
real 1m33.508s
user 0m34.539s
sys 0m19.363s
[root@mailserver tmp]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
bond1 1500 0 11133871 2045 0 0 11180462 0 0 0 BMmRU
eth0 1500 0 1334477 0 0 0 2575981 0 0 0 BMRU
eth2 1500 0 5567685 11 0 0 5590236 0 0 0 BMsRU
eth3 1500 0 5566186 2034 0 0 5590226 0 0 0 BMsRU
lo 16436 0 2270 0 0 0 2270 0 0 0 LRU
############## 没有丢包
数据走心跳链路,使用了bonding技术,mode设置为1,即Active-Backup,FailOver模式。
该模式存在一个问题,当服务器A的eth2和服务器B的eth3作为Active设备时,服务器A是不能和服务器B通过心跳链路通信的,此时拔掉其中一根心跳线再插就好了。
############## model=1 ##############
[root@rac-node01 ~]# time scp /tmp/rhel-5.1-server-x86_64-dvd.iso 192.168.0.202:/tmp/
root@192.168.0.202's password:
rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 41.4MB/s 01:21
real 1m24.162s
user 0m35.007s
sys 0m13.455s
[root@mailserver ~]# netstat -i
Kernel Interface table
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
bond1 1500 0 3436804 0 0 0 1774259 0 0 0 BMmRU
eth0 1500 0 3962 0 0 0 773 0 0 0 BMRU
eth2 1500 0 3436804 0 0 0 1774254 0 0 0 BMsRU
eth3 1500 0 0 0 0 0 5 0 0 0 BMsRU
lo 16436 0 3071 0 0 0 3071 0 0 0 LRU
############## 没有丢包,只走单网卡
结论:
从以上结果显示,单就速度来说的确不做绑定单网卡速度最快,但是没有容错能力。其次是绑定后的FailOver模式,但是该模式会存在一定的问题。而mode=6的负载均衡模式会丢包,比较危险。
mode=0的负载均衡模式貌似并不能加大带宽,但是对于提高最大的可用性来说是最好的选择了
作者“潜入技术的海洋”
linux一键安装web环境全攻略 在linux系统中怎么一键安装web环境方法
Linux网络基本网络配置方法介绍 如何配置Linux系统的网络方法
Linux下DNS服务器搭建详解 Linux下搭建DNS服务器和配置文件
对Linux进行详细的性能监控的方法 Linux 系统性能监控命令详解
linux系统root密码忘了怎么办 linux忘记root密码后找回密码的方法
Linux基本命令有哪些 Linux系统常用操作命令有哪些
Linux必学的网络操作命令 linux网络操作相关命令汇总
linux系统从入侵到提权的详细过程 linux入侵提权服务器方法技巧
linux系统怎么用命令切换用户登录 Linux切换用户的命令是什么
在linux中添加普通新用户登录 如何在Linux中添加一个新的用户
2012-07-10
CentOS 6.3安装(详细图解教程)
Linux怎么查看网卡驱动?Linux下查看网卡的驱动程序
centos修改主机名命令
Ubuntu或UbuntuKyKin14.04Unity桌面风格与Gnome桌面风格的切换
FEDORA 17中设置TIGERVNC远程访问
StartOS 5.0相关介绍,新型的Linux系统!
解决vSphere Client登录linux版vCenter失败
LINUX最新提权 Exploits Linux Kernel <= 2.6.37
nginx在网站中的7层转发功能