Heartbeat3.0.7安装配置
1.heartbeat 3.0版不同与以前的版本,是由三个不同的项目组成,(下载地址http://www.linux-ha.org/wiki/Downloads)Heartbeat,glue, agents,安装顺序为glue,agents, Heartbeat2.在线安装依赖软件包:
yum -y install glib2-devel libtool-ltdl-devl net-snmp-devel bzip2-devel ncurses-devel openssl-devel libtool libxml2-devel gettext bison flex zlib-devel mailx which libxslt docbook-dtds docbook-style-xsl PyXML shadow-utils opensp autoconfautomake 如果在编译安装过程中出错,很有可能是因为缺少了相关的软件包
3.下面开始安装
3.1 安装glue
grouadd haclient
useradd -g haclient -M -s /sbin/nologin hacluster
tar -xvf Reusable-Cluster-Components-glue--glue-1.0.9.bz2
cd Reusable-Cluster-Components-glue--glue-1.0.9
./autogen.sh
./configure LIBS='/lib/libuuid.so.1'
make
makeinstall
3.2 安装 agents
tar -xvfClusterLabs-resource-agents-v3.9.2-0-ge261943.tar.gz
cdClusterLabs-resource-agents-b735277
./autogen.sh
./configure LIBS='/lib/libuuid.so.1'
make
make install
3.3 安装 Heartbeat
tar -xvf Heartbeat-3-0-7e3a82377fa8.tar.bz2
cd Heartbeat-3-0-7e3a82377fa8
./ConfigureMe configure LIBS='/lib/libuuid.so.1'
gmake
make install
安装过程中遇到如下错误时: ./.libs/libplumb.so: undefined reference to `uuid_parse'
./.libs/libplumb.so: undefined reference to `uuid_generate'
./.libs/libplumb.so: undefined reference to `uuid_copy'
./.libs/libplumb.so: undefined reference to `uuid_is_null'
./.libs/libplumb.so: undefined reference to `uuid_unparse'
./.libs/libplumb.so: undefined reference to `uuid_clear'
./.libs/libplumb.so: undefined reference to `uuid_compare'
collect2: ld returned 1 exit status
gmake: *** Error 1
gmake: Leaving directory `/root/Reusable-Cluster-Components-glue-1.0.6/lib/clplumbing'
gmake: *** Error 1
gmake: Leaving directory `/root/Reusable-Cluster-Components-glue-1.0.6/lib'
make: *** Error 1 解决方法其实很简单,只要在configure时在后面加上:
LIBS='/lib/libuuid.so.1' (此方法出处:http://blog.iyunv.com/lhfeng/article/details/5990807)
如果安装过程不出错,现在一个基本的Heartbeat就安装完成了,但Heartbeat只提供主从备份功能,并不能对各节点的服务进点监控,因此需要配置ldirectord来对各节点服务进行监控
4. 安装ldirectord相关组件(需要安装ipvsadm软件包)
默认安装完上面的三个软件包之后,ldirectord已经安装到系统中,默认路径在 /usr/etc/ ,由于ldirectord是由perl语言编写的,所以必须安装相关的软件包,
http://search.cpan.org 在此网站下载相关软件包
Socket6
libwww-perl
URI
MailTools
HTML-Parser
安装方法
perl Makefile.PL
make
make instal 也可以在线安装: perl -MCPAN -e shell install 包名 (请根据实际缺少的软件包进行安装)
5. 配置heartbeat
cp -a /usr/etc/ha.d /etc/
rm -fr /usr/etc/ha.d
ln -s /etc/ha.d /usr/etc
chkconfig add heartbeat
cp /usr/share/doc/haresources /etc/ha.d/
cp /usr/share/doc/authkeys /etc/ha.d
cp /usr/share/doc/ha.cf /etc/ha.d
chmod 600 /etc/ha.d/authkeys
5.1 修改配置文件
cd /etc/ha.d
5.1.1 vim authkeys
auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!
5.1.2 vim ha.cf
logfile /var/log/ha-log
logfacility local0
#心跳间隔
keepalive 2
#死亡阀值
deadtime 30
#警告时间
warntime 10
#首次启动heartbeat,等待多久才启动主服务资源
initdead 120
#连接端口
udpport 694
#心跳线接口
bcast eth1 # Linux
#备份机的心跳线接口与接口IP
ucast eth1 10.0.0.100
auto_failback on
node test1.com
node test2.com
ping 192.168.20.42
5.1.3 vim haresources
主节点hostname vip resource1 [::arg1 ::arg2] resource2 [::arg1 ::arg2]
5.1.4 配置ldirectord监控节点服务
复制安装文件ldirectord目录上的ldirectord.cf 到 /etc/ha.d/conf下
mkdir /etc/ha.d/conf
cp ldirectord.cf /etc/ha.d/conf
vim ldirectord.cf (文件名任意),根据实际环境修改相关参数
#等待健康检查完成的时间
checktimeout=3
#检查间隙休息的时间
checkinterval=1
#fallback=127.0.0.1:80
#周期性检查配置文件的变化,并且在文件改变后自动应用它们
autoreload=yes
logfile="/var/log/ldirectord.log"
logfile="local0"
#emailalert="admin@x.y.z"
#emailalertfreq=3600
#emailalertstatus=all
#当节点在节点的checktimeout周期内响应失败时,节点的权重被设置为0(当此值为yes时)
quiescent=yes
#gate->DR ipip->Tun masq->NAT
# VIP
virtual=192.168.20.20:80
#RIP
real=192.168.20.3:80 gate
real=192.168.20.4:80 gate
#回环地址
fallback=127.0.0.1:80 gate
#服务
service=http
#调度方式
scheduler=rr
#persistent=600
#netmask=255.255.255.255
protocol=tcp
#监视VIP服务器的方法
checktype=negotiate
checkport=80
#请求的url文件
request="index.html"
#返回值
receive="OK"
#virtualhost=www.x.y.z
5.1.5 检验配置
ldirectord -d /etc/ha.d/conf/ldirectord.cf start
5.1.6 添加ldirectord到 heartbeat 配置
vim /etc/ha.d/hareources
主节点hostname VIP ldirectord::ldirectord.cf
(备注:当某一节点服务出错后ldirectord会在ipvsadm表中自动清除相应的节点信息或者将相应节点权重设为0)
6.IPVS表有状态故障转移
当主DR崩溃并且ldirectord需要在备分DR上重构IPVS表时,原来活动的客户端连接不会自动转移到备份DR上,从而造成所有的客户端连接丢失,解决方法:
在主DR上运行
ipvsadm --start-daemon master
同时在备份DR上运行
ipvsadm --start-daemon backup
终止同步状态守护进行
ipvsadm --stop-daemon
备注:主和备份DR都必须要支持多播才行,可以能过ifconfig 查看对应的网络接口中是否有 MULTICAST
页:
[1]