#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 �Cn保持一致。排在第一的默认为主节点,所以不要搞措顺序 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提供对外服务的通信接口