-
- 环境: RHEL 7.2, 新建三个KVM虚拟机
物理机vmware的配置如下:
三个KVM虚拟机和主机通信的时候用的就是virbr0来通信
更新/etc/hosts文件内容如下: 【包括主机hosts和三个KVM node的hosts】
-
- 在每个节点上安装pcs
# yum install pcs -y
每个KVM虚拟机都有一个用户 hacluster,修改其密码,比如node1:
# id hacluster
# echo redhat | passwd --stdin hacluster
-
- 启动pcsd服务:
# systemctl start pcsd; systemctl enable pcsd
-
- 在任意一个KVM虚拟机上做如下hacluster 验证操作:
# pcs cluster auth node1 node2 node3
-
- 接下来开启配置HA集群:
在主机上firefox 到任意一个节点的2224端口:
# firefox https://node1:2224 &
-
- 添加cluster nodes:
-
- 为了测试使用,暂时关闭下面的功能
- stonith
- 关闭仲裁---仲裁定义:集群要是能存活,至少要有几个节点运行,这个最少的节点数叫做仲裁quorum,关闭它,可以保证即时有一个存活也可以工作。
- 为了测试使用,暂时关闭下面的功能
##########################################################################################################################
配置MySQL高可用
-
- 配置共享存储,共享目录 /db
# mkdir /db
# vim /etc/exports
/db *(rw,sync)
-
- 启动NFS-server服务
# systemctl start nfs-server
# systemctl enable nfs-server
-
- 每个节点上测试:
# showmount -e pacemaker
-
- 安装数据库软件:
# yum install mariadb-server -y
修改下编码:
# vim /etc/my.cnf
character-set-server=utf8
-
- 让集群去启动数据库,安装完软件后,不要启动数据库。数据库目录里面暂时没有数据的。
修改共享存储的权限,可以让数据库读写
# chown mysql.mysql /db
-
- 测试共享目录挂载是否可用:分别在node1,node2,node3上测试:
-
- 测试成功后,卸载并停止服务;
-
- 接下来添加资源:
1.VIP 2.MySQL 3.共享存储 |
-
- VIP
-
- mysql
-
- 共享存储
-
- 创建成功之后,检查状态,发现各个服务运行在不同的节点上
# crm_mon -1
-
- 下面创建group,注意顺序:
-
- 按顺序修改: 共享文件系统和数据库服务
-
- 最终的group状态:
-
- 再次查询crm_mon 看各个服务的运行状态: 被group了之后,所有的资源都运行在一个node上。
-
- 下面测试VIP是否好用:在node1上创建数据库,看能否通过VIP登录并查询该数据库
-
- 连接VIP测试:
-
- 接下来模拟node1 有问题:所有的资源会转到node2
# pcs cluster standby node1
##########################################################################################################
配置keystone高可用
-
- 主要是修改配置文件,保证配置文件的一致
- 高可用节点nodes之间的配置文件要保持一致
- 修改每个节点node 的日志权限
- 在集群里添加资源: VIP2 来对应keystone这个服务,之前的mysql是VIP
- 配置keystone服务的时候,用VIP2来做认证地址
- rabbitmq HA 同理
- 主要是修改配置文件,保证配置文件的一致