Centos7.7下用pcs+pacemaker+corosync快速构建HA群集

简介: Centos7.7下用pcs+pacemaker+corosync快速构建HA群集

群集节点准备:


1.配置主机名及解析 2.配置时钟 3.配置iptables防火墙允许集群组件运行 4.配置pcs守护程序 5.配置hacluster账户密码 6.集群配置文件


1.安装pacemaker配置工具


[root@rs1 ~]# yum install -y pacemaker corosync pcs psmisc policycoreutils-python fence-agents-all
了解每一个包是干嘛的
[root@rs1 ~]# rpm -qi fence-agents-all
...


2.配置时钟和主机名解析

群集中各个节点的时钟要一致
两个虚拟机中时间同步:
[root@rs1 ~]# yum install -y ntp  #安装服务
[root@rs1 ~]# ntpdate time.windows.com  #同步时间(前提是虚拟机可以联网)
[root@rs1 ~]# crontab -e    #修改cron表,设置每30分钟更新矫正一次时间
*/30 * * * * /sbin/ntpdate time.windows.com &> /dev/null
[root@rs1 ~]# systemctl restart ntpd
#下面的可以省略,也可以直接ntpdate IP地址
[root@rs1 ~]# vim /etc/hosts
...
192.168.43.10 rs1
192.168.43.20 rs2
[root@rs2 ~]# yum install -y ntp
[root@rs2 ~]# vi /etc/hosts
...
192.168.43.10 rs1
192.168.43.20 rs2
[root@rs2 ~]# crontab -e
*/30 * * * * /sbin/ntpdate rs1
[root@rs2 ~]# ntpdate rs1
 7 May 11:22:15 ntpdate[4434]: adjust time server 192.168.43.10 offset 0.046371 sec
测试:
[root@rs1 ~]# ssh rs2 'date';date
root@rs2's password: 
Thu May  7 11:26:54 EDT 2020
Thu May  7 11:26:54 EDT 2020


3.配置防火墙允许集群组件通过(rs1和rs2都做)


[root@rs1 ~]# systemctl start firewalld
[root@rs1 ~]# systemctl enable firewalld
Created symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/firewalld.service to /usr/lib/systemd/system/firewalld.service.
[root@rs1 ~]# firewall-cmd --permanent --add-service=high-availability
success
[root@rs1 ~]# firewall-cmd --reload
success


4.配置pcs守护程序


[root@rs1 ~]# systemctl start pcsd
[root@rs1 ~]# systemctl enable pcsd
Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.
[root@rs2 ~]# systemctl start pcsd
[root@rs2 ~]# systemctl enable pcsd
Created symlink from /etc/systemd/system/multi-user.target.wants/pcsd.service to /usr/lib/systemd/system/pcsd.service.


5.配置hacluster账户密码


安装软件包的时候会自动创建一个hacluster账户,它的密码是禁用的。这个用户用于群集间通信的身份验证
必须在每个节点上设置密码以启用此账户。
[root@rs1 ~]# echo "a" | passwd --stdin hacluster
Changing password for user hacluster.
passwd: all authentication tokens updated successfully.
[root@rs2 ~]# echo "a" | passwd --stdin hacluster
Changing password for user hacluster.
passwd: all authentication tokens updated successfully.


6.集群及Pacemaker配置文件


群集的创建
1认证组成集群的节点
2配置和同步集群节点
3在集群节点中启动集群服务

1认证组成集群的节点


在任意一个节点上验证所有的节点
使用前面设置的hacluster账户
注意iptables规则
语法:pcs cluster auth node1 node2 noden  -u username -p passwd
例:[root@rs1 ~]# pcs cluster auth rs1 rs2
Username: hacluster
Password: 
rs1: Authorized
rs2: Authorized

2配置和同步集群节点


语法:pcs cluster setup [--start] [--local] --name cluster_name node1 node2 noden...
创建集群配置文件可以手动创建
[root@rs1 ~]# cd /etc/corosync/a
[root@rs1 corosync]# cat corosync.conf.example
也可以利用pcs setup 自动创建群集配置文件
[root@rs1 corosync]# pcs cluster setup --name cluster1 rs1 rs2
[root@rs1 corosync]# pwd
/etc/corosync
[root@rs1 corosync]# ls
corosync.conf          corosync.conf.example.udpu  uidgid.d
corosync.conf.example  corosync.xml.example

3在集群节点中启动集群服务


语法:pcs cluster start [--all] [node1] [node2] [....]
启动群集节点(也会同时启动pacemaker和corosync)
[root@rs1 corosync]# pcs cluster start --all
rs1: Starting Cluster (corosync)...
rs2: Starting Cluster (corosync)...
rs1: Starting Cluster (pacemaker)...
rs2: Starting Cluster (pacemaker)...

查看群集状态


[root@rs1 corosync]# pcs status
Cluster name: cluster1
WARNINGS:
No stonith devices and stonith-enabled is not false
Stack: corosync
Current DC: rs1 (version 1.1.20-5.el7-3c4c782f70) - partition with quorum
Last updated: Thu May  7 21:56:25 2020
Last change: Thu May  7 21:54:40 2020 by hacluster via crmd on rs1
2 nodes configured
0 resources configured
Online: [ rs1 rs2 ]
No resources
Daemon Status:
  corosync: active/disabled
  pacemaker: active/disabled
  pcsd: active/enabled

创建完群集之后,pcs会在每个节点上生成一个GUI的东西,通过ip地址可以访问gui页面进行管理(用户名是hacluster,地址采用https协议加密,端口号是2224)

image.png

image.png也可用图形化界面来管理集群


相关文章
|
Linux Docker 容器
【docker】构建自己的CentOS
【docker】构建自己的CentOS
|
存储 Apache
Centos7.7下建立无共享存储的WEB集群(pcs+pacemaker+corosync)
Centos7.7下建立无共享存储的WEB集群(pcs+pacemaker+corosync)
83 0
|
Linux
Centos7环境下pcs创建集群VIP一直STOP怎么办?
Centos7环境下pcs创建集群VIP一直STOP怎么办?
277 0
|
Linux 开发工具 Docker
Docker | dockerfile构建centos镜像,以及CMD和ENTRYPOINT的区别
Docker | dockerfile构建centos镜像,以及CMD和ENTRYPOINT的区别
360 0
Docker | dockerfile构建centos镜像,以及CMD和ENTRYPOINT的区别
|
关系型数据库 MySQL 应用服务中间件
Docker 基于centos构建nginx镜像 构建MySQL镜像
三题Docker进阶的题目,能运用到之前学的docker基础命令,拉取docker镜像,使用Dockerfile文件构建镜像,Dockerfile常用指令,以后台运行的方式启动容器,以交互式的方式启动容器,docker build构建镜像,docker build -P分配端口,-d -it 等docker build参数,运用之前所学的基础命令做个总结。
Docker 基于centos构建nginx镜像 构建MySQL镜像
|
大数据 Linux 虚拟化
基于mac构建大数据伪分布式学习环境(一)-安装CentOS系统
本篇主要介绍如何通过Mac Vmware来安装CentOS系统
167 0
基于mac构建大数据伪分布式学习环境(一)-安装CentOS系统
|
Kubernetes Linux Go
centos(7.9) minikube(v1.28.0) kaniko 构建镜像
centos(7.9) minikube(v1.28.0) kaniko 构建镜像
|
Linux
linux篇-Centos7构建NFS服务器和连接
linux篇-Centos7构建NFS服务器和连接
182 0
linux篇-Centos7构建NFS服务器和连接
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第16天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括配置系统源、安装 SQL Server 2019 软件包以及数据库初始化,确保 SQL Server 正常运行。
|
2月前
|
SQL 存储 Linux
从配置源到数据库初始化一步步教你在CentOS 7.9上安装SQL Server 2019
【11月更文挑战第8天】本文介绍了在 CentOS 7.9 上安装 SQL Server 2019 的详细步骤,包括系统准备、配置安装源、安装 SQL Server 软件包、运行安装程序、初始化数据库以及配置远程连接。通过这些步骤,您可以顺利地在 CentOS 系统上部署和使用 SQL Server 2019。