推荐-Corosync + Pacemaker 搭建高可用Httpd服务

Corosync + Pacemaker 搭建高可用Httpd服务


实验描述

1.两个测试节点,分别为node5.redhat.comnode6.redhat.com地址分别为172.16.100.5172.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进程

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

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

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

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

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

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

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

4.将两个节点加入集群

[root@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.两个节点同时启动corosyncpacemaker进程

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

[root@node6 ~]# systemctl start corosync.service
[root@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共享

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

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

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

[root@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

[root@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配置资源

[root@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查看集群状态

Alt text1.jpg

一切正常

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

Alt text2.jpg

测试也是正常的

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

crm(live)# node standby node5.redhat.com
crm(live)# status

Alt text3.jpg

可以看到node服务转移到了node6节点上

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

2.jpg

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


原创文章,作者:张小凡,如若转载,请注明出处:http://www.178linux.com/14207

(0)
张小凡张小凡
上一篇 2016-04-05 20:47
下一篇 2016-04-05 22:39

相关推荐

  • grep,egrep及相应的正则表达式用法详解

    目录 1、grep简介     1.1、grep是什么     1.2、grep使用格式     1.3、grep常用选项 2、正则表达式与grep     2.1、正则表达式简介  &nb…

    系统运维 2016-08-22
  • 【福利招聘】 Base 上海 拍拍货(红杉领投,靠谱金融公司) 共5人

    公司简介 拍拍贷成立于2007年6月,全称为“上海拍拍贷金融信息服务有限公司”,总部位于国际金融中心上海,是中国首批网络信息借贷平台。 拍拍贷是一家由工商部门特批,获批“金融信息服务”的经营范围,得到政府认可的互联网金融平台。拍拍贷用先进的理念和创新的技术建立一个安全、高效、透明的互联网金融平台,规范个人贷款行为,让借入这改善生产生活,让借出者增加投资渠道。…

    Linux干货 2016-12-05
  • 编程真难啊

    上周,在Sun的Java论坛上出现了一个这样的帖子,这个贴子的链接如下:http://forums.sun.com/thread.jspa?threadID=5404590&start=0&tstart=0 LZ的贴子翻译如下: 大家好,我是一个Java的新手,我有一个简单的问题:请问我怎么才能反转一个整数的符号啊。比如把-12转成+12。是…

    Linux干货 2015-04-03
  • lamp安装配置详细过程(把以前的笔记贴上来)

    准备; 首先进入/usr/local/目录 #cd /usr/local 删除所有安装过的php mysql apache 以及libxml 首先查看目前 /usr/local目录下面的内容 #ls –l 如果看到php5 php apache2 apache mysql mysql5 libxml libxml2字样的目录都将其删除具体命令如下 #rm –…

    Linux干货 2015-05-01
  • Openssl加密解密原理+CA自建实现

     Openssl加密解密原理+CA自建实现     前言 互联网的惊人发展使企业和消费者都感到非常兴奋,它正改变着我们的生活和工作方式。但是,互联网的安全程度如何——尤其是在通过它发送机密信息时的安全性——已经成为人们关心的主要问题。随着时代的发展,加密原理也不断地在更新换代. 数据的加密目前已广泛地运用于战争,商业活…

    Linux干货 2015-05-25
  • Ubuntu之apt-get光盘源配置小结

    Ubuntu配置本地apt源的方法:    1. 命令自动配置:        mount    /dev/cdrom   /mnt/cdrom        apt-cdrom   ident   &nbsp…

    Linux干货 2016-03-09

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:27

    结构清晰明白,内容详略得当,赞