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

[经验分享] 基于lvs的 heartbeat实现的HA群集

[复制链接]

尚未签到

发表于 2019-1-4 14:27:05 | 显示全部楼层 |阅读模式
Heartbeat实现HA群集
Heartbeat服务实现高可用性群集,节点之间是靠心跳线来传输资源,心跳线可以是双绞线也可以是serial线。当一个节点失效,另一个节点抢夺资源,资源有ip地址、服务、配置文件,成为主节点。
工作模式:主主模式,主备模式
主主模式:当一个节点实现http服务,为主节点,实现ftp服务为备用节点。另外一个节点在实现http时为备用节点,实现ftp时为主节点。
主备节点:一个节点为主节点,另外一个为备用节点,一旦主节点失效,备用节点接替工作,成为主节点。
Heartbeat工作的四个阶段:
第一个阶段:messagelayer在/etc//ha.cf/ha.cf这个是实现高可用性群集的配置文件,在这个文件里指明,广播接口、节点的名称。
第二个阶段:成员管理/Etc/ha.d/haresource指明节点名称、抢占的资源(vip、服务、配置文件)
第三个阶段:/etc/ha.d/authkeys指明节点之间的验证算法
第四阶段:resourcesagent代理阶段

一:
在节点一上的配置:
1:安装高可用性群集的相关软件包
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpmldirectord服务用于后方真实的服务器的状态监测
heartbeat-pils-2.1.4-10.el5.i386.rpm
heartbeat-stonith-2.1.4-10.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
安装好只好在/etc/ha.d目录下形成一些与群集相关文件和目录
拷贝/usr/share/doc/heartbeat-2.1.4/ha.cfauthkeysharesources到当前目录下
[root@localhostha.d]#ll
total48
-rw-r--r--1rootroot645Oct401:42authkeys
-rw-r--r--1rootroot10578Oct401:41ha.cf
-rwxr-xr-x1rootroot745Jul242009harc
-rw-r--r--1rootroot5952Oct401:28haresources
drwxr-xr-x2rootroot4096Oct401:11rc.d
-rw-r--r--1rootroot692Jul242009README.config
drwxr-xr-x2rootroot4096Oct401:28resource.d
-rw-r--r--1rootroot7862Jul242009shellfuncs

:2:打开ha.cf这个文件,ha.cf是高可用性群集的配置文件
bcasteth1#Linux广播地址为eth:0这个端口,当主节点失效时通过这个端口把资源(vip、heartbeat服务控制的其他服务、其他服务的配置文件)传到备份节点上。
#bcasteth1eth2#Linux
#nodekathy
nodenode1.a.com
nodenode2.a.com
3:打开haresources文件配置资源,资源有节点名称虚拟ip、被控制的服务,这里控制ipvsadm服务

#node-nameresource1resource2...resourceN
node1.a.com192.168.20.100/24/eth0ipvsadm
#
拷贝ipvsadm的服务脚本到resource.d目录下
cp/etc/init.d/ipvsadm/etc/ha.d/resource.d/
4:打开authkeys文件
authkeys
auth3#节点之间传递资源时要进行验证,MD5身份验证验证内容是redhat
#1crc
#2sha1HI!
3md5redhat

5:Lvs虚拟服务配置
[root@localhost~]#ipvsadm-A-t192.168.20.100:80-srr
[root@localhost~]#ipvsadm-a-t192.168.20.100:80-r192.168.20.30:80-g
[root@localhost~]#ipvsadm-a-t192.168.20.100:80-r192.168.20.40:80-g
[root@localhost~]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.20.100:httprr
->192.168.20.40:httpRoute100
->192.168.20.30:httpRoute100
保存虚拟服务规则,关闭虚拟服务
[root@localhost~]#serviceipvsadmsave
SavingIPVStableto/etc/sysconfig/ipvsadm:[OK]
[root@localhost~]#serviceipvsadmstop
ClearingthecurrentIPVStable:[OK]

6:开启高可用性群集的功能Serviceheartbeatstart
执行hb_takeover
抢占虚拟ip地址和服务
[root@node1ha.d]#ifconfig
eth0Linkencap:EthernetHWaddr00:0C:29:FA:2D:49
inetaddr:192.168.20.10Bcast:192.168.20.255Mask:255.255.255.0
inet6addr:fe80::20c:29ff:fefa:2d49/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:7840errors:0dropped:0overruns:0frame:0
TXpackets:5142errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:2922637(2.7MiB)TXbytes:709106(692.4KiB)
Interrupt:19Baseaddress:0x2000

eth0:0Linkencap:EthernetHWaddr00:0C:29:FA:2D:49
inetaddr:192.168.20.100Bcast:192.168.20.255Mask:255.255.255.0
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
Interrupt:19Baseaddress:0x2000
7:查看虚拟服务规则表,虚拟服务已经开启
[root@node1ha.d]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.20.100:httprr
->192.168.20.30:httpRoute100
->192.168.20.40:httpRoute100


三:在节点二上
1:安装高可用性群集的相关软件包
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpmldirectord服务用于后方真实的服务器的状态监测
heartbeat-pils-2.1.4-10.el5.i386.rpm
heartbeat-stonith-2.1.4-10.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
安装好只好在/etc/ha.d目录下形成一些与群集相关文件和目录
拷贝/usr/share/doc/heartbeat-2.1.4/ha.cfauthkeysharesources到当前目录下
[root@localhostha.d]#ll
total48
-rw-r--r--1rootroot645Oct401:42authkeys
-rw-r--r--1rootroot10578Oct401:41ha.cf
-rwxr-xr-x1rootroot745Jul242009harc
-rw-r--r--1rootroot5952Oct401:28haresources
drwxr-xr-x2rootroot4096Oct401:11rc.d
-rw-r--r--1rootroot692Jul242009README.config
drwxr-xr-x2rootroot4096Oct401:28resource.d
-rw-r--r--1rootroot7862Jul242009shellfuncs

:2:打开ha.cf这个文件,ha.cf是高可用性群集的配置文件
bcasteth1#Linux广播地址为eth:0这个端口,当主节点失效时通过这个端口把资源(vip、heartbeat服务控制的其他服务、其他服务的配置文件)传到备份节点上。
#bcasteth1eth2#Linux
#nodekathy
nodenode1.a.com
nodenode2.a.com
3:打开haresources文件配置资源,资源有节点名称虚拟ip、被控制的服务,这里控制ipvsadm服务

#node-nameresource1resource2...resourceN
node1.a.com192.168.20.100/24/eth0ipvsadm
#
拷贝ipvsadm的服务脚本到resource.d目录下
cp/etc/init.d/ipvsadm/etc/ha.d/resource.d/
4:打开authkeys文件
authkeys
auth3#节点之间传递资源时要进行验证,MD5身份验证验证内容是redhat
#1crc
#2sha1HI!
3md5redhat
5:Lvs虚拟服务配置
[root@localhost~]#ipvsadm-A-t192.168.20.100:80-srr
[root@localhost~]#ipvsadm-a-t192.168.20.100:80-r192.168.20.30:80-g
[root@localhost~]#ipvsadm-a-t192.168.20.100:80-r192.168.20.40:80-g
[root@localhost~]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.20.100:httprr
->192.168.20.40:httpRoute100
->192.168.20.30:httpRoute100
保存虚拟服务规则,关闭虚拟服务
[root@localhost~]#serviceipvsadmsave
SavingIPVStableto/etc/sysconfig/ipvsadm:[OK]
[root@localhost~]#serviceipvsadmstop
ClearingthecurrentIPVStable:[OK]


6:开启heartbeat服务执行hb_takeover功能抢占资源
Serviceheartbeatstart
执行hb_takeover抢占资源
eth0Linkencap:EthernetHWaddr00:0C:29:D2:75:D0
inetaddr:192.168.20.20Bcast:192.168.20.255Mask:255.255.255.0
inet6addr:fe80::20c:29ff:fed2:75d0/64Scope:Link
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
RXpackets:5162errors:0dropped:0overruns:0frame:0
TXpackets:3896errors:0dropped:0overruns:0carrier:0
collisions:0txqueuelen:1000
RXbytes:2896990(2.7MiB)TXbytes:596280(582.3KiB)
Interrupt:19Baseaddress:0x2000

eth0:0Linkencap:EthernetHWaddr00:0C:29:D2:75:D0
inetaddr:192.168.20.100Bcast:192.168.20.255Mask:255.255.255.0
UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1
Interrupt:19Baseaddress:0x2000
7:查看虚拟服务规则表,虚拟服务已经开启
[root@node1ha.d]#ipvsadm-l
IPVirtualServerversion1.2.1(size=4096)
ProtLocalAddress:PortSchedulerFlags
->RemoteAddress:PortForwardWeightActiveConnInActConn
TCP192.168.20.100:httprr
->192.168.20.30:httpRoute100
->192.168.20.40:httpRoute100






运维网声明 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-659382-1-1.html 上篇帖子: heartbeat+ldirectory实现LVS 下篇帖子: Heartbeat群集的搭建与LVS的结合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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