一、设置bond

1.修改网卡
cd /etc/sysconfig/network-scripts/
cp ifcfg-eth0 ifcfg-bond0
vi ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.1.200
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
USERCTL=no
TYPE=Ethernet
vi ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no
TYPE=Ethernet
vi ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no
TYPE=Ethernet
2.修改modprobe.conf文件
vi /etc/modprobe.conf
添加以下行:
alias bond0 bonding
options bond0 miimon=100 mode=1
#mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份
3.修改/etc/rc.d/rc.local
vi /etc/rc.d/rc.local
添加以下行:
ifenslave bond0 eth0 eth1
重启系统,至此bond设置完毕

二、设置Heartbeat

1.Heartbeat环境设置
主服务器设置:
vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=GW7750-A
vi /etc/hosts
192.168.1.200   GW7750-A
192.168.1.201   GW7750-B
备用服务器同样设置
2.安装Heartbeat
rpm -ivh libnet-1.1.4-3.el5.i386.rpm
rpm -ivh libtool-ltdl-1.5.22-6.1.i386.rpm
rpm -ivh libtool-ltdl-devel-1.5.22-6.1.i386.rpm
rpm -ivh libtool-1.5.22-6.1.i386.rpm
rpm -ivh openhpi-2.10.2-1.el5.i386.rpm
rpm -ivh openhpi-devel-2.10.2-1.el5.i386.rpm
rpm -ivh openhpi-subagent-2.10.2-1.el5.i386.rpm
rpm -ivh heartbeat-pils-2.1.4-10.el5.i386.rpm
rpm -ivh heartbeat-stonith-2.1.4-10.el5.i386.rpm
rpm -ivh ipvsadm-1.24-6.i386.rpm
rpm -ivh perl-TimeDate-1.16-5.el5.noarch.rpm
rpm -ivh perl-MailTools-1.77-1.el5.noarch.rpm
rpm -ivh heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
rpm -ivh heartbeat-2.1.4-9.el5.i386.rpm
rpm -ivh heartbeat-devel-2.1.4-9.el5.i386.rpm
rpm -ivh heartbeat-gui-2.1.4-9.el5.i386.rpm
ocd /usr/share/doc/heartbeat-2.1.4/
ocp authkeys ha.cf haresources /etc/ha.d/
3.配置Heartbeat
vi ha.cf
debugfile /var/log/ha-debug #heartbeat的日志文件
logfile /var/log/ha-log
logfacility     local0
keepalive 2 #心跳的时间间隔,默认时间单位为秒
deadtime 30 #超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡
warntime 10 #超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中
initdead 120 #在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍
udpport 694 #设置广播通信使用的端口,694为默认使用的端口号
ucast eth2 172.16.1.2 #eht1为本机心跳网卡,172.16.1.2为对方心跳口IP,建议使用2个心跳,防止心跳线路单点故障
auto_failback on #heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取资源并取代从节点,否则不取代从节点。
node    GW7750-A #定义集群主机的节点名称,必须和uname -n的结果一致
node    GW7750-B
ping 192.168.1.1 #用来测试网络连接,一般设置为网关
respawn hacluster /usr/lib/heartbeat/ipfail #指定与heartbeat一同启动和关闭的进程,该进程被自动监视,遇到故障则重新启动。最常用的进程是ipfail,该进程用于检测和处理网络故障,需要配合ping语句指定的ping node来检测网络连接。
vi authkeys
auth 1
1 crc
#crc方式不需要指定键值
authkeys文件用于heartbeat的鉴权设置,共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多
为了文件的安全性,我们要设定该文件的权限为600,修改完成后,要记得查看是否修改成功。
chmod 600 /etc/ha.d/authkeys
vi haresources
GW7750-A  IPaddr::192.168.1.202/24/bond0/
#GW7750-A 主服务器主机名
#启动heartbeat后,自动以bond0为基础虚拟出一个192.168.1.202的IP
4.启动Heartbeat
/etc/init.d/heartbeat start
5.启动后查看网卡信息
ifconfig
bond0:0   Link encap:Ethernet  HWaddr 00:0C:29:37:86:1E 
               inet addr:192.168.1.202  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1