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. redis 哈希 数据类型

    哈希 hset  设置哈希表字段 hset 8000 ename tom   hset 8000 job salesman hget 8000 ename  "tom" hget  ...

  2. 基于Caffe训练AlexNet模型

    数据集 1.准备数据集 1)下载训练和验证图片 ImageNet官网地址:http://www.image-net.org/signup.php?next=download-images (需用邮箱注 ...

  3. npm学习(三)之如何安装本地包、更新本地安装的包、卸载本地安装的包

    如何安装本地包 有两种方式用来安装 npm 包:本地安装和全局安装.至于选择哪种方式来安装,取决于我们如何使用这个包. 如果你自己的模块依赖于某个包,并通过 Node.js 的 require 加载, ...

  4. springboot热部署设置

    springboot提供了热部署,所谓热部署就是当你修改了文件代码,不用重新去启动服务器,而你只要重新build一下当前项目就可以重新编译了.而这就是热部署. 其实springboot热部署就是通过一 ...

  5. flutter-dart语言初识

    dart 官方文档 http://dart.goodev.org/guides/language/language-tour# 重要概念所以能够使用变量引用的都是对象,也就是所以可以赋值给变量的都是对 ...

  6. vue项目进行时,script标签中,methods事件中函数使用的async/await

    用 async/await 来处理异步 await关键字只能放到async函数里面,通过await得到就是Promise返回的内容:当然也能通过then()去获取,若通过then()获取了则就无Pro ...

  7. 2019-11-29-C#-标准性能测试高级用法

    title author date CreateTime categories C# 标准性能测试高级用法 lindexi 2019-11-29 10:13:16 +0800 2018-07-08 0 ...

  8. php 克隆 __clone

    php 克隆 clone 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能会需要一个和A完全相同新对象B,并且此后对B任何改动都不会影响到A中的值, ...

  9. js实现倒计时(分:秒)

    上代码: //倒计时start 需要传入的参数为秒数,此方法倒计时结束后会自动刷新页面 function resetTime(timetamp){ var timer=null; var t=time ...

  10. python_实现员工信息表

    实现员工信息表 文件存储格式如下:id,name,age,phone,job1,Alex,22,13651054608,IT2,Egon,23,13304320533,Tearcher3,nezha, ...