实验说明:

实验环境:


宿主机系统   :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的配置

  1. 确保宿主机系统是联网的,配置网络请参考 此链接

  2. 安装 virt-manager

    # dnf install virt-manager libvirt
  3. 使用virt-manager创建kvm虚拟机并配置kvm虚拟机 请参考 此链接

  4. 安装fence、ntpd等软件

    # dnf install -y ntp fence-virtd fence-virtd-multicast fence-virtd-libvirt fence-virt*
  5. 配置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
  6. 配置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
  7. 验证fencevirtd
    查询所有状态的虚拟机

    # fence_xvm -o list

    查询结果如下图:

  8. 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集群的搭建

  1. 配置kvm虚拟机

  2. 安装ntpd、pcs等软件

    # yum install -y ntp pcs pacemaker corosync fence-agents-all resource-agents
  3. 配置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
  4. 配置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三节点搭建高可用集群的更多相关文章

  1. Corosync+Pacemaker+crmsh构建Web高可用集群

    一.概述: 1.1 AIS和OpenAIS简介 AIS应用接口规范,是用来定义应用程序接口(API)的开放性规范的集合,这些应用程序作为中间件为应用服务提供一种开放.高移植性的程序接口.是在实现高可用 ...

  2. CentOS 7下搭建高可用集群

    一 .安装集群软件 必须软件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相关服务,也要安装对应的软件. 二.配置防火墙1.禁止防火墙和selinux# ...

  3. zabbix 3.2 高可用实现方式二-pacemaker+corosync实现zabbix高可用集群

    一.pacemaker 是什么 1.pacemaker 简单说明 2.pacemaker 由来 二.pacemaker 特点 三.pacemaker 内部结构 1.群集组件说明: 2.功能概述 四.c ...

  4. corosync+pacemaker高可用集群

    高可用集群,是指以减少服务中断(如因服务器宕机等引起的服务中断)时间为目的的服务器集群技术.简单的说,集群就是一组计算机,它们作为一个整体向用户提供一组网络资源.这些单个的计算机系统就是集群的节点. ...

  5. [ Openstack ] Openstack-Mitaka 高可用之 Pacemaker+corosync+pcs 高可用集群

    目录 Openstack-Mitaka 高可用之 概述    Openstack-Mitaka 高可用之 环境初始化    Openstack-Mitaka 高可用之 Mariadb-Galera集群 ...

  6. corosync+pacemaker and drbd实现mysql高可用集群

    DRBD:Distributed Replicated Block Device 分布式复制块设备,原理图如下 DRBD 有主双架构和双主架构的,当处于主从架构时,这个设备一定只有一个节点是可以读写的 ...

  7. 配置高可用集群(实验) corosyne+pacemaker

    环境准备: 一准备三个虚拟机,把/etc/hosts/文件配置好                              192.168.43.9 node0                     ...

  8. centos HA高可用集群 heartbeat搭建 heartbeat测试 主上停止heartbeat服务 测试脑裂 两边都禁用ping仲裁 第三十二节课

    centos   HA高可用集群  heartbeat搭建 heartbeat测试  主上停止heartbeat服务  测试脑裂  两边都禁用ping仲裁  第三十二节课 heartbeat是Linu ...

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

     TOC \o "1-3" \h \z \u 一.集群信息... PAGEREF _Toc502099174 \h 4 08D0C9EA79F9BACE118C8200AA004B ...

随机推荐

  1. TYVJ1424占卜DIY

    Description lyd学会了使用扑克DIY占卜.方法如下:一副去掉大小王的扑克共52张,打乱后均分为13堆,编号1~13,每堆4张,其中第13堆称作“生命牌”,也就是说你有4条命.这里边,4张 ...

  2. VUE循环菜单

  3. B.小A与任务

    链接:https://ac.nowcoder.com/acm/contest/369/B 题意: 小A手头有 n 份任务,他可以以任意顺序完成这些任务,只有完成当前的任务后,他才能做下一个任务 第 i ...

  4. Linux、UNIX设置开机自动运行命令、脚本配置

    一般我们不建议人工部署开机自动启动的脚本.而是建议通过crontab 部署脚本监控,理由如下: 1.自动开机部署脚本不好定位问题,有可能导致主机重启过慢. 2.自动开机部署脚本不好定位问题,有可能导致 ...

  5. POJ - 2186  Popular Cows tarjain模板题

    http://poj.org/problem?id=2186 首先求出所有的强连通分量,分好块.然后对于每一个强连通分量,都标记下他们的出度.那么只有出度是0 的块才有可能是答案,为什么呢?因为既然你 ...

  6. idea中deployment点击加号没有出现artifact

    转载 在主页面打开ProjectStructure,点击图示的按钮或是按ctrl+shift+alt+s快捷键 打开ProjectStructure后,按照图示依次点击Facets->+号,在弹 ...

  7. 【转】常用邮箱的 IMAP/POP3/SMTP 设置

    POP3 POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网电子邮件的第 ...

  8. WebService学习之旅(六)使用Apache Axis2实现WebService客户端调用

    上节介绍了如何使用Axis2 发布一个WebService,Axis2除了为我们编写WebService应用带来了便利,也同样简化的客户端调用的过程,本节在上节的基础上使用Axis2自带的工具生成客户 ...

  9. MFC程序添加快捷键

    [问题提出]     有的程序需要自定义组合键完成一定功能,如何实现? [解决方法]     RegisterHotKey函数原型及说明:     BOOL RegisterHotKey(     H ...

  10. DataGridView使用技巧(七、设定列宽和行高自动调整)----.NET

    DataGridView使用技巧(七.设定列宽和行高自动调整)----.NET 1) 设定行高和列宽自动调整 [VB.NET]' 设定包括Header和所有单元格的列宽自动调整DataGridView ...