HA Pacemaker (centos 7)搭建实验-解析


前提概念

    1.Centos7和Red Hat Enterprise Linux 7 版本使用Pacemaker替换了rgmanager来进行集群资源的管理以及从节点失败中恢复。

    2.pacemaker 是一种集群管理器,pcs为它的配置系统,同类的集群配置和管理工具有ccs、ricci、luci

        pcs优点:用命令行来进行管理,操作简单;可以轻松初始化集群并使其开始运行;可配置集群选项;可以轻松对资源进行修改,增减,便于梳理集群资源间的关系。


 环境准备

   要求:centos7系统的服务器,要处于同一局域网,可相互连通,yum源可用

       1.可以用kvm 创建四台虚拟的centos7系统的服务器。如果不确定系统版本,可用查看命令

       cat   /etc/redhat-release

       CentOS Linux release 7.3.1611 (Core)


       2.关闭防火墙iptables或添加防火墙规则,因为防火墙会在实验过程中,阻挡程序,如果是实验建议关闭防火墙(任选)

       参与操作的服务器皆如此

       systemctl stop iptables;systemctl disable iptables

      或

       -----------------------------------------------------------------------------------------------------------------------------------------------------------

       sed -ri '/SELINUX=/cSELINUX=disabled'  /etc/selinux/config

       setenforce 0

       firewall-cmd --permanent --add-service=high-availabilitty

       firewall-cmd --reload

       firewall-cmd  --permanent --list-all

       firewall-cmd  --permanent --add-service=http

       firewall-cmd   --permanent  --add-service=https

       firewall-cmd    --reload

      ---------------------------------------------------------------------------------------------------------------------------------------------------------------

       

        3.为了操作,便于观察,可以更改主机名和添加解析【可选】

         vim   /etc/hostname   改主机名,每台皆如此

         vim   /etc/hosts 添加解析     

         scp  /etc/hosts  AAA:/etc/hosts     将解析推送到所有服务器

         4.建立时间同步(每台皆如此)

          yum -y install ntp  

          ntpdate cn.pool.ntp.org

          5.建立多机互信(任选一台)

          ssh-keygen   -f  /root/.ssh/id_rsa  -N  " "     创建密钥

          mv  /root/.ssh/{id_rsa.pub,authorized_keys}     改变密钥文件名,authorized_keys为固定格式,可被系统识别

          scp   -r  /root/.ssh  AAA:/root/      推送密钥

          date;ssh AAA "date" ;ssh BBB  "date";ssh  CCC "date"   检测时间同步
          时间相同即成功同步


一、安装ISCSI,建立块的共享

           1.提取任意一台作为ISCSI的服务端

           (添加一块硬盘,不需要做lvm,目的是为了将块设备共享出去,相比于文件共享其空间更大,可由用户进行格式化)

               yum -y install targetcli    安装服务端

           2. 其他服务器安装客户端

                yum -y install scsi-target-utils

           3.ISCS 的服务端操作

              targetcli                                                       进入iscsi操作命令

              cd backstores/block           

              create   san1   /dev/vdb       

              cd /iscsi

              create iqn.2018-01.com.dada:san1         iqn 有固定文件格式  开头iqn、时间、域、一般写公司名(任意):任意

              cd   iqn.2018-01.com.dada:san1/tpg1/luns

              create   /backstores/block/san1    

              cd  ..

   tpg1> set attribute demo_mode_write_protect=0
              set attribute generate_node_acls=1
              set attribute cache_dynamic_acls=1

              cd   /

              saveconfig ( 保存 )               clearconfig confirm=True (重置命令)

              exit    退出

              成功 结果如下,块设备已被共享出去


HA Pacemaker (centos 7)搭建实验-解析_第1张图片


         4.ISCSI客户端操作:     【注意:IP 为ISCSI服务端的ip地址,此文中简写】

            iscsiadm  --mode discoverydb --type sendtargets --portal    IP   --discover                         发现块设备,此IP 为ISCSI服务端的ip地址

            iscsiadm  --mode node  --targetname iqn.2018-01.com.abc:targetone --portal   IP  -l         登录块设备

            iscsiadm  --mode node  --targetname iqn.2018-01.com.abc:targetone --portal   IP  -u        登出块设备,在不需要时登出


HA Pacemaker (centos 7)搭建实验-解析_第2张图片

           {sda即为服务端共享出的块设备,在服务端被自动命名为sda}


二、创建集群corosync

            Corosync用于高可用环境中提供通讯服务,位于高可用集群架构中的底层,为各节点之间提供心跳信息传递

           1.在每台ISCSI的服务端执行:

               yum -y install pcs pacemaker corosync    fencen-agents-all          必备软件  

              systemctl start pcsd;systemctl  enable pcsd                                    开启pcsmaker集群资源管理工具,并设为开机自启


HA Pacemaker (centos 7)搭建实验-解析_第3张图片

            对每台设置相同的密码,默认用户hacluster


            2.此时每台服务都为集群的节点,在其中的一个节点,进行验证

            pcs cluster auth  AAA    BBB    CCC                           AAA之类为各节点的主机名

                输入用户名    hacluster

                密码                为各节点给hacluster设置的密码

            再次验证,无需输入,Already节点设置成功


           

            3. 在任意节点操作:

            pcs    cluster setup  --start  --name    you_cluster  \          --name后给集群起任意名字

            > AAA  BBB   CCC                     创建了一个名为you_cluster 的包含节点AAA、BBB、CCC的集群

            pcs cluster  enable  --all              将集群设为开机自启

            pcs cluster status                         查看集群状态    Online 为正常使用



    

          4.如果没有Fence,建议禁用STONITH

             pcs property set stonith-enabled=false

          正常集群Quorum(规定)需要半数以上的票数,如果是双节点的集群
             pcs property set no-quorum-policy=ignore

             crm_verify   -L  -V  检验集群是否正常,无输出即为正常

三、添加各种资源

       pcs resource delete 资源名        删除资源

       pcs resource show                     查看资源                    pcs status

           

           1.添加虚拟ip资源 

            pcs resource create WebVip ocf:heartbeat:IPaddr2 \      IPaddr2 为pacemker 的heartbeat模块的一部分

            ip=192.168.122.100  \            此ip为虚拟ip ,避免与真实ip冲突

            cidr_netmask=24 \                  设定掩码

            --group   WebGroup                将此资源添加到WebGroup资源组

            pcs status  查看

            出现        Resource Group: WebGroup
                            WebVip    (ocf::heartbeat:IPaddr2):    Started AAA

            为资源添加成功,started 为资源正常使用,stop资源停用

            2.创建LVM资源

            (1)任选一个节点创建lvm逻辑卷

             pvcreate /dev/sda
             vgcreate vghttp /dev/sda
             lvcreate -L 10G -n lvhttp vghttp

             mkfs.xfs  /dev/vghttp/lvhttp

           

             HA Pacemaker (centos 7)搭建实验-解析_第4张图片


              (2)所有节点操作

                 lvmconf --enable-halvm --services --startstopservices    开启功能

                 vim /etc/lvm/lvm.conf          更改LVM配置

                 volume_list = [ "cl" ]     设定所有非集群使用的vg,cl为vg名

                 dracut -H -f /boot/initramfs-$(uname -r),img  $(uname -r)    启用配置

                 reboot                                   对节点进行重启

                 lvscan 发现/dev/vghttp/lvhttp 状态为inactive 为成功


            (3)创建资源

               pcs resource create WebLvm ocf:heartbeat:LVM  \              WebLvm为自定义resource name

               volgrpname=vghttp  \                  vghttp为真实的vg名

               exclusive=true

               --group WebGroup                     将此资源添加到WebGroup资源组


             




            3.apache配置

           (1)各节点

            yum -y install httpd wget   【注意:http不可这时启动】

           ============================================

          
           SetHandler server-status
           Order deny,allow
           Deny from all
           Allow from 127.0.0.1
                                                             将此追加到/etc/httpd/conf/httpd.conf

           ============================================

                                                                                 可将更改后的文件发送到各节点


           4.创建文件系统资源

           pcs resource create WebFs ocf:heartbeat:Filesystem  \

           device="/dev/vghttp/lvhttp"  \                        指定块设备设备

           directory="/var/www/html"  \                         指定挂载文件

           fstype="xfs"   \                                                指定格式

           --group WebGroup                                        指定资源组


           5.创建apache资源

           pcs resource create Website apache  \

           configfile="/etc/httpd/conf/httpd.conf"  \             指定配置文件

           statusurl="http://127.0.0.1/server-status"  \       指定监视url

           --group WebGroup                                              指定资源组                                  


    HA Pacemaker (centos 7)搭建实验-解析_第5张图片




四、测试

 

     关闭资源所在节点,资源移动


HA Pacemaker (centos 7)搭建实验-解析_第6张图片

你可能感兴趣的:(Linux中的各类服务)