第一,系统规划 Heartbeat +LVS+Ldirectord
1 需要的源码包
ipvsadm-1.24.tar.gz heartbeat-2.0.7.tar.gz libnet-1.1.2.1.tar.gz
ipvsadm-1.24 需要linux 内核为2.6.18 ,同时也需要编译内核。
2.规划网络
VIP 192.168.10.100
HA1 192.168.10.10
192.168.20.10
HA2 192.168.10.20
192.168.20.20
RealServer1 192.168.10.1
RealServer2 192.168.10.2
3 在heartbeat节点上修改主机名
#vim /etc/sysconfig/network
HOSTNAME= ha1 并保存,只有重启或者注销时时才生效
#hostname ha1 #立即生效
# vim /etcsysconfig/network
HOSTNAME=ha2
# hostname ha2
4 在heartbeat 节点上hosts 文件中添加如下
192.168.10.10 ha1
192.168.10.20 ha2
192.168.20.10 ha010
192.168.20.20 ha020
第二, 编译内核并让 linux-2.6.18.tar.gz
1 解压内核linux-2.6.18.tar.gz
# tar xvf linux-2.6.18.tar.gz
#mv linux-2.6.18 /usr/src/
2 因为linux系统默下是在寻找linux 目录所以创建连接
#ln -sv linux-2.6.18 linux
3,拷贝/boot/config-2.6.18-164.el5 到linux 目录下面
#cp /boot/config-2.6.18-164.el5 /usr/src/linux/.config
4 编译内核
如果以前编译过内核,并且想删除编译过的内核
# make mrproper
5 编译内核的命为
#make menuconfig 或者make xconfig
6 选择内核支持IPvsadm
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
Networking options --->
[*] Network packet filtering (replaces ipchains)
[ ] Network packet filtering debugging
...
IP: Netfilter Configuration --->
IP: Virtual Server Configuration --->
<M> virtual server support (EXPERIMENTAL)
[*] IP virtual server debugging
(12) IPVS connection table size (the Nth power of 2)
--- IPVS scheduler
<M> round-robin scheduling
<M> weighted round-robin scheduling
<M> least-connection scheduling scheduling
<M> weighted least-connection scheduling
<M> locality-based least-connection scheduling
<M> locality-based least-connection with replication scheduling
<M> destination hashing scheduling
<M> source hashing scheduling
--- IPVS application helper
<M> FTP protocol helper
7 安装内核
make bzImage;make modules ;make modules_install : make install
8 编译完成后重启服务器,并选择启动编译后的内核,并查看编译后的内核是不是支持ipvsadm
#grep ip_vs_init /boot/System.map
第三.安装ipvsadm 和heartbeat
1 安装ipvsadm
# tar -vfx ipvsadm-1.24.tar.gz
#cd ipvsadm-1.24
#./configure && make &&make install
2 安装libnet
#tar xvf libnet-1.1.2.1.tar.gz
#cd libnet
#./configure && make && make install
3 安装heartbeat
#tar –xvf heartbeat-2.0.7.tar.gz
#cd heartbeat-2.0.7.
#./configure && make && make install
# cd doc/
#cp authkeys haresources ha.cf /etc/ha.d/
#cd ../ldirectord/
#cp ldirectord.cf /etc/ha.d
4 修改 authkeys ,并修改权限
#vim authkeys
auth 1
1 crc
#chmod 0600 authkeys
5 配置heartbeat主配置文件
#vim ha.cf
debugfile /var/log/ha-debug # heartbeat的调试信息
logfile /var/log/ha-log #hearbeat 的日志信息
logfacility local7
keepalive 2 #指明心态时间为2秒,即是每个两秒在eth1 放松一下广播
deadtime 30 #指定在三十秒内没有心跳信息,就立即切换服务
warntime 10 # 指明心跳延迟的时间为十秒,当十秒钟内备份机联系不上,即当前活动的服务器无心跳信号,就会在日志中写一个警告日志,但不会切换服务
nitdead 120 #网络启动的时间
udpport 694 #广播/单波通讯使用的udp端口
baud 19200 #使用串口的波特率,和serial以前使用
#mcast eth1 192.168.20.10 如果采用组播通讯,该处设置组播通讯所使用的接口
ucast eth1 10.90.20.10 #master lvs ip 如果采用的是单波,该处设置其网络接口集群使用的IP地址 注意在该处的IP 地址为 Master 主配置文件中为Back eth1 的IP地址 ,Back 在该处的地址为Master eth1 的地址
auto_failback on # 在主节点回复正常情况下,主动接管资源
node ha10 #master lvs hostname 主节点 该处的节点名必须和uname –n 相匹配
node ha20 #slave lvs hostname 辅助接点
respawn root /usr/lib/heartbeat/ipfail #have to give a permission
apiauth ipfail gid=root uid=root
6 配置heartbeat的资源文件
#vim haresources 在其尾端添加
Ha10 IPaddr:: 192.168.10.100 lvs ldirectord