1
|
yum
install
-y gcc gcc-c++ autoconf libtool pkgconfig glib2-devel libxslt-devel libxml2-devel
bzip2
-devel libtool-ltdl-devel libuuid-devel docbook-style-xsl
|
1
|
yum
install
-y *Socket6* *libwww-perl* *URI* *MailTools* *HTML-Parser* perl-IO-Socket-*
|
1
2
|
groupadd haclient
useradd
-g haclient -s
/sbin/nologin
-M hacluster
|
1
2
3
4
5
|
tar
zxvf Reusable-Cluster-Components-glue--glue-1.0.9.
tar
.bz2
cd
Reusable-Cluster-Components-glue--glue-1.0.9
.
/autogen
.sh
.
/configure
make
&&
make
install
|
1
2
3
4
|
tar
jxvf Heartbeat-3-0-7e3a82377fa8.
tar
.bz2
cd
Heartbeat-3-0-7e3a82377fa8
.
/ConfigureMe
configure
make
&&
make
install
|
1
2
3
4
5
|
tar
jxvf ClusterLabs-resource-agents-v3.9.2-0-ge261943.
tar
.gz
cd
ClusterLabs-resource-agents-b735277
.
/autogen
.sh
.
/configure
make
&&
make
install
|
1
2
3
4
5
6
7
8
9
10
|
/etc/ha
.d
/ha
.cf
#定义心跳信息层,用于实现心跳信息传输。
/etc/ha
.d
/haresources
#本地最重要的CRM,这个文件我们使用v1版本的配置文件,很简单。
/etc/ha
.d
/authkeys
#实现两个节点之间传递,对心跳信息进行签名,或者加密,避免篡改;authkeys的权限非常重要,通常是400或者600的,如果设置不对无法启动heartbeat服务。
rm
-rf
/usr/etc/ha
.d
ln
-s
/etc/ha
.d
/usr/etc
cp
/usr/share/doc/heartbeat/haresources
/etc/ha
.d
cp
/usr/share/doc/heartbeat/authkeys
/etc/ha
.d
cp
/usr/share/doc/heartbeat/ha
.cf
/etc/ha
.d
chmod
600
/etc/ha
.d
/authkeys
chkconfig heartbeat on
|
1
2
3
4
5
|
vi
authkeys
auth 2
#1 crc
2 sha1 HI!
#3 md5 Hello!
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
vi
ha.cf
logfile
/var/log/ha-log
logfacility local0
#如果未定义上述日志,默认写入/var/log/message
keepalive 2
#心跳间隔
deadtime 30
#死亡阀值
warntime 10
#警告时间
initdead 120
#首次启动heartbeat,等待多久才启动主服务资源
udpport 694
#连接端口
ucast eth1 192.168.1.20
#采用网卡的eth1组织心跳,后跟接口IP
auto_failback on
#当主节点故障恢复后,自动获取资源并取代从节点
node master
#主节点主机名
node slave
#备份节点主机名
ping
192.168.1.1
#选择ping节点,ping的越好对HA集群越稳定,建议使用网关
|
1
2
3
4
|
vi
haresources
master IPaddr::192.168.128.5 ldirectord::ldirectord.cf httpd
#格式:[主机名] [资源名与虚拟ip] [资源名与脚本] [高可用服务]
#每个资源都是一个shell脚本,后面还可以写虚拟IP和资源,heartbeat会使用init脚本来管理系统服务,在范围内搜索脚本并启用
|
1
2
3
|
scp
-r
/etc/ha
.d root@slave:
/etc/ha
.d
#配置好的复制到备份服务器上
rm
-rf
/usr/etc/ha
.d
ln
-s
/etc/ha
.d
/usr/etc
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
cp
ClusterLabs-resource-agents-b735277
/ldirectord/ldirectord
.cf
/etc/ha
.d/
vi
/etc/ha
.d
/ldirectord
.cf
checktimeout=3
checkinterval=1
autoreload=
yes
quiescent=
yes
virtual=192.168.128.5:80
real=192.168.1.10:80 gate
real=192.168.1.20:80 gate
fallback=127.0.0.1:80 gate
service=http
scheduler=rr
protocol=tcp
checkport=80
|
1
2
3
4
5
6
|
service iptables stop
#关闭防火墙
setenforce 0
#临时关闭selinux
service heartbeat start
ifconfig
#会显示192.168.0.100绑定在主服务器eth0:0
echo
“192.168.10.10″ >
/var/www/html/index
.html
echo
“192.168.10.20″ >
/var/www/html/index
.html
|