TOC \o
"1-3" \h \z \u 一、集群信息... PAGEREF _Toc502099174 \h 4
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100370034000000

二、集群搭建... PAGEREF _Toc502099175 \h 4
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100370035000000

1、制作软件源... PAGEREF
_Toc502099176 \h 4
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100370036000000

2、主机基础配置... PAGEREF
_Toc502099177 \h 5
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100370037000000

3、集群基础环境准备... PAGEREF
_Toc502099178 \h 7
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100370038000000

4、集群资源准备... PAGEREF _Toc502099179
\h 9
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100370039000000

5、资源配置... PAGEREF
_Toc502099180 \h 11
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380030000000

6、constraint配置... PAGEREF
_Toc502099181 \h 12
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380031000000

7、stonith配置... PAGEREF
_Toc502099182 \h 13
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380032000000

8、集群功能验证... PAGEREF
_Toc502099183 \h 14
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380033000000

三、集群常用命令及作用... PAGEREF _Toc502099184 \h 17
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380034000000

1、验证群集安装... PAGEREF
_Toc502099185 \h 17
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380035000000

2、查看群集资源... PAGEREF _Toc502099186
\h 17
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380036000000

3、使用群集脚本... PAGEREF
_Toc502099187 \h 17
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380037000000

4、STONITH 设备操作... PAGEREF _Toc502099188 \h 17
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380038000000

5、查看群集配置... PAGEREF
_Toc502099189 \h 17
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100380039000000

6、管理群集... PAGEREF
_Toc502099190 \h 18
08D0C9EA79F9BACE118C8200AA004BA90B02000000080000000E0000005F0054006F0063003500300032003000390039003100390030000000

  

CentOS7/RHEL7高可用集群搭建

一、集群信息

使用光盘镜像安装好两台RHEL7.4系统的虚拟机,主机信息如下:

主机名

node1

node2

IP地址

192.168.110.168

192.168.110.169

系统版本

Red Hat Enterprise Linux Server release 7.4

挂载镜像源

rhel-server-7.4-x86_64-dvd.iso

资源组

(ftp-group)

FTP-VIP:192.168.110.10

FTP-LVM:vg_ftp

FTP-FS:/dev/vg_ftp/lv_ftp

FTP:vsftpd

资源组

(tomcat-group)

TOMCAT-VIP:192.168.110.20

TOMCAT-LVM:vg_tomcat

TOMCAT-FS:/dev/vg_tomcat/lv_tomcat

TOMCAT:tomcat

二、集群搭建

1、制作软件源

●      挂载光盘

●      导入key文件,列出可用源

2、主机基础配置

●      设置主机名

●      关闭防火墙

●      设置selinux为disabled

●      配置host文件

●      节点间配置免密互信

●      同步host文件

●      编辑/etc/chronyd.conf文件,增加时间服务器一行

●      配置时间服务器,使集群节点时间同步

●      设置时间同步,timedatectl输出结果中NTP enabled为yes,已开始同步

●      查看chronyd状态,设置为开机启动

3、集群基础环境准备

●      软件安装

●      修改集群管理账号密码

●      启用并设置集群软件开机自启

●      集群节点认证

●      创建集群

注:

1、命令内容为创建集群的同时在各节点上启动集群并设置为启用状态

●      查看当前集群状态

注:

1、   注意命令输出内容,在尚未配置stonith时,提示需将stonith-enabled属性更改为false(不启用)

2、Online:显示当前在线节点

3、Full list of resources:显示集群的资源列表

 

4、集群资源准备

●      文件系统创建

创建并格式化/dev/mapper/vg_tomcat-lv_tomcat,文件系统格式为xfs

创建并格式化/dev/mapper/vg_ftp-lv_ftp,文件系统格式为xfs

注:

使用共享存储的集群,在节点一上创建好vg、lv之后,节点二上执行命令pvscan --cache /dev/sdb可以将vg,lv信息同步至节点二上

●      创建文件系统挂载点

●      安装vsftp

●      新增用户

新增用户mcbadm,确保node2上mcbadm用户的UID与node1一致,将用户加入haclient集群管理组

●      安装tomcat相关软件包

将lv_tomcat挂在至/home/mcbadm后,将tomcat软件包解压至共享盘上

●      权限更改

更改/home/mcbadm下文件属组及所属者为mcbadm

●      创建tomcat.service文件

编辑/usr/lib/systemd/system/tomcat.service文件,将tomcat服务移交systemd管理

将tomca.service文件放在/usr/lib/systemd/system/目录下,执行systemctl daemon-reload刷新

●      开放halvm功能

将集群的共享存储交由集群管理,执行以下命令,开放halvm功能

●      备份lvm.conf文件

●      编辑lvm.conf文件

查看系统现有vg,放开volume_list的注释,将除过集群共享存储的vg加入中括号内

注意:主机后续添加新的非集群管理vg,必须将vg名加入volume_list内

●      生成initramfs文件

备份/boot/initramfs-$(uname –r).img文件

执行以下命令,重新生成initramfs-$(uname –r).img文件

重启主机

5、资源配置

●      创建资源组ftp-group

FTP-VIP:192.168.110.10/24

FTP-LVM:vg_ftp

FTP-FS:/dev/vg_ftp/lv_ftp,/HOME,xfs

FTP:vsftpd

FTP:vsftpd

●      创建资源组tomcat-group

TOMCAT-VIP:192.168.110.20/24

TOMCAT-LVM:vg_tomcat

TOMCAT-FS:/dev/vg_tomcat/lv_tomcat,/home/mcbadm,xfs

TOMCAT:tomcat

●      检查集群状态

资源组创建完成,集群资源已在各节点上运行

注:

1、集群资源创建,资源创建需要一次完成,所有资源创建完成后加入资源组中,默认情况下,资源组内资源启停顺序为:按照从上往下的顺序依次启动;按照从下往上的顺序依次停止。

2、因已配置vg_ftp和vg_tomcat仅由集群激活启用,当FTP-FS和TOMCAT-FS资源在节点一/二配置完成但尚未加入资源组内时,pcs status会有报错信息提示,提示在节点二/一上找不到相应的设备文件,此为正常现象,将FTP-FS和TOMCAT-FS按顺序加入集群即可。

6、集群资源约束配置

●      检查集群状态

查看当前constraint设置

●      配置资源启停顺序

配置资源组内各资源启停顺序:

ftp-group内启停顺序:FTP-VIP--> FTP-LVM-->FTP-FS-->FTP

tomcat-group内启停顺序:TOMCAT-VIP-->TOMCAT-LVM-->TOMCAT-FS-->TOMCAT

●      配置资源组内各资源依附关系

●      配置资源组在各节点的粘性

ftp-group优先在node1上运行

tomcat-group优先在node2上运行

●      查看constraint设置结果

列出集群资源约束配置内容

7、stonith配置

注:

1、   virtualbox虚拟机无法配置,假设可用

2、   不同类型的服务器所需fence端口不同,惠普硬件服务器需开通fence设备的623/udp端口,vcenter主机需开启80/tcp和443/tcp端口,其余类型请自行查证

●      fence资源信息

主机名

node1

node2

Fence设备地址

192.168.110.101

192.168.110.102

Fence管理账号

Administrator

Fence账户密码

pass1234

●      Fence查看节点状态

通过fence设备查看主机状态,确认fence设备可对主机进行管理

# fence_ipmilan –P –A password –a 192.168.110.101 –l Administrator  –p pass1234 –o status

# Status on

# fence_ipmilan –P –A password –a 192.168.110.102 –l Administrator  –p pass1234 –o status

# Status on

●      增加fence设备

     # pcs stonith create ipmi-fence-node1 fence_ipmilan parms lanplus=’true’ pcmk_host_list=’node1’ pcmk_host_check=’static-list’ action=’reboot’ ipaddr=’192.168.110.101’ login=’Administrator’ passwd=’pass1234’ op monitor interval=30s

# pcs stonith create ipmi-fence-node2 fence_ipmilan parms lanplus=’true’ pcmk_host_list=’node2’ pcmk_host_check=’static-list’ action=’reboot’ ipaddr=’192.168.110.102’ login=’Administrator’ passwd=’pass1234’ op monitor interval=30s

8、集群功能验证

●      切换前检查

查看当前集群状态,集群内各资源已正常运行使用(尚缺少fence设备)

●      禁用节点验证

将node2 设置为standby(不使用),资源组tomcat-group正常切换至node1上运行

# pcs cluster standy node2

注:

1、node2 standby状态下,资源组tomcat-group在node1上正常运行才能证明资源切换正常

unstandy node2,资源组tomcat-group切换回node2运行

# pcs cluster unstandy node2

注:

1、node2 unstandby后,资源组tomcat-group能够自动切回node2上正常运行才能证明资源切换正常

●      重启节点验证

node1 重启,资源组ftp-group切换至node2运行

node1 重启完成,资源组ftp-group切换回node1运行

三、集群常用命令及作用

1、验证群集安装

[shell]# pacemakerd -F                                                             ## 查看pacemaker组件

[shell]# corosync-cfgtool -s                                                        ## 查看corosync序号

[shell]# corosync-cmapctl | grep members              ## corosync 2.3.x

[shell]# corosync-objctl | grep members                          ## corosync 1.4.x

2、查看群集资源

[shell]# pcs resource standards                                       ## 查看支持资源类型

[shell]# pcs resource providers                                        ## 查看资源提供商

[shell]# pcs resource agents                                                     ## 查看所有资源代理

[shell]# pcs resource list                                                    ## 查看支持资源列表

[shell]# pcs stonith list                                                             ## 查看支持Fence列表

[shell]# pcs property list --all                                            ## 显示群集默认变量参数

[shell]# crm_simulate -sL                                        ## 检验资源 score 值

3、使用群集脚本

[shell]# pcs cluster cib ra_cfg                                          ## 将群集资源配置信息保存在指定文件

[shell]# pcs -f ra_cfg resource create                                ## 创建群集资源并保存在指定文件中(而非保存在运行配置)

[shell]# pcs -f ra_cfg resource show                                        ## 显示指定文件的配置信息,检查无误后

[shell]# pcs cluster cib-push ra_cfg                                          ## 将指定配置文件加载到运行配置中

4、STONITH 设备操作

[shell]# stonith_admin -I                                                 ## 查询fence设备

[shell]# stonith_admin -M -a agent_name              ## 查询fence设备的元数据, stonith_admin -M -a fence_vmware_soap

[shell]# stonith_admin --reboot nodename                     ## 测试 STONITH 设备

5、查看群集配置

[shell]# crm_verify -L -V                                                          ## 检查配置有无错误

[shell]# pcs property                                                              ## 查看群集属性

[shell]# pcs stonith                                                                          ## 查看stonith

[shell]# pcs constraint                                                             ## 查看资源约束

[shell]# pcs config                                                                          ## 查看群集资源配置

[shell]# pcs cluster cib                                                                   ## 以XML格式显示群集配置

6、管理群集

[shell]# pcs status                                                                          ## 查看群集状态

[shell]# pcs status cluster

[shell]# pcs status corosync

[shell]# pcs cluster stop [node11]                                 ## 停止群集

[shell]# pcs cluster start --all                                                  ## 启动群集

[shell]# pcs cluster standby node11                                      ## 将节点置为后备standby状态 pcs cluster unstandby node11

[shell]# pcs cluster destroy [--all]                                   ## 删除群集,[--all]同时恢复corosync.conf文件

[shell]# pcs resource cleanup ClusterIP                         ## 清除指定资源的状态与错误计数

[shell]# pcs stonith cleanup vmware-fencing                  ## 清除Fence资源的状态与错误计数

CentOS7/RHEL7 pacemaker+corosync高可用集群搭建的更多相关文章

  1. CentOS7 haproxy+keepalived实现高可用集群搭建

    一.搭建环境 CentOS7 64位 Keepalived 1.3.5 Haproxy 1.5.18 后端负载主机:192.168.166.21 192.168.166.22 两台节点上安装rabbi ...

  2. .Net Core2.1 秒杀项目一步步实现CI/CD(Centos7.2)系列一:k8s高可用集群搭建总结以及部署API到k8s

    前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署的,这个集群差不多搞了一周时间,关于k8s的知识点,我也是刚入门,这方面的知识建议参考博客园 ...

  3. Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建

    目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...

  4. 实现CI/CDk8s高可用集群搭建总结以及部署API到k8s

    实现CI/CD(Centos7.2)系列二:k8s高可用集群搭建总结以及部署API到k8s 前言:本系列博客又更新了,是博主研究很长时间,亲自动手实践过后的心得,k8s集群是购买了5台阿里云服务器部署 ...

  5. hadoop高可用集群搭建小结

    hadoop高可用集群搭建小结1.Zookeeper集群搭建2.格式化Zookeeper集群 (注:在Zookeeper集群建立hadoop-ha,amenode的元数据)3.开启Journalmno ...

  6. Spark高可用集群搭建

    Spark高可用集群搭建 node1    node2    node3   1.node1修改spark-env.sh,注释掉hadoop(就不用开启Hadoop集群了),添加如下语句 export ...

  7. Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase)

    声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.服务器环境 主机名 IP 用户名 密码 安装目录 master188 192.168.29.188 hadoop hadoop /home/ha ...

  8. MongoDB高可用集群搭建(主从、分片、路由、安全验证)

    目录 一.环境准备 1.部署图 2.模块介绍 3.服务器准备 二.环境变量 1.准备三台集群 2.安装解压 3.配置环境变量 三.集群搭建 1.新建配置目录 2.修改配置文件 3.分发其他节点 4.批 ...

  9. RabbitMQ高级指南:从配置、使用到高可用集群搭建

    本文大纲: 1. RabbitMQ简介 2. RabbitMQ安装与配置 3. C# 如何使用RabbitMQ 4. 几种Exchange模式 5. RPC 远程过程调用 6. RabbitMQ高可用 ...

随机推荐

  1. Linux用ICMP协议实现简单Ping网络监测功能

    ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网 ...

  2. BUUOJ reverse 刮开有奖

    刮开有奖 这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可) 注意:得到的 flag 请包上 flag{} 提交 拖到id ...

  3. mysql应用之通过存储过程方式批量插入数据

    我们平时的测试过程中有一个环节就是准备测试数据,包括准备基础数据,准备业务数据,使用的场景包括压力测试,后台批量数据传输,前端大数据查询导出,或者分页打印等功能,准备测试数据我们通俗点讲就是造数据,根 ...

  4. __strong修饰符

    本文用来观察,对于__strong修饰符,编译器为我们自动添加了什么代码,这些代码对于引用计数有什么影响. 例子一 X __strong *x1 = [[X alloc] init]; 使用控制台打印 ...

  5. POJ2387 Til the Cows Come Home (最短路 dijkstra)

    AC代码 POJ2387 Til the Cows Come Home Bessie is out in the field and wants to get back to the barn to ...

  6. [USACO13OPEN]照片Photo 题解

    题面 这道题似乎可以用单调队列优化DP做,但这里讲的是一种差分约束的思路; 设s[i]表示1~i中选了多少个: s[b[i]]-s[a[i]-1]<=1; s[b[i]]-s[a[i]-1]&g ...

  7. redis 命令都在这了

    DEL key [key ...]删除指定的key(一个或多个) DUMP key导出key的值 EXISTS key [key ...]查询一个key是否存在 EXPIRE key seconds设 ...

  8. redis 列表 数据类型

    列表 rpush dname  技术部  后勤部 售后部 lpush  dname   秘书部 lset dname 2  销售部     修改 lrange dname 0 -1   打印所有列表 ...

  9. vue中如何去掉空格

    一.问题 vue中当用户提交表单时,有的数据需要去掉前后空格然后再向后端发送. 二.解决方法 首先可以使用v-model.trim这个v-model修饰符去解决它,但是当用户输入\u200B时,这个方 ...

  10. Homebrew学习(六)之替换及重置homebrew、Homebred Core、Homebrew cask默认源

    替换及重置homebrew默认源 中科大源 替换官方源: // 替换brew.git: cd "$(brew --repo)" git remote set-url origin ...