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

[经验分享] hearbeat集群+V1版本资源管理器(haresources)配置

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-2-4 08:45:23 | 显示全部楼层 |阅读模式
高可用集群实现方式很多,下面介绍hearbeat集群+V1版本资源管理器(haresources)配置
有几个注意事项:
1.  双方要同步时间,可以做定时任务
1
2
[iyunv@servertools]# crontab -e
*/4 * * * */usr/sbin/ntpdate 172.16.0.1 &>/dev/null



2.  节点之间必须要通过主机名互相通信,建议使用hosts文件,节点的名字要与”uname –n 命令保持一致”

1
2
3
4
5
6
7
8
[iyunv@server tools]# cat/etc/hosts
127.0.0.1   localhostlocalhost.localdomain localhost4 localhost4.localdomain4
::1         localhostlocalhost.localdomain localhost6 localhost6.localdomain6
172.16.0.1 server.magelinux.com server
172.16.33.1 server
172.16.33.2 cluser
172.16.33.3 client1
172.16.33.4 client2



3.  需要仲裁设备,此处使用网关做仲裁设备
4.  彼此root用户能基于ssh密钥方式进行通信
1
2
[iyunv@server data]#ssh-keygen -t rsa
[iyunv@server data]#ssh-copy-id cluser[A1]



准备好安装包
heartbeat-2.1.4-12.el6.x86_64.rpm   
heartbeat-pils-2.1.4-12.el6.x86_64.rpm
heartbeat-stonith-2.1.4-12.el6.x86_64.rpm   #stonith是为了避免资源分裂时资源争用时导致数据损坏
安装方法:
首先需要安装其依赖的包
1
2
yum install –y net-snmp-libs libnet PyXML
rpm -ivh heartbeat-2.1.4-12.el6.x86_64.rpmheartbeat-pils-2.1.4-12.el6.x86_64.rpmheartbeat-stonith-2.1.4-12.el6.x86_64.rpm



安装完成
1.2 配置heartbeat
heartbeat的配置文件是通过样例的方式提供的,其样例文件在/usr/share/doc/heartbeat-2.1.4/
cd /usr/share/doc/heartbeat-2.1.4/
ls
ha.cf     #主配置文件
authkeys  #节点之间互相通信的密钥文件,其权限必须是400或600
haresources #heartbeat v1版本的资源管理器的配置文件
[iyunv@server heartbeat-2.1.4]# cp -p  ha.cf authkeys  haresources /etc/ha.d/ #将此三个配置文件拷贝至/etc/ha.d/目录下
[iyunv@server ha.d]# vi ha.cf
一般修改成之下几项就可以了

logfile /var/log/ha-log   #日志文件的保存位置
mcast eth0 225.1.1.2 694 1 0 #通过多播方式,运行eth0 多播地址为225.1.1.2的694端口  1表示TTL为1,表示不运行进行转发,0表示loop次数
auto_failback on        # 此项表示主节点发生故障恢复后是否需要把原来的资源夺回来,                                    on表示夺取回来
node server
node cluser           #集群内节点的名称,必须跟”uname -n”保持一直
ping                 #仲裁设备可以有多个,在ping_group中定义
compression   bz2    #是否启动bz2压缩
compression_threshold 2 #表示大于2k时启动压缩
[iyunv@server ha.d]# vim authkeys  #修改域共享密钥认证配置文件
auth 1   #表示使用第一种算法
1 sha1 helloword #指定第一种算法为sha1 真正的随机数为helloword,随机数是任意的,可以通过其他算法生成
1
2
3
[iyunv@server ha.d]# chmod 600 authkeys   #将authkeys文件的权限改成400或600
[iyunv@server ha.d]# vim haresources       #定义v1版本的资源文件
server[A2]   172.16.33.6/16/eth0/172.16.255.255[A3] httpd[A4]   #此文件配置此行即可






[iyunv@server ha.d]# scp -p ha.cf authkeysharesources root@172.16.33.4:/etc/ha.d #将以上的三个文件拷贝至另外一个节点上一份

接下来先不要启动,要为两个节点的设置httpd的网页文件,测试成功后一定要关闭httpd服务且保证开机不会自动启动,因为hareources会自动启动
1
2
3
4
5
6
[iyunv@server data]# vim/var/www/html/index.html
<h1>www.server.com</h1>
[iyunv@cluser ha.d]# vim/var/www/html/index.html
<h1>www.cluser.com</h1>
[iyunv@cluser data]# chkconfig --list httpd
httpd             0:off       1:off       2:off       3:off       4:off       5:off       6:off



到此处,基于heartbeat和V1版本的资源管理器的准备工作就准备好了,接下来启动节点
1
2
3
4
[iyunv@cluser data]# service heartbeat start[A5]
Starting High-Availability services:
2015/01/05_22:39:44 INFO:  Resource is stopped
Done.



启动成功后,查看如下信息
1
2
3
4
5
6
[iyunv@server data]# ifconfig
eth0:0   Link encap:Ethernet  HWaddr00:0C:29:56:EF:98
         inetaddr:172.16.33.6 [A6] Bcast:172.16.255.255  Mask:255.255.0.0
         UP BROADCAST RUNNING MULTICAST MTU:1500  Metric:1
root@server data]# ss -lnt |grep 80
LISTEN     0      128                      :::80 [A7]                      :::*



此时在关闭主节点的heartbeat服务,手动模拟主机点损坏
1
2
3
4
5
6
[iyunv@cluser data]# ifconfig
eth0:0   Link encap:Ethernet  HWaddr 00:0C:29:0D:63:42
          inet addr:172.16.33.6  Bcast:172.16.255.255  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500 Metric:1
[iyunv@cluserdata]# ss -lnt |grep 80
LISTEN     0     128                      :::80                      :::[A8] *




此时如果再次启动server主节点,可以发现资源会再次夺取回到主节点,这跟之前配置的auto_failbackon有关
不需要手动关闭heartbeat来完成节点的切换,在/usr/lib64/heartbeat/下有两个命令,可以完成切换
1
2
hb_standby [A9]
hb_takeover[A10]




生产中两个节点的httpd页面文件应该是相同的,可以通过共享存储来实现

wKioL1TQW-OgxvPOAABq_hh8Vwo530.jpg
其中share files可以为NFS或其他,下面实例基于NFS实现的
1
2
3
4
5
6
7
8
9
10
[iyunv@client1 data]# vim /var/www/html/[A11] index.html
<h1>www.client1.com</h1>
[iyunv@client1 data]# vim /etc/exports
/var/www/html  172.16.0.0/16(rw)[A12]
[iyunv@client1 data]# service nfs start[A13]                    
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                      [  OK  ]
Starting NFS mountd:                                     [  OK  ]
Starting NFS daemon:                                     [  OK  ]
Starting RPC idmapd:                                     [  OK  ]



我们打算将172.16.33.2:/var/www/html/目录挂载至两个节点的/var/www/html/目录,此时需要编辑v1的资源管理器配置文件/etc/ha.d/haresources,其内容修改如下
1
2
server 172.16.33.6/16/eth0/172.16.255.255Filesystem::172.16.33.2:/var/www/html::/v
ar/www/html::nfs  httpd[A14]



此时重新启动heartbeat服务,查看挂载信息
1
2
[iyunv@server resource.d]# mount
172.16.33.2:/var/www/html on /var/www/htmltype nfs (rw,vers=4,addr=172.16.33.2,clientaddr=172.16.33.1)



可以看到已经挂载了,在网页上访问可以看到是nfs服务器上的网页文件
[iyunv@server resource.d]# curlhttp://172.16.33.6
<h1>www.client1.com</h1>
到此基于heartbeatv1版本+nfs共享存储的高可用集群配置完毕
总结:
1.基于heartbeat v1版本配置的高可用集群配置简单
2.无法自动检测后端realserver的心跳信息,需要借助脚本或ldirectord等来实现



运维网声明 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-41942-1-1.html 上篇帖子: heartbeat3.0.5+drbd8.4.4+nfs 构建高可用nfs环境 下篇帖子: 高可用 heartbeat和keepalived
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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