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

[经验分享] 教你如何用heartbeat搭建一个高可用的web集群

[复制链接]

尚未签到

发表于 2019-1-7 12:41:47 | 显示全部楼层 |阅读模式
首先两台服务器或者准备二台虚拟主机,这里我们以虚拟机为例
准备二台虚拟机,每个虚拟机都安装上二块网卡,每台虚拟机的网卡,一块网卡设置网桥接,一块设置为为虚拟网络的接法 比如设置为VMnet7。二台虚拟机的网卡一样,好了设置好了,我们启动虚拟机,
在虚拟机启动之前我们先来规划一下,如图这是我们的实验图谱

二台主机
环境搭建:
node1       eth0    192.168.0.154
               eth1    10.0.23.1    心跳测试
               提供web服务   
node2       eth0    192.168.0.164
               eth1    10.0.23.2         心跳测试
               提供web服务


接下来我们来配置name1:
首先根据图谱我们先配置name1的ip地址:
这里要配置静态ip地址
[root@ssss ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.0.154
NETMASK=255.255.255.0
ONBOOT=yes
HWADDR=00:0c:29:a4:bd:10

主机名更改
[root@node1 ~]# vim /etc/sysconfig/network
修改主机名字为
HOSTNAME=node1.a.org

在用hostname 在进行修改 两件修改要保持一致
[root@node1 ~]# hostname node1.a.org
[root@node1 ~]# hostname 查看
node1.a.org

然后我们把web的服务停止让他开机不自动启动
[root@node1 ~]# service httpd stop
[root@node1 ~]# chkconfig httpd off
node2同上

修改/etc/hosts文件,添加以下内容

[root@node1 ~]# vim /etc/hosts
192.168.0.154     node1.a.org         node1
192.168.0.164     node2.a.org         node2

接下来我们用scp把这个文件copy到node2的主机上面
[root@node1 ~]# scp /etc/hosts node2:/root/
查看node2的主机你就可以看到node2里的hosts文件与node1主机的一样说明复制成功
如果我们想登陆node2的主机不用输入账号命名我们给node2主机一个密钥
[root@node1 ~]# ssh-keygen -t rsa[root@node1 ~]# ssh-copy-id -i .ssh/id_rsa.pub root@node2回车 使用node2的密码  等一下你登陆node2就不用再输入密码,直接可以进去,上传下载文件了。
反之,node2想要登陆node2不用输入密码账号,根据上面的办法就ok了。
安装软件
对了如果要安装软件包最好先配置好yum源 yum源的配置这里我们就不多说了,相信到了这一步我们学linxu的都背的滚瓜烂熟了。
配置好yum了我们就来安装一下web服务
[root@node1 ~]# yum install httpd
编辑web网页文件
[root@node1 ~]# vim /var/www/html/index.html
写入
node1.a.org

同理node2下也要写入这样一个文件
node2.a.org



下面是安装heartbeat
heartbeat所需的软件包有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-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


在家命令下新建一个heartbeaat的目录
[root@node1 ~]# mkdir heartbeat/
[root@node1 ~]# cd heartbeat/
[root@node1 heartbeat]# yum --nogpkcheck localintall *.rpm -y
把上面要安装的软件包安装
把自带的三种文件cp到/etc/ha.d/ 下
[root@node1 ha.d]# cp /usr/share/doc/heartbeat-2.1.4/ ha.cf ./
[root@node1 ha.d]# cp /usr/share/doc/heartbeat-2.1.4/ authkeys ./
设置authkyes的权限为400 或600
[root@node1 ha.d]# cp /usr/share/doc/heartbeat-2.1.4/ haresources ./
然后编辑ha.cf文件


keepalive2 //**line48 设定heartbeat之间的时间间隔为2秒   

deadtime30 //**line56 在30秒后宣布节点死亡   

warntime10 //**line61在日志中发出“late heartbeat“警告之前等待的时间,单位为秒   

udpport694 //**line76 使用端口694进行bcast和ucast通信。这是默认的   

bcasteth1        //**line90add 表示在eth1接口上使用广播heartbeat   
nodeprimary.a.com //**line214add   

nodestandby.a.com    //**line215add   

respawnhacluster/usr/lib/heartbeat/ipfail //**line255使Heartbeat以userid(这里为hacluster)的身份来执行ipfail进程   

                                                                            并监视该进程的执行情况



生成节点域共享密钥
[root@node1 ha.d]# dd if=/dev/urandom bs=512 count=1 | openssl md5
1+0 records in
1+0 records out
512 bytes (512 B) copied, 0.000819551 seconds, 625 kB/s
2dedd048b4ec16b2977e80a5083ce379


编辑
[root@node1 ha.d]# vim authkeys
#auth 1
#1 crc
#2 sha1 HI!
#3 md5 Hello!
auth 2
2 sha1 2dedd048b4ec16b2977e80a5083ce379

定义资源
[root@node1 ha.d]# vim haresources
node1.a.org         192.168.0.100/24/eth0/192.165.0.255 httpd


node2的配置
node2的配置其实无node1的配置大致相同
上面已经配置了一些node2的配置了
第一还是要安装软件包,方法与node1主机的相同,
我们可以直接用命令得到我们想要的安装包
在node1的主机上
[root@server31 ~]# scp  heartbeat/ node2:/root/
就可以得到我们要node1上面的安装包了
node2中/etc/ha.d的文件也可以从node1中获得




[root@server31 ~]# cd /usr/lib/heartbeat
[root@server31 heartbeat]# ls
api_test                    crmd                                ha_propagate                 logtest                    ra-api-1.dtd
apphbd                        crm.dtd                         haresources2cib.py     lrmadmin                 recoverymgrd
apphbtest                 crm_primitive.py        haresources2cib.pyc    lrmd                         req_resource
atest                         crm_primitive.pyc     haresources2cib.pyo    lrmtest                    ResourceManager
attrd                         crm_primitive.pyo     hb_addnode                     mach_down                send_arp
base64_md5_test     crm_utils.py                hb_delnode                     mgmtd                        stonithd
BasicSanityCheck    crm_utils.pyc             hb_setsite                     mgmtdtest                stonithdtest
ccm                             crm_utils.pyo             hb_setweight                 mlock                        tengine
ccm_testclient        cts                                 hb_standby                     ocf-returncodes    TestHeartbeatComm
cib                             dopd                                hb_takeover                    ocf-shellfuncs     transient-test.sh
cibmon                        drbd-peer-outdater    heartbeat                        pengine                    ttest
clmtest                     findif                            ipctest                            pingd                        utillib.sh
crm_commands.py     ha_config                     ipctransientclient     plugins
crm_commands.pyc    ha_logd                         ipctransientserver     quorumd
crm_commands.pyo    ha_logger                     ipfail                             quorumdtest

[root@server31 heartbeat]# ./ha_propagate

运维网声明 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-660353-1-1.html 上篇帖子: 基于heartbeat v1配置mysql和httpd的高可用双主模型 下篇帖子: RHEL5搭建apache服务器全过程(四)配置heartbeat和ipvsadm
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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