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

[经验分享] Corosync + Pacemaker 搭建高可用Httpd服务

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-4-11 09:48:57 | 显示全部楼层 |阅读模式
实验描述

1.两个测试节点,分别为node5.redhat.com和node6.redhat.com地址分别为172.16.100.5和172.16.100.6
2.集群服务为httpd,利用nfs做共享存储,NFS地址为172.16.0.254,NFS已经共享出了一个/www/htdocs目录并且里面有index.html文件。
3.VIP地址为172.16.100.100
4.两个节点系统全部为CentOS7.2
5.由于本人还需要上班,所以时间紧张,描述的有点马虎,请多见谅。如有错误的地方,还请提出改正。
配置步骤

1.在所有节点安装pcs,并启动相应的pcsd进程

    [iyunv@node5 ~]# yum install pcs -y
    [iyunv@node5 ~]# systemctl start pcsd.service

    [iyunv@node6 ~]# yum install pcs -y
    [iyunv@node6 ~]# systemctl start pcsd.service

2.给所有节点上的hacluster用户设置一个密码。

    [iyunv@node5 ~]# echo “redhat” | passwd –stdin hacluster

    [iyunv@node6 ~]# echo “redhat” | passwd –stdin hacluster

3.在一个节点上验证两个节点

    [iyunv@node5 ~]# pcs cluster auth node5.redhat.com node6.redhat.com
    Username: hacluster
    Password: 这里输入的密码默认不会显示
    node5.redhat.com: Authorized
    node6.redhat.com: Authorized

4.将两个节点加入集群

    [iyunv@node5 ~]# pcs cluster setup –name mycluster node5.redhat.com node6.redhat.com
    添加节点的输出信息
    Shutting down pacemaker/corosync services…
    Redirecting to /bin/systemctl stop pacemaker.service
    Redirecting to /bin/systemctl stop corosync.service
    Killing any remaining services…
    Removing all cluster configuration files…
    node5.redhat.com: Succeeded
    node6.redhat.com: Succeeded
    Synchronizing pcsd certificates on nodes node5.redhat.com, node6.redhat.com…
    node5.redhat.com: Success
    node6.redhat.com: Success

    Restaring pcsd on the nodes in order to reload the certificates…
    node5.redhat.com: Success *显示添加成功*
    node6.redhat.com: Success *显示添加成功*

5.两个节点同时启动corosync和pacemaker进程

    [iyunv@node5 ~]# systemctl start corosync.service
    [iyunv@node5 ~]# systemctl start pacemaker.service

    [iyunv@node6 ~]# systemctl start corosync.service
    [iyunv@node6 ~]# systemctl start pacemaker.service

6.在两个节点上安装httpd进程并设置为开机启动

    root@node5 ~]# yum install httpd -y
    systemctl enable httpd.service

    root@node6 ~]# yum install httpd -y
    systemctl enable httpd.service

7.在两个节点上安装nft-utils以实现支持挂载nfs共享

    [iyunv@node5 ~]# yum install nfs-utils

    [iyunv@node6 ~]# yum install nfs-utils

8.安装crmsh,CentOS7默认不带crmsh,需要去网上下载rpm包,我用的是crmsh-2.2.0-7.1.noarch.rpm和crmsh-scripts-2.2.0-7.1.noarch.rpm、python-parallax-1.0.1-10.1.noarch.rpm

    [iyunv@node5 ~]# yum install crmsh-2.2.0-7.1.noarch.rpm crmsh-scripts-2.2.0-7.1.noarch.rpm python-parallax-1.0.1-10.1.noarch.rpm -y

    [iyunv@node6 ~]# yum install crmsh-2.2.0-7.1.noarch.rpm crmsh-scripts-2.2.0-7.1.noarch.rpm python-parallax-1.0.1-10.1.noarch.rpm -y

9.利用crmsh配置资源

    [iyunv@node5 ~]# crm configure

    配置VIP资源
    crm(live)configure# primitive webip ocf:heartbeat:IPaddr ip=’172.16.100.100’ op monitor interval=20s timeout=40s

    配置NFS资源
    crm(live)configure# primitive webstore ocf:heartbeat:Filesystem params device=’172.16.0.254:/www/htdocs’ directory=’/var/www/html’ fstype=’nfs’ op start timeout=60s op stop timeout=60s op monitor interval=20s timeout=40s

    配置WEB资源
    crm(live)configure# primitive webserver systemd:httpd op start timeout=60s op stop timeout=60s op monitor interval=20s timeout=60s

    因为是两节点集群,需要关闭stonith
    crm(live)configure# property stonith-enabled=false

    crm(live)configure# commit

10.设置这三个服务要同时在一个节点上运行,并且启动顺序一定为VIP -> NFS -> httpd

  设置三个服务在同一节点上运行有两种方法实现,一种是将所有资源设置到同一个组里面,或者设置排列约束。当然,即设置了组,又定义为了排列约束也是可以的。设置启动顺序那么必须使用顺序约束。

    设置组

    crm(live)configure# group webservice webip webstore webserver

    或排列约束

    crm(live)configure# colocation webip_with_webstore inf: webip webstore
    crm(live)configure# colocation webstore_with_webserver inf: webstore webserver

    顺序约束

    crm(live)configure# order webip_before_webstore Mandatory: webip webstore
    crm(live)configure# order webstore_before_webserver Mandatory: webstore webserver
    crm(live)configure# commit

验证配置

1.首先查看集群状态

    crm(live)configure# cd 退出到crmsh的主配置界面
    crm(live)#status 输出status查看集群状态
[size=1em] spacer.jpg 1459862500307904.jpg
[size=1em]一切正常

2.打开浏览器,输入VIP地址进行查看。

[size=1em] spacer.jpg 1459862506240424.jpg
[size=1em]测试也是正常的

3.将node5节点设置为standby状态,查看服务是否转移成功。

[size=1em]crm(live)# node standby node5.redhat.com
crm(live)# status
[size=1em] spacer.jpg 1459862512744221.jpg
[size=1em]可以看到node服务转移到了node6节点上

4.再次打开浏览器进行测试。

[size=1em] 1459862520256712.jpg

服务依旧正常,这样就实现了我们高可用的目的。





运维网声明 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-202450-1-1.html 上篇帖子: 源码编译安装apache报APR错及解决方案 下篇帖子: Apache CXF实现的RESTful形式的webservices
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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