实验概述:
1、规划设计
2、群集组件安装
3、群集节点准备
4、群集的创建

规划设计

规划设计的考虑点
1、软件
》群集类型:A/P,A/A
》操作系统:Redhat/CentOS,Suse,Ubuntu…
》群集软件:Pacemaker+Corosync…
》群集配置:群集名称、资源依赖、次序等约束

2、硬件
》服务器:
HCL、带外管理、冗余电源…
》网络:
.将业务、心跳、存储、带外管理网络分开
.网卡的捆绑、冗余
》存储:
.控制器、接口、RAID级别
.空间规划

实验使用这样的组合:
简单实验群集
群集资源管理使用Pacemaker,
节点之间的通信、成员关系使用Corosync,
对于群集的管理使用pcs

群集组件安装

由于生产中要安装大量包,有时候网络安装可能不是很好的选择,我们可以配置yum使用本地CDROM安装来提高效率。
给虚拟机一个CDROM

cd /etc/yum.repos.d/

这里是内置的yum仓库,我们把他们移走,只保留本地的

mkdir bak
mv CentOS-* bak/
cp bak/CentOS-Media.repo .
vi CentOS-Media.repo

把里面改成enabled=1,这样可以离线安装DVD ISO的东西。前提是DVD mount在/media/CentOS/下。
这个目录默认是没有的,创建挂载

mkdir -p /media/CentOS/
mount /dev/cdrom /media/CentOS/
yum list

安装Pacemaker
注意node1和node2不能同时开启,cd会有写保护,导致mount不进去。

yum -y install pacemaker corosync pcs psmisc policycoreutils-python fence-agents-all
yum -y update  //有网络条件建议更新
corosync  传递信息时可以通过配置文件来定义信息传递的方式和协议
pacemaker 用于高可用群集资源管理
pcs CRM的管理接口工具
psmisc 包含进程管理的工具
policycoreutils-python 包含用于管理SELinux环境的管理工具
fence-agents-all RedHat Cluster的Fence代理

群集节点准备

主机win10企业版2016
vmware workstation 15 player
在vmware里安装虚拟机node1,node2。 centos7 2G 40G

配置主机名及解析
设置node1ip为:192.168.160.11
设置node2ip为:192.168.160.12
设置ntp服务器ip为:192.168.160.20
设固定ip要看下vmnet8会划分给虚拟机一个网段,只有在这个范围内才是有效的,具体是多少可以ipconfig查看vmnet8的ip,一个网段。
以node1为例,node2一样操作

hostnamectl set-hostname node1
vi /etc/hosts
最后两行加上
192.168.160.11 node1
192.168.160.12 node2

配置SSH Key互信
除了到node2不需要密码,到自己也不需要密码

ssh-keygen -t rsa -P ''
ssh-copy-id -i .ssh/id_rsa.pub root@node2
ssh-copy-id -i .ssh/id_rsa.pub root@node1

配置时钟
群集中各个节点的时钟要一致
所有节点安装ntp

yum install ntp

在ntp服务器

vi /etc/ntp.conf

在restrict ::1下面加一行
restrict 192.168.0.0 mask 255.255.0.0

systemctl restart ntpd
systemctl enable ntpd
systemctl stop firewalld.service
systemctl disable firewalld.service

在node1及node2

systemctl start ntpd
systemctl enable ntpd
ntpdate 192.168.160.20

设置每30分钟同步一次时钟

crontab -e

加一行

*/30 * * * * /sbin/ntpdate time.windows.com &> /dev/null

配置iptables防洪墙允许集群组件运行
需要启用以下端口:
TCP:2224、3121、21064
UDP:5405
DLM:21064
这些在防火墙高可用方案里都有,不用一个一个弄

firewall-cmd --permanent --add-service=high-availability
firewall-cmd --reload

配置pcs守护程序
pcs软件包括守护程序、命令行工具、GUI工具
所有节点

systemctl start pcsd
systemctl enable pcsd
有以下命令
cluster	    配置集群选项和节点
resource	创建和管理集群资源
stonith	    将fence设备配置为与Pacemaker一同使用
constraint	管理资源限制
property	设定Pacemaker属性
status	    查看当前集群和资源状态
config	    以用户可读格式显示完整集群配置

配置hacluster账户密码
安装群集软件包时,会创建一个账户hacluster,它的密码是禁用的。
此账户用于群集间通信时的身份验证
必须在每个节点上设置密码以启用此账户,对于群集节点要用到hacluster这个用户远程登录其他主机。
通过管道设置密码,所有主机都要做

echo "qiushan" | passwd --stdin hacluster

集群配置文件

配置文件为corosync.conf和cib.xml。没启动群集前没有。

ls /etc/corosync
ls /var/lib/pacemaker/cib/cib.xml

corosync.conf文件提供corosync使用的集群参数
cib.xml存储集群配置及所有资源的信息。pcsd守护程序负载在整个集群节点上同步cib的内容。

群集创建

主要有三个步骤:
1、认证群集节点
2、配置同步群集节点
3、在节点中启动群集服务

任何一个节点皆可:

pcs cluster auth node1 node2
hacluster
qiushan

物理机kvm集群 kvm集群搭建_CentOS


配置文件/etc/corosync/corosync.conf

通过pcs的群集命令来启动所有节点的pcs、pacemaker、corosync时,需要依据这个文件启动。

pcs cluster start --all

可以通过pcs创建配置文件,指明集群名称,集群节点

pcs cluster setup --name cluster1 node1 node2

物理机kvm集群 kvm集群搭建_配置文件_02


此时在/etc/corosync下创建了corosync.conf

启动所有节点

pcs cluster start --all
pcs  status

当创建群集以后,在每个节点上都会启动一个GUI的pcs的管理工具,2224端口,使用https来访问。打开win10浏览器。

https://192.168.160.11:2224

用hacluster登录

可以用GUI管理群集

物理机kvm集群 kvm集群搭建_kvm_03

pcs cluster stop --all