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进程

[[email protected] ~]# yum install pcs -y
[[email protected] ~]# systemctl start pcsd.service

[[email protected] ~]# yum install pcs -y
[[email protected] ~]# systemctl start pcsd.service

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

[[email protected] ~]# echo “redhat” | passwd –stdin hacluster

[[email protected] ~]# echo “redhat” | passwd –stdin hacluster

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

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

4.将两个节点加入集群

[[email protected] ~]# 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进程

[[email protected] ~]# systemctl start corosync.service
[[email protected] ~]# systemctl start pacemaker.service

[[email protected] ~]# systemctl start corosync.service
[[email protected] ~]# systemctl start pacemaker.service

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

[email protected] ~]# yum install httpd -y
systemctl enable httpd.service

[email protected] ~]# yum install httpd -y
systemctl enable httpd.service

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

[[email protected] ~]# yum install nfs-utils

[[email protected] ~]# 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

[[email protected] ~]# 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

[[email protected] ~]# 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配置资源

[[email protected] ~]# 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查看集群状态

一切正常

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

测试也是正常的

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

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

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

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

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

时间: 2024-11-02 15:41:25

Corosync + Pacemaker 搭建高可用Httpd服务的相关文章

Corosync + Pacemaker 搭建高可用MariaDB服务

实验描述 1.本实验的目的是为了通过手动配置corosync配置文件,实现MariaDB服务的高可用,集群心跳传递使用组播方式.2.三个节点的主机名分别为:node5.redhat.com.node6.redhat.com.node7.redhat.com.地址为172.16.100.5.172.16.100.6.172.16.100.7.3.利用nfs做后端存储,NFS地址为172.16.0.254.3.VIP地址为172.16.100.1004.三个节点系统全部为CentOS7.2,NFS节

corosync+pacemaker实现高可用(HA)集群

corosync+pacemaker实现高可用(HA)集群(一) ????重要概念 在准备部署HA集群前,需要对其涉及的大量的概念有一个初步的了解,这样在实际部署配置时,才不至于不知所云 资源.服务与主机(又称节点)的关系: 资源包括vip,httpd,filesystem等: 可整合多个资源形成一个服务: 服务必运行在某个主机上,主机上也可不运行服务(此为空闲主机): 服务里的所有资源应该同时运行在同一个节点上,实现方式有2种: 资源组: 排列约束 资源类型 primitive(或native

corosync+pacemaker实现高可用集群。

实验环境: 安装: yum install corosync pacemaker -y 复制配置文件 cp corosync.conf.example corosync.conf vim corosync.conf 编辑配置文件: compatibility: whitetank  是否兼容0.8版本的corosynctotem {定义集群之间心跳信息传递层   version: 2 ----版本号        secauth: on ---是否启用安全认证        threads: 0

corosync+pacemaker的高可用集群

基于corosync+pacemaker的高可用集群 Pacemaker即Cluster Resource Manager (简称CRM),用来管理整个HA的控制中心,客户端通过pacemaker来配置管理监控整个集群.它不能提供底层心跳信息传递的功能,它要想与对方节点通信需要借助底层(新拆分的heartbeat或corosync)的心跳传递服务,将信息通告给对方. pacemaker管理资源的工具由命令行界面的crmsh.pcs和图形化界面pygui.hawk等进行管理. 因此,一般来说都是选

通过 corosync/pacemaker实现高可用的MariaDB

目的: 通过corosync v1 和pacemaker 提供高可用mariadb,在调度切换RS时,仍能数据库访问及操作不中断. 其中corosyncv1提供底层心跳及事务信息传递功能,pacemaker提供CRM.LRM 试验环境流程: 第一台虚拟机提供nfs文件共享存储:中间两台虚拟机配置相同mariadb服务,数据库存储位置为第四台虚拟机提供的nfs文件系统.对pacemaker的配置操作可以有多种形式,如CLI接口的crmsh和pcs,GUI的 hawk(webgui)和LCMC.其中

corosync+pacemaker+http高可用操作手记

前言: 因为公司大量用到了corosync+packmaker,本人之前只是了解,并没深入比较keepalive及heatbeatcorosync+packmaker的区别,原理方面不探讨,可以查看官网,或者查看网上资料. 这里仅仅分享一下自己做的一个小实验,算是基础入门.新公司东西比较多,因此最近博客更新会很慢,但是以后有时间分享的东西,则都是网上少见的,加上自己的经验之谈,热爱开源,热爱分享. 实验目的: 利corosync+packmaker,做到http高可用访问.当然可以结合drdb,

corosync+pacemaker实现高可用集群

Corosync corosync最初只是用来演示OpenAIS集群框架接口规范的一个应用,可以实现HA心跳信息传输的功能,是众多实现HA集群软件中之一,可以说corosync是OpenAIS的一部分,然而后面的发展超越了官方最初的设想,越来越多的厂商尝试使用corosync作为集群解决方案,如Redhat的RHCS集群套件就是基于corosync实现. corosync只提供了message layer(即实现HeartBeat + CCM),而没有直接提供CRM,一般使用Pacemaker进

drbd+mariadb+corosync+pacemaker构建高可用,实现负载均衡

DRBD DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群 drbd 工作原理:DRBD是一种块设备,可以被用于高可用(HA)之中.它类似于一个网络RAID-1功能. 当你将数据写入本地 文件系统时,数据还将会被发送到网络中另一台主机上.以相同的形式记录在一个 文件系统中. 本地(主节点)与远程主机(备节点)的数据可以保证实时同步.当本地系统出现故障时,远 程主机上还会保留有一份相同的数据,可以继续使用.在高可用(HA)中使用DRBD功能,可以代替使用一 个共享盘阵.因为数据同时存在

corosync+pacemaker实现高可用的MariaDB

一.准备工作 承接上文:corosync+pacemaker使用crmsh构建高可用集群 二.MariaDB server配置(基于nfs) nfs server准备 1.在nfs server准备LVM存储空间 [[email protected] ~]# fdisk /dev/sdb Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS dis