CentOS 7下加建筑大可用集群

实验证实:

正文为稀光机械实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为192.168.122.169

实验环境:

  • 宿主机系统   :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

图片 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地图