设为首页 收藏本站
查看: 1200|回复: 0

[经验分享] heartbeat 部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-4 09:16:23 | 显示全部楼层 |阅读模式
#heartbeat部署
HB1:
eth0:10.0.0.3
eth1:172.16.1.3
VIP:10.0.0.103

HB1:
eth0:10.0.0.4
eth1:172.16.1.4
VIP:10.0.0.104


其中eth1是直接相连的。是heartbeat直接的心跳线

[iyunv@HB1 ~]# ifconfig |awk '/inet addr/{print $2}'
addr:10.0.0.3
addr:172.16.1.3
addr:127.0.0.1
[iyunv@HB1 ~]#

[iyunv@HB2 ~]# ifconfig |awk -F'[ :]+' '/inet addr/{print $4}'
10.0.0.4
172.16.1.4
127.0.0.1
[iyunv@HB2 ~]#

#要配置主机名和hosts文件.
主机名称要以uname -n为准
[iyunv@HB2 ~]# uname -n
HB2
[iyunv@HB2 ~]# uname -m
x86_64
[iyunv@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测试:
[iyunv@HB1 ~]# uname -n
HB1
[iyunv@HB2 ~]# uname -n
HB2
[iyunv@HB2 ~]# uname -m
x86_64
[iyunv@HB2 ~]#
================================

[iyunv@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
[iyunv@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
[iyunv@HB2 ~]#


[iyunv@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
[iyunv@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
[iyunv@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
[iyunv@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
[iyunv@HB1 ~]#

[iyunv@HB2 ~]# /sbin/route add -host 172.16.1.3 dev eth1
[iyunv@HB2 ~]#
[iyunv@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
[iyunv@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 ... ease-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 ... ease-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安装之后
[iyunv@HB1 home]# cd /etc/ha.d/
[iyunv@HB1 ha.d]#
[iyunv@HB1 ha.d]#
[iyunv@HB1 ha.d]# ls
harc  rc.d  README.config  resource.d  shellfuncs
[iyunv@HB1 ha.d]#
[iyunv@HB1 ha.d]#
[iyunv@HB1 ha.d]#
[iyunv@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
[iyunv@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
[iyunv@HB1 ha.d]#
[iyunv@HB1 ha.d]# cd /usr/share/doc/heartbeat-3.0.4/
[iyunv@HB1 heartbeat-3.0.4]# cp ha.cf haresources  authkeys /etc/ha.d/

########################

/etc/ha.d/haresources 内容解析
HB1 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,初始启动在data-1-1上,#24为子网掩码,eth0为ip绑定的实际物理网卡,为heartbaeat提供对外服务的通信接口

====================================
HB1 IPaddr::10.0.0.103/24/eth0 drbddisk::data Filesystem::/dev/drbd0::/data::ext3 rsdata

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,初始启动在data-1-1上,#24为子网掩码,eth0为ip绑定的实际物理网卡,为heartbaeat提供对外服务的通信接口,相当于执行:
/etc/ha.d/resource.d/IPaddr 10.0.0.103/24/eth0 start/stop

drbddisk::data       
启动drdb data资源,这里相当于执行:
/etc/ha.d/resource.d/drbddisk  data        start/stop

Filesystem::/dev/drbd0::/data::ext3
drbd分区挂载到/data目录,这里相当于执行:
/etc/ha.d/resource.d/Filesystem /dev/drbd0 /data ext3  start/stop

rsdata  
启动mysql服务的脚本,这里相当于执行:
/etc/ha.d/resource.d/rsdata start/stop
====================================



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-134803-1-1.html 上篇帖子: heartbeat理论介绍 下篇帖子: heartbeat介绍以及通过heartbeat实现简单httpd高可用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表