中小型企业级服务器配置技术文档
作者:管志成
E-mail:guancheng1987@hotmail.com
unix/Linux系统工程师
WEB高可用性机群服务器配置方案
基本图形:
www1 www2
VIP:10.0.0.1 10.0.0.1
公网192.168.0.201 192.168.0.202
私有192.168.1.1 198.168.1.2
首先下载libnet.tar.gz,heartbeat-2.0.7.tar.gz
1 按顺序现装libnet再装heartbeat
[root@www1 ~]#tar –zxvf libnet.tar.gz –C /usr/local/src/
[root@www1 ~]#cd /usr/local/src/libnet/
[root@www1 libnet]# ./configure
[root@www1 libnet]#make
[root@www1 libnet]#make install
都是源码包,解压开后分别执行:
[root@www1 ~]#tar –zxvf heartbeat-2.0.7.tar.gz –C /usr/local/src/
[root@www1 ~]#cd /usr/local/src/ heartbeat-2.0.7/
[root@www1 heartbeat-2.0.7]#./ConfigureMe configure
[root@www1 heartbeat-2.0.7]#make
[root@www1 heartbeat-2.0.7]#make install
安装完毕。
2软件的配置
Heartbeat软件的安装目录为/etc/ha.d,其中的README.config对配置文件进行了说明,共有三个主要的配置
文件:ha.cf,haresources,authkeys。
当你安装完毕之后配置文件会在这个目录/usr/share/src/ heartbeat-2.0.7/doc/下你需要把文件拷到/etc/ha.d/。
[root@www1 doc]#cp ha.cf /etc/ha.d/
[root@www1 doc]#cp haresources /etc/ha.d/
[root@www1 doc]#cp authkeys /etc/ha./
3.1 配置ha.cf文件
#debugfile /var/log/ha-debug该文件保存heartbeat的调试信息
logfile /var/log/ha-log heartbeat的日志文件
logfacility local0
keepalive 2 心跳的时间间隔,默认时间单位为秒
deadtime 5 超出该时间间隔未收到对方节点的心跳,则认为对方已经死亡。
warntime 3 超出该时间间隔未收到对方节点的心跳,则发出警告并记录到日志中
initdead 10在某些系统上,系统启动或重启之后需要经过一段时间网络才能正常工作,该选项用于解决这种情况产生的时间间隔。取值至少为deadtime的两倍。
udpport 694 设置广播通信使用的端口,694为默认使用的端口号。
udp eth1 发送heartbeat网卡
baud 19200 设置串行通信的波特率
#serial /dev/ttyS0 # Linux 选择串行通信设备,用于双机使用串口线连接的情况。如果双机使用以太网连接,则应该关闭该选项
#serial /dev/cuaa0 # FreeBSD
#serial /dev/cua/a # Solaris
#bcast eth0 # Linux
#bcast eth1 # Linux
#bcast le0 # Solaris
#bcast le1 le2 # Solaris
ucast eth1 192.168.1.2
auto_failback on heartbeat的两台主机分别为主节点和从节点。主节点在正常情况下占用资源并运行所有的服务,遇到故障时把资源交给从节点并由从节点运行服务。在该选项设为on的情况下,一旦主节点恢复运行,则自动获取
#stonith_host * baytech 10.0.0.3 mylogin mysecretpassword
#stonith_host ken3 rps10 /dev/ttyS1 kathy 0
#stonith_host kathy rps10 /dev/ttyS1 ken3 0
watchdog /dev/watchdog
node www1.linux-tiantang.org.cn node来检测网络连接。
node www2.linux-tiantang.org.cn
#ping 10.10.10.254
#ping_group group1 10.10.10.254 10.10.10.253
#hbaping fc-card-name
#respawn userid /path/name/to/run
#respawn hacluster /usr/lib/heartbeat/ipfail
#apiauth client-name gid=gidlist uid=uidlist
#apiauth ipfail gid=haclient uid=hacluster
#hopfudge 1
#deadping 30
#hbgenmethod time
#realtime off
#debug 1

#apiauth ipfail uid=hacluster
#apiauth ccm uid=hacluster
#apiauth cms uid=hacluster
#apiauth ping gid=haclient uid=alanr,root
#apiauth default gid=haclient

#msgfmt classic/netstring

# use_logd yes/no

#conn_logd_time 60

#compression bz2

#compression_threshold 2
3.2 配置haresources文件

www1.linux-tiantang.org.cn 10.0.0.1 http
假设ha.cf文件中node选项设置的两个主机名分别为www1和www2,则根据上述配置,双机系统的主节点为www1,从节点为www2,启动服务为httpd
httpd是apache的启动脚本,heartbeat将从下面目录中寻找这些启动脚本:
/usr/etc/ha.d/resource.d
/usr/etc/rc.d/init.d

3.3 配置authkeys文件
auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!
共有三种可用的鉴权方式:crc、md5和sha1。三种方式安全性依次提高,但同时占用的系
统资源也依次扩大。crc安全性最低,适用于物理上比较安全的网络,sha1提供最为有效的鉴权方式,占用的系统资源也最多。
最后,该authkeys文件的文件许可权应该设为600(即-rw——-),命令为:
chmod 600 authkeys
注意:上述三个配置文件设置完毕后,应该复制到/etc/ha.d目录下
总结
heartbeat安装完成后,自动在/etc/rc.d/init.d/目录下生成启动脚本heartbeat,启动heartbeat可以使用命令
/etc/rc.d/init.d/heartbeat start
此外还可以使用stop、restart、reload、status等控制参数。