菜单

[图文][提供方向脚本] CentOS 7 Fencing+Pacemaker三节点搭建高可用集群

2018年11月20日 - LINUX

试行验证:

本文为半华机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为192.168.122.169

试行环境:

图片 1

试验步骤:

Hadoop集群搭建
http://www.linuxidc.com/Linux/2014-10/107471.htm

宿主机上操作:主要涉嫌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
    

    ### 确认模块搜索路径 图片 2 确认监听方式 图片 3 确认监听IP地址及端口 图片 4 确认监听网卡接口 图片 5 确认密钥路径 图片 6 确认后端虚拟化模块 图片 7 确认Libvirt URL 图片 8 是否替换文件 图片 9

    ### 设置开机自启、开启服务并查阅状态

    # systemctl enable fence_virtd && systemctl start fence_virtd && systemctl status fence_virtd
    
  7. ### 验证fencevirtd 查询有状态的虚拟机

    # fence_xvm -o list
    

    ###  查询结果如下图: 图片 10

  8. ### Fencing操作 关闭所有曾经开启之虚拟机

    # 启动(on)、关机(off)、重启(reboot)、状态获取(status)
    # fence_xvm -o off -H HA1
    # fence_xvm -o off -H HA2
    # fence_xvm -o off -H HA3
    

    ### 再次查询,结果使下图: 图片 11

Zookeeper+Kafka集群安装
http://www.linuxidc.com/Linux/2014-09/107386.htm

kvm虚拟机上操作:主要干Ntp服务并同Pacemaker集群的搭建

  1. ### 配置kvm虚拟机

  2. ### 安装ntpd、pcs等软件

    # yum install -y ntp pcs pacemaker corosync fence-agents-all resource-agents
    
  3. ### 配置ntpd 与宿主机上操作看似,此处不再进行

    1 # timedatectl set-timezone Asia/Shanghai
    2 
    3 # sed -i s/^server.*// /etc/ntp.conf
    4 # echo "server 192.168.43.177 iburst" >> /etc/ntp.conf
    5 # echo "SYNC_HWCLOCK=yes" >> /etc/sysconfig/ntpdate
    6 # 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资源

    1 # pcs stonith create fence1 fence_xvm multicast_address=225.0.0.12
    2 # pcs stonith create fence2 fence_xvm multicast_address=225.0.0.12
    3 # 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
    

     

     

Keepalived高可用集群搭建
http://www.linuxidc.com/Linux/2014-09/106965.htm

CentOS-6.4-minimal版中Apache-2.2.29与Tomcat-6.0.41实现集群
http://www.linuxidc.com/Linux/2014-09/107336.htm

Linux下集群的搭建
http://www.linuxidc.com/Linux/2014-09/106963.htm

Hadoop集群部署Hbase并开kerberos
http://www.linuxidc.com/Linux/2014-09/106213.htm

同一、安装集群软件

要软件pcs,pacemaker,corosync,fence-agents-all,如果用安排相关服务,也只要安装相应之软件

其次、配置防火墙

1、禁止防火墙和selinux

  1. # systemctl disable firewalld
  2. # systemctl stop firewalld

修改/etc/sysconfig/selinux确保SELINUX=disabled,然后实施setenforce 0或者reboot服务器因为生效

2、设置防火墙规则

  1. # firewall-cmd –permanent
    –add-service=high-availability
  2. # firewall-cmd
    –add-service=high-availability

 三、各节点内主机名相解析

独家修改2雅主机名分别吗node1和node2,在centos 7中一直改动/etc/hostname加入本机主机名和主机表,然后再度开网络服务即可。

  1. #vi /etc/hostname
  2. node1
  3.  
  4. #systemctl restart network.service
  5. #hostname
  6. node1

 配置2令主机的主机表,在/etc/hosts中在

  1. 192.168.122.168 node1
  2. 192.168.122.169 node2

 四、各节点内时一起

于node1和node2分别展开时间并,可以采用ntp实现。 

  1. [root@node1 ~]# ntpdate 172.16.0.1//172.16.0.1 为时间服务器

五、各节点内配置ssh的无密码密钥访问。

下面的操作需要以相继节点上操作。

  1. # ssh-keygen -t rsa -P ‘’
    #这个转变一个密码为空的公钥和一个密钥,把公钥复制到对方节点上即可
  2. # ssh-copy-id -i /root/.ssh/id_rsa.pub
    root@node2 #对方主机名用登录用户称

星星贵主机都使互相可以通信,所以个别雅主机都得互相生成密钥和复制公钥,相互的节点上的hosts文件是都使分析对方的主机名,
192.168.122.168 node1 192.168.122.169 node2 

  1. # ssh node2 ‘date’;date
    #测试一下是否业已互信 

六、通过pacemaker来治本强可用集群

1、创建集群用户

为方便各级节点内通信与配置集群,在每个节点上缔造一个hacluster的用户,各个节点上之密码要是和一个。

  1. # passwd hacluster
  2.  
  3. Changing password
    for user
    hacluster.
  4. New password:
  5. Retypenew password:
  6. passwd: all authentication tokens updated
    successfully.

2、设置pcsd开机自启动

  1. # systemctl start pcsd.service
  2. # systemctl enable pcsd.service

3、集群各节点内展开验证

  1. # pcs cluster auth node1 node2Username: hacluster
    Password: node1: Authorized node2: Authorized

4、创建并启动集群

  1. [root@z1 ~]# pcs cluster setup
    –start
    –name my_cluster
    node1 node2
  2.  
  3. node1:Succeeded
  4. node1:StartingCluster…
  5. node2:Succeeded
  6. node2:StartingCluster…

5、设置集群从启动

  1. # pcs cluster enable –all

6、查看集群状态信息

  1. [root@z1 ~]# pcs cluster status

7、设置fence设备

这个可以参见<Red
Hat Enterprise Linux 7
High Availability Add-On Reference>

corosync默认启用了stonith,而当前集群并从未相应的stonith设备,因此此默 认配置时还不可用,这足以经过如下命令验证:

  1. #crm_verify -L -V

好经如下面发号施令禁用stonith:

  1. #pcs property set
    stonith-enabled=false(默认是true)

8、配置存储

强可用集群既好下当地磁盘来构建纯软件之镜像型集群系统,也可以使用特别的共享磁盘装置来构建大的共享磁盘型集群系统,充分满足客户之不等需要。

共享磁盘主要有iscsi或DBRD。本文并不曾动共享磁盘。

9、配置浮点IP

不论集群服务以哪运行,我们设一个定位的地址来提供服务。在此我选192.168.122.101用作转变IP,给它得到一个好记的名
ClusterIP 并且告诉集群 每30秒检查她一样浅。

  1. # pcs resource create VIP ocf:heartbeat:IPaddr2
    ip=192.168.122.170 cidr_netmask=24 op monitor interval=30s
  2. # pcs update VIP op monitor interval=15s

更多详情见要继续阅读下一样页的精彩内容
http://www.linuxidc.com/Linux/2014-10/107698p2.htm

图片 12

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图