#heartbeat部署
HB1:
eth0:10.0.0.3
eth1:172.16.1.3
VIP:10.0.0.103
HB2:
eth0:10.0.0.4
eth1:172.16.1.4
VIP:10.0.0.104
其中eth1是直接相连的。是heartbeat直接的心跳线
[root@HB1 ~]# ifconfig |awk '/inet addr/{print $2}'
addr:10.0.0.3
addr:172.16.1.3
addr:127.0.0.1
[root@HB1 ~]#
[root@HB2 ~]# ifconfig |awk -F'[ :]+' '/inet addr/{print $4}'
10.0.0.4
172.16.1.4
127.0.0.1
[root@HB2 ~]#
#要配置主机名和hosts文件.
主机名称要以uname -n为准
[root@HB2 ~]# uname -n
HB2
[root@HB2 ~]# uname -m
x86_64
[root@HB2 ~]#
================================
HB1
cp /etc/hosts /etc/hosts.bak
cp /etc/sysconfig/network /etc/sysconfig/network.bak
sed -i '$a 10.0.0.3 HB1' /etc/hosts
sed -i '$a 10.0.0.4 HB2' /etc/hosts
sed -i '/HOSTNAME=/d' /etc/sysconfig/network
sed -i '/$/aHOSTNAME=HB1' /etc/sysconfig/network
HB2
sed -i '$a 10.0.0.3 HB1' /etc/hosts
sed -i '$a 10.0.0.4 HB2' /etc/hosts
sed -i '/HOSTNAME=/d' /etc/sysconfig/network
sed -i '/$/aHOSTNAME=HB2' /etc/sysconfig/network
############################start测试:
[root@HB1 ~]# uname -n
HB1
[root@HB2 ~]# uname -n
HB2
[root@HB2 ~]# uname -m
x86_64
[root@HB2 ~]#
================================
[root@HB2 ~]# ping HB1
PING HB1 (10.0.0.3) 56(84) bytes of data.
64 bytes from HB1 (10.0.0.3): icmp_seq=1 ttl=64 time=0.347 ms
64 bytes from HB1 (10.0.0.3): icmp_seq=2 ttl=64 time=0.297 ms
^C
--- HB1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1424ms
rtt min/avg/max/mdev = 0.297/0.322/0.347/0.025 ms
[root@HB2 ~]# ping HB2
PING HB2 (10.0.0.4) 56(84) bytes of data.
64 bytes from HB2 (10.0.0.4): icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from HB2 (10.0.0.4): icmp_seq=2 ttl=64 time=0.043 ms
^C
--- HB2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1226ms
rtt min/avg/max/mdev = 0.027/0.035/0.043/0.008 ms
[root@HB2 ~]#
[root@HB1 ~]# ping HB2
PING HB2 (10.0.0.4) 56(84) bytes of data.
64 bytes from HB2 (10.0.0.4): icmp_seq=1 ttl=64 time=0.720 ms
64 bytes from HB2 (10.0.0.4): icmp_seq=2 ttl=64 time=0.346 ms
64 bytes from HB2 (10.0.0.4): icmp_seq=3 ttl=64 time=0.329 ms
^C
--- HB2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2150ms
rtt min/avg/max/mdev = 0.329/0.465/0.720/0.180 ms
[root@HB1 ~]# ping HB1
PING HB1 (10.0.0.3) 56(84) bytes of data.
64 bytes from HB1 (10.0.0.3): icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from HB1 (10.0.0.3): icmp_seq=2 ttl=64 time=0.131 ms
^C
--- HB1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1388ms
rtt min/avg/max/mdev = 0.022/0.076/0.131/0.055 ms
[root@HB1 ~]#
###########################end
#两台服务器都添加下面的心跳路由 生产环境建议加route。现在不加也不影响搭建.
/sbin/route add -host 172.16.1.4 dev eth1
/sbin/route add -host 172.16.1.3 dev eth1
echo '/sbin/route add -host 172.16.1.3 dev eth1' >> /etc/rc.local
echo '/sbin/route add -host 172.16.1.4 dev eth1' >> /etc/rc.local
#######################start
[root@HB1 ~]# ping 172.16.1.4
PING 172.16.1.4 (172.16.1.4) 56(84) bytes of data.
64 bytes from 172.16.1.4: icmp_seq=1 ttl=64 time=1.56 ms
64 bytes from 172.16.1.4: icmp_seq=2 ttl=64 time=0.310 ms
^C
--- 172.16.1.4 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1267ms
rtt min/avg/max/mdev = 0.310/0.935/1.561/0.626 ms
[root@HB1 ~]#
[root@HB2 ~]# /sbin/route add -host 172.16.1.3 dev eth1
[root@HB2 ~]#
[root@HB2 ~]# ping 172.16.1.3
PING 172.16.1.3 (172.16.1.3) 56(84) bytes of data.
64 bytes from 172.16.1.3: icmp_seq=1 ttl=64 time=0.391 ms
^C
--- 172.16.1.3 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 897ms
rtt min/avg/max/mdev = 0.391/0.391/0.391/0.000 ms
[root@HB2 ~]#
#######################end
###########################################开始部署
centos 5.8 直接yum install heartbeat -y 两次就可以了 (切记)
如果是centos 6.5 需要yum install heartbeat* -y
下面是在centos 6.5下安装
1.先下载并安装epel包
wget http://mirrors.opencas.cn/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://mirrors.opencas.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
mkdir -p /home/lvnian/tools && cd /home/lvnian/tools
#下载并安装epel包
mkdir -p /home/lvnian/tools && cd /home/lvnian/tools
wget http://mirrors.opencas.cn/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
2.安装heartbeat,下面是在centos版本系统中部署,所有用yum install heartbeat* -y。如果是centos5.8需要yum两次
yum install heartbeat* -y
3.拷贝ha的配置文件,资源文件以及授权文件到/etc/ha.d/下面。
默认情况下/etc/ha.d/是没有配置文件的,配置文件都在/usr/share/doc/heartbeat-3.0.4/目录下
ll /usr/share/doc/heartbeat-3.0.4/
cd /usr/share/doc/heartbeat-3.0.4/
cp ha.cf haresources authkeys /etc/ha.d/
4.开始配置
cd /etc/ha.d
mv ha.cf ha.bak
mv authkeys authkeys.bak
mv haresources haresources.bak
注意点:下面ha.cf、authkeys、haresources这三个文件在主备都是一样的
########配置ha.cf
cat>/etc/ha.d/ha.cf<<eof
#the start by lvnian 20150881
debugfile /var/log/ha-debug #heartbeat的调试日志存放位置
logfile /var/log/ha-log#heartbeat的日志存放位置
#logfacility local1#在syslog服务中配置通过local1设备接收日志
keepalive 2#指定心跳间隔时间为2秒(即每两秒钟在eth1上发一次广播)
deadtime 30#指定若备用节点在30秒内没有主节点的心跳信息,则立即接管主节点的服务资源
warntime 10#指定心跳延迟的实际为10秒,但10秒内备节点不能接收到主节点的心跳信号时,就会往日志中写入一个警告日志,但此时不会切换服务
initdead 60#指定在HEARTBEAT首次运行后,需要等待120秒才启动主服务器的任何资源,该选项用于解决这种情况生产的时间间隔,取值至少为deadtime的两倍,单机启动时会遇到VIP绑定很慢,为正常现象,该值设置的长的原因
#bcast eth1#指明心跳是使用以太网广播方式在eth1接口上进行广播,如使用两个实际网络来传送心跳则#bcast eth0 eth1
mcast eth1 225.0.0.181 694 1 0 #设置广播通信使用的端口,694为默认使用的端口号
#ucast eth1 172.16.1.4
auto_failback off #服务器正常后,不接管备用设备资源
node HB1#主节点名称,与uname –n保持一致。排在第一的默认为主节点,所以不要搞措顺序
node HB2
crm no#是否开启Cluster Resource Manger(集群资源管理)功能
#the end by lvnian 20150881
eof
####配置authkeys
cat >/etc/ha.d/authkeys<<eof
auth 1
1 sha1 b900cbbdfa0a850444fa3dae47a9d354 #这个字符串是随便写的,但是需要主备都是一样的
eof
##配置文件必须要授权600才可以。
chmod 600 /etc/ha.d/authkeys
#####配置haresources
cat > /etc/ha.d/haresources <<eof
#gao services
#10.0.0.103 www.lvnian.org
HB1 IPaddr::10.0.0.103/24/eth0
#HB1 IPaddr::10.0.0.103/24/eth0 httpd
#10.0.0.104 bbs.lvnian.org
HB2 IPaddr::10.0.0.104/24/eth0
#mysql master mysqlm.lvnian.org
#HB1 IPaddr::10.0.0.103/24/eth0
#HB1 IPaddr::10.0.0.103/24/eth0 mysqld
#mysql slave mysqlm.lvnian.org
#HB2 IPaddr::10.0.0.104/24/eth0
eof
#########
#启动heartbeat 服务
/etc/init.d/heartbeat start
/etc/init.d/heartbeat stop
/etc/init.d/heartbeat restart
用ip add 查看vip
查看 cat /var/log/ha-log日志文件
######################################333333安装之后
[root@HB1 home]# cd /etc/ha.d/
[root@HB1 ha.d]#
[root@HB1 ha.d]#
[root@HB1 ha.d]# ls
harc rc.d README.config resource.d shellfuncs
[root@HB1 ha.d]#
[root@HB1 ha.d]#
[root@HB1 ha.d]#
[root@HB1 ha.d]# ll
total 20
-rwxr-xr-x. 1 root root 745 Dec 3 2013 harc
drwxr-xr-x. 2 root root 4096 Jul 21 01:55 rc.d
-rw-r--r--. 1 root root 692 Dec 3 2013 README.config
drwxr-xr-x. 2 root root 4096 Jul 21 01:55 resource.d
-rw-r--r--. 1 root root 2082 Jul 24 2015 shellfuncs
[root@HB1 ha.d]# ll /usr/share/doc/heartbeat-3.0.4/
total 144
-rw-r--r--. 1 root root 1873 Dec 3 2013 apphbd.cf
-rw-r--r--. 1 root root 645 Dec 3 2013 authkeys
-rw-r--r--. 1 root root 3701 Dec 3 2013 AUTHORS
-rw-r--r--. 1 root root 58752 Dec 3 2013 ChangeLog
-rw-r--r--. 1 root root 17989 Dec 3 2013 COPYING
-rw-r--r--. 1 root root 26532 Dec 3 2013 COPYING.LGPL
-rw-r--r--. 1 root root 10502 Dec 3 2013 ha.cf
-rw-r--r--. 1 root root 5905 Dec 3 2013 haresources
-rw-r--r--. 1 root root 2935 Dec 3 2013 README
[root@HB1 ha.d]#
[root@HB1 ha.d]# cd /usr/share/doc/heartbeat-3.0.4/
[root@HB1 heartbeat-3.0.4]# cp ha.cf haresources authkeys /etc/ha.d/
########################
/etc/ha.d/haresources 内容解析
IPaddr::10.0.0.103/24/eth0
IPaddr时在/etc/ha.d/resource.d目录下的一个脚本,它的作用是添加一个IP。
HB1 为主机名,表示初始状态会在HB1绑定IP 10.0.0.103
IPaddr是在/etc/ha.d/resource.d目录下的一个脚本,后面的IP 10.0.0.103、eth0
是脚本的参数。它的作用是添加一个在指定的网卡上添加一个辅助IP。
10.0.0.103/24/eth0为集群对外服务的VIP,初始启动在HB1上,#24为子网掩码,eth0为ip绑定的实际物理网卡,为heartbaeat提供对外服务的通信接口
转载于:https://blog.51cto.com/lvnian/1709057