首页 > 系统相关 >CentOS7/RHEL7 pacemaker+corosync高可用集群搭建

CentOS7/RHEL7 pacemaker+corosync高可用集群搭建

时间:2023-04-09 13:07:42浏览次数:33  
标签:RHEL7 shell tomcat ## pcs CentOS7 集群 pacemaker 资源

CentOS7/RHEL7 pacemaker+corosync高可用集群搭建

一、集群信息

二、集群搭建

1、制作软件源

2、主机基础配置

3、集群基础环境准备

4、集群资源准备

5、资源配置

6、constraint配置

7、stonith配置

8、集群功能验证

三、集群常用命令及作用

1、验证群集安装

2、查看群集资源

3、使用群集脚本

4、STONITH 设备操作

5、查看群集配置

6、管理群集

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资源的状态与错误计数

标签:RHEL7,shell,tomcat,##,pcs,CentOS7,集群,pacemaker,资源
From: https://blog.51cto.com/geeks/6178760

相关文章

  • CentOS7防火墙操作
    查看防火墙状态systemctlstatusfirewalld开启防火墙systemctlstartfirewalld关闭防火墙systemctlstopfirewalld查看防火墙是否开机自启systemctlis-enabledfirewalld开启开机自启systemctlenablefirewalld关闭开机自启systemctldisablefirewalld开......
  • CentOS7静态IP配置
    1编辑网卡配置文件vim/etc/sysconfig/network-scripts/ifcfg-ens33修改/添加如下选项,根据自己的情况BOOTPROTO=static #修改ip为静态,这是已有的配置,修改就好IPADDR=你想设置的ip #静态ip地址NETMASK=你的子网掩码 #子网掩码GATEWAY=你的网关 #网关地址DNS1=你的网关 ......
  • CentOS7-实现全网备份脚本
    一、应用场景备份公司的重要的文件或者日志文件,系统配置文件等二、脚本思路1、本地打包备份2、同步服务推送至备份服务器3、同步成功发送邮件提醒管理员4、编写计划任务5、本地备份文件保留时间,服务器备份文件保留时间三、项目实施1、服端配置rsync服务步骤一:安装rsync......
  • Centos7 时间显示不对
    修改系统时区timedatectlset-timezoneAsia/Shanghai安装NTPyum-yinstallntp使用ntpdate更新系统时间ntpdatepool.ntp.org使用date查看时区是否正确date启动ntpddaemon,持续校准时间 systemctlstartntpd ......
  • centos7 mongodb4.4分片集群部署
    #创建mongo相应的目录mkdir-pv/data/app/mongodb/confmkdir-pv/data/app/mongodb/{configset,shared1,shared2,shared3}/logmkdir-pv/data/mongodb/{configset,shared1,shared2,shared3}/data #创建于用户,给权限useradd-s/sbin/nologin-Mmongodchown-Rmong......
  • Centos7 安装 maven3.6.3
    1.下载maven3.6.3安装包wgethttps://mirrors.ocf.berkeley.edu/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz--no-check-certificate2.创建一个安装maven的目录mkdir/usr/local/maven3.解压下载的软件包tar-zxvfapache-maven-3.6.3-bi......
  • CentOS7安装zabbix-agent
    一:系统要求1.centos72.zabbix服务器端5.0版本 二:安转和配置zabbix1.安装zabbix存储库#rpm-Uvhhttps://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm#yumcleanall2.安装zabbix代理#yuminstallzabbix-agent3.启动zabb......
  • Centos7 安装配置FTP服务
    1、FTP简介ftp(FileTransferProtocol文件传输协议)是基于TCP/IP协议的应用层协议,用于文件的传输,包括ftp服务器(或服务端)和ftp客户端2、关闭防火墙设置selinuxsystemcltstopfirewalld.service&&systemcltdisablefirewalld.serviceSELINUX=disabledsetenforce0使修改立......
  • Centos7使用systemctl管理mysql8服务开机启动
    centos7下开机默认不执行原来配置启动命令的/etc/rc.local文件,建议使用systemctl管理自启动服务,如果要使用/etc/rc.local进行自启动,需要给文件/etc/rc.d/rc.local添加可执行权限。    systemctl常用命令如下:1.列出所有启动项命令systemctllist-unit-files开启的和未开启的......
  • Linux(CentOS7) c语言编程, 多线程入栈出栈,错误:expected ‘while’ before ‘int’
    在Centos7里,编写多线程的入栈出栈时,出现这样错误提示:图片版: 文字版:[root@CentOs705-xitongbiancheng]#gcc05-24-01.pthread-cancel-pop-push.c-pthread05-24-01.pthread-cancel-pop-push.c:在函数‘func’中:05-24-01.pthread-cancel-pop-push.c:47:1:错误:expected......