[图文][提供可行性脚本] CentOS 7 Fencing+Pacemaker三节点搭建高可用集群
实验说明:
实验环境:
宿主机系统 :Fedora 28 WorkStation
虚拟机管理器 :Virt-Manager 1.5.1
虚拟机配置 :ha1 CentOS 7.2 1511 (minimal) virbr0: 192.168.122.57
ha2 CentOS 7.2 1511 (minimal) virbr0: 192.168.122.58
ha3 CentOS 7.2 1511 (minimal) virbr0: 192.168.122.59
实验步骤:
宿主机上操作:主要涉及ntp服务器的搭建以及fencing的配置
确保宿主机系统是联网的,配置网络请参考 此链接
安装 virt-manager
# dnf install virt-manager libvirt
使用virt-manager创建kvm虚拟机并配置kvm虚拟机 请参考 此链接
安装fence、ntpd等软件
# dnf install -y ntp fence-virtd fence-virtd-multicast fence-virtd-libvirt fence-virt*
配置ntpd
设置区时为上海# timedatectl list-timezones | grep Shanghai
# timedatectl set-timezone Asia/Shanghai修改ntp配置文件
# 删除原配置中的相关配置项
# sed -e '/^server/d' -e '/^#server/d' -e '/^fudge/d' -e '/^#fudge/d' -i /etc/ntp.conf # 在结尾添加ntp服务器配置
# sed -e '$a server 127.127.1.0' -e '$a fudge 127.127.1.0 stratum' -i /etc/ntp.conf设置开机自启、开启服务并查看状态
# systemctl enable ntpd.service && systemctl start ntpd.service && systemctl status ntpd.service
ntpq -c peers
ntpq -c assoc
timedatectl配置fence-virtd
创建 /etc/cluster 文件夹
# mkdir -p /etc/cluster
生成fence_xvm.key文件
# echo fecb9e62cbcf4e54dcfb > /etc/cluster/fence_xvm.key
初始化fence_virtd
# fence_virtd -c
确认模块搜索路径
确认监听方式

确认监听IP地址以及端口

确认监听网卡接口

确认密钥路径

确认后端虚拟化模块

确认Libvirt URL

是否替换文件
设置开机自启、开启服务并查看状态# systemctl enable fence_virtd && systemctl start fence_virtd && systemctl status fence_virtd
验证fencevirtd
查询所有状态的虚拟机# fence_xvm -o list
查询结果如下图:

Fencing操作
关闭所有已开启的虚拟机# 启动(on)、关机(off)、重启(reboot)、状态获取(status)
# fence_xvm -o off -H HA1
# fence_xvm -o off -H HA2
# fence_xvm -o off -H HA3再次查询,结果如下图:

kvm虚拟机上操作:主要涉及Ntp服务同步和Pacemaker集群的搭建
配置kvm虚拟机
安装ntpd、pcs等软件
# yum install -y ntp pcs pacemaker corosync fence-agents-all resource-agents
配置ntpd
与宿主机上操作类似,此处不再展开# timedatectl set-timezone Asia/Shanghai # sed -i s/^server.*// /etc/ntp.conf
# echo "server 192.168.43.177 iburst" >> /etc/ntp.conf
# echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpdate
# systemctl enable ntpd.service && systemctl start ntpd.service && systemctl status ntpd.service查询当前时间设置
# timedatectl
配置Pacemaker集群
检查是否安装Pacemaker软件创建Fencing设备密钥Key
# mkdir -p /etc/cluster
# echo fecb9e62cbcf4e54dcfb > /etc/cluster/fence_xvm.key设置hacluster用户密码
# echo 000000|passwd --stdin hacluster
创建Pacemaker集群
创建时需要进行授权认证,以及需要添加到集群的主机名# pcs cluster auth ha1 ha2 ha3 -u hacluster -p 000000 --force
设置集群的名称时需要指定集群名称和需要添加到集群的主机名
# pcs cluster setup --force --name openstack-ha ha1 ha2 ha3
设置在集群所有节点启动时启用corosync和pacemaker
# pcs cluster enable --all
设置在集群所有节点都开启集群
# pcs cluster start --all
查询集群状态
# pcs status
为了实现对虚拟机的Fencing操作,需要为Pacemaker集群配置Stonith资源
# pcs stonith create fence1 fence_xvm multicast_address=225.0.0.12
# pcs stonith create fence2 fence_xvm multicast_address=225.0.0.12
# pcs stonith create fence3 fence_xvm multicast_address=225.0.0.12查询集群状态
[root@ha1 ~]# pcs status
Cluster name: openstack-ha
Stack: corosync
Current DC: ha1 (version 1.1.18-11.el7_5.3-2b07d5c5a9) - partition with quorum
Last updated: Thu Aug 16 15:30:59 2018
Last change: Thu Aug 16 12:44:03 2018 by root via cibadmin on ha1 3 nodes configured
3 resources configured Online: [ ha1 ha2 ha3 ] Full list of resources: fence1 (stonith:fence_xvm): Started ha1
fence2 (stonith:fence_xvm): Started ha2
fence3 (stonith:fence_xvm): Started ha3 Daemon Status:
corosync: active/enabled
pacemaker: active/enabled
pcsd: active/enabled查询当前 Pacemaker 集群中的 Stonith 资源
[root@ha1 ~]# pcs stonith show
fence1 (stonith:fence_xvm): Started ha1
fence2 (stonith:fence_xvm): Started ha2
fence3 (stonith:fence_xvm): Started ha3
[图文][提供可行性脚本] CentOS 7 Fencing+Pacemaker三节点搭建高可用集群的更多相关文章
- Corosync+Pacemaker+crmsh构建Web高可用集群
一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...
- CentOS 7下搭建高可用集群
一 .安装集群软件 必须软件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相关服务,也要安装对应的软件. 二.配置防火墙1.禁止防火墙和selinux# ...
- zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群
一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...
- corosync+pacemaker高可用集群
高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术.简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点. ...
- [ Openstack ] Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs 高可用集群
目录 Openstack-Mitaka 高可用之 概述 Openstack-Mitaka 高可用之 环境初始化 Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...
- corosync+pacemaker and drbd实现mysql高可用集群
DRBD:Distributed Replicated Block Device 分布式复制块设备,原理图如下 DRBD 有主双架构和双主架构的,当处于主从架构时,这个设备一定只有一个节点是可以读写的 ...
- 配置高可用集群(实验) corosyne+pacemaker
环境准备: 一准备三个虚拟机,把/etc/hosts/文件配置好 192.168.43.9 node0 ...
- centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课
centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课 heartbeat是Linu ...
- CentOS7/RHEL7 pacemaker+corosync高可用集群搭建
TOC \o "1-3" \h \z \u 一.集群信息... PAGEREF _Toc502099174 \h 4 08D0C9EA79F9BACE118C8200AA004B ...
随机推荐
- 小试JVM工具
一.前言 工欲善其事必先利其器,jdk自带了很多工具,利用好这些工具能够帮我们获取想要的数据(运行日志.异常堆栈.GC日志.线程快照.堆转储快照等),从而快速的分析数据.定位问题. 二.jps:虚拟机 ...
- P3809【模板】后缀排序
传送门 深入理解了一波后缀数组,这东西真的很妙诶,自己推感觉完全不现实,看来只能靠背代码了 这段时间就多敲敲,把板子记熟吧 代码: #include<cstdio> #include< ...
- 结束线程方法2 Java提供的中断机制
package com.mozq.thread.interrupt; /** * 注意:调用interrupt()方法,并不会结束线程. * 结束线程的语义:需要我们自己使用3个中断方法构建. * * ...
- Jquery | 基础 | 项目实践
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【js】我们需要无限滚动列表吗?
无限滚动列表,顾名思义,是能够无限滚动的列表(愿意是指那些能够不断缓冲加载新数据的列表的).但是,我们真的需要这样一个列表吗?在PC端,浏览器的性能其实已经能够满足海量dom节点的渲染刷新(笔者经过简 ...
- netty与MQ使用心得
最近在做分布式的系统,使用netty与mq进行远程RPC调用,现将心得经验总结一下. 我们公司的服务器在云端机房,在每一个店面有一个服务器,店面服务器外网无法访问. 我们的做法是店面服务器在启动时与云 ...
- 17999 Light-bot 模拟 + kmp求循环节
http://acm.scau.edu.cn:8000/uoj/mainMenu.html 17999 Light-bot 时间限制:1000MS 内存限制:65535K 提交次数:0 通过次数:0 ...
- SQL Server 查看列,添加列,修改列,删除列
查看表:exec sp_help 表名 查看列: exec sp_columns 表名 查看列:select * from information_schema.columns where table ...
- Wordpress 之 Rewrite Rules
----------------------------------------------------------------- 场景描述: 自定义wp主题中,添加了个关于页面(about.php) ...
- 【5岁小孩都会】vs2013如何进行单元测试
1,如何进行单元测试呢,打开vs 新建一个项目 然后在解决方案右键点击,如下图所示: 2,左侧点击 测试 ->单元测试项目 3)点击确定,如下图 4)在当前代码上右键点击,调试 或者运行测试 ...