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


     

    一、集群信息... 4

    二、集群搭建... 4

    1、制作软件源... 4

    2、主机基础配置... 5

    3、集群基础环境准备... 7

    4、集群资源准备... 9

    5、资源配置... 11

    6constraint配置... 12

    7stonith配置... 13

    8、集群功能验证... 14

    三、集群常用命令及作用... 17

    1、验证群集安装... 17

    2、查看群集资源... 17

    3、使用群集脚本... 17

    4STONITH 设备操作... 17

    5、查看群集配置... 17

    6、管理群集... 18

      

    CentOS7/RHEL7高可用集群搭建

    一、集群信息

    使用光盘镜像安装好两台RHEL7.4系统的虚拟机,主机信息如下:

    主机名

    node1

    node2

    IP地址

    192.168.110.168

    192.168.110.169

    系统版本

    Red Hat Enterprise Linux Server release 7.4

    挂载镜像源

    rhel-server-7.4-x86_64-dvd.iso

     

    资源组

    ftp-group

    FTP-VIP192.168.110.10

    FTP-LVMvg_ftp

    FTP-FS/dev/vg_ftp/lv_ftp

    FTPvsftpd

     

    资源组

    tomcat-group

    TOMCAT-VIP192.168.110.20

    TOMCAT-LVMvg_tomcat

    TOMCAT-FS:/dev/vg_tomcat/lv_tomcat

    TOMCAT:tomcat

    二、集群搭建

    1、制作软件源

          挂载光盘

          导入key文件,列出可用源

      

    2、主机基础配置

          设置主机名

     

          关闭防火墙

     

          设置selinuxdisabled

     

          配置host文件

     

          节点间配置免密互信

     

          同步host文件

     

          编辑/etc/chronyd.conf文件,增加时间服务器一行

     

          配置时间服务器,使集群节点时间同步

     

          设置时间同步,timedatectl输出结果中NTP enabledyes,已开始同步

     

          查看chronyd状态,设置为开机启动

     

    3、集群基础环境准备

          软件安装

     

          修改集群管理账号密码

     

          启用并设置集群软件开机自启

     

          集群节点认证

     

          创建集群

     

    注:

    1、命令内容为创建集群的同时在各节点上启动集群并设置为启用状态

          查看当前集群状态

     

    注:

    1、   注意命令输出内容,在尚未配置stonith时,提示需将stonith-enabled属性更改为false(不启用)

     

    2Online:显示当前在线节点

    3Full list of resources:显示集群的资源列表

     

    4、集群资源准备

          文件系统创建

     

    创建并格式化/dev/mapper/vg_tomcat-lv_tomcat,文件系统格式为xfs

    创建并格式化/dev/mapper/vg_ftp-lv_ftp,文件系统格式为xfs

    注:

    使用共享存储的集群,在节点一上创建好vglv之后,节点二上执行命令pvscan --cache /dev/sdb可以将vglv信息同步至节点二上

          创建文件系统挂载点

     

          安装vsftp

     

          新增用户

    新增用户mcbadm,确保node2mcbadm用户的UIDnode1一致,将用户加入haclient集群管理组

     

          安装tomcat相关软件包

    lv_tomcat挂在至/home/mcbadm后,将tomcat软件包解压至共享盘上

     

          权限更改

    更改/home/mcbadm下文件属组及所属者为mcbadm

     

          创建tomcat.service文件

    编辑/usr/lib/systemd/system/tomcat.service文件,将tomcat服务移交systemd管理

     

    tomca.service文件放在/usr/lib/systemd/system/目录下,执行systemctl daemon-reload刷新

          开放halvm功能

    将集群的共享存储交由集群管理,执行以下命令,开放halvm功能

     

          备份lvm.conf文件

     

          编辑lvm.conf文件

     

    查看系统现有vg,放开volume_list的注释,将除过集群共享存储的vg加入中括号内

    注意:主机后续添加新的非集群管理vg,必须将vg名加入volume_list

          生成initramfs文件

    备份/boot/initramfs-$(uname –r).img文件

     

    执行以下命令,重新生成initramfs-$(uname –r).img文件

     

    重启主机

    5、资源配置

          创建资源组ftp-group

    FTP-VIP192.168.110.10/24

    FTP-LVMvg_ftp

    FTP-FS/dev/vg_ftp/lv_ftp/HOMExfs

    FTPvsftpd

    FTP:vsftpd

          创建资源组tomcat-group

    TOMCAT-VIP192.168.110.20/24

    TOMCAT-LVMvg_tomcat

    TOMCAT-FS/dev/vg_tomcat/lv_tomcat/home/mcbadmxfs

    TOMCATtomcat

     

          检查集群状态

     

    资源组创建完成,集群资源已在各节点上运行

    注:

    1、集群资源创建,资源创建需要一次完成,所有资源创建完成后加入资源组中,默认情况下,资源组内资源启停顺序为:按照从上往下的顺序依次启动;按照从下往上的顺序依次停止。

    2、因已配置vg_ftpvg_tomcat仅由集群激活启用,当FTP-FSTOMCAT-FS资源在节点一/二配置完成但尚未加入资源组内时,pcs status会有报错信息提示,提示在节点二/一上找不到相应的设备文件,此为正常现象,将FTP-FSTOMCAT-FS按顺序加入集群即可。

     

    6、集群资源约束配置

          检查集群状态

    查看当前constraint设置

     

          配置资源启停顺序

     

    配置资源组内各资源启停顺序:

    ftp-group内启停顺序:FTP-VIP--> FTP-LVM-->FTP-FS-->FTP

    tomcat-group内启停顺序:TOMCAT-VIP-->TOMCAT-LVM-->TOMCAT-FS-->TOMCAT

          配置资源组内各资源依附关系

     

          配置资源组在各节点的粘性

     

    ftp-group优先在node1上运行

    tomcat-group优先在node2上运行

          查看constraint设置结果

    列出集群资源约束配置内容

     

     

    7stonith配置

    注:

    1、   virtualbox虚拟机无法配置,假设可用

    2、   不同类型的服务器所需fence端口不同,惠普硬件服务器需开通fence设备的623/udp端口,vcenter主机需开启80/tcp443/tcp端口,其余类型请自行查证

          fence资源信息

    主机名

    node1

    node2

    Fence设备地址

    192.168.110.101

    192.168.110.102

    Fence管理账号

    Administrator

    Fence账户密码

    pass1234

     

     

     

     

     

     

          Fence查看节点状态

    通过fence设备查看主机状态,确认fence设备可对主机进行管理

    # fence_ipmilan –P –A password –a 192.168.110.101 –l Administrator  –p pass1234 –o status

    # Status on

    # fence_ipmilan –P –A password –a 192.168.110.102 –l Administrator  –p pass1234 –o status

    # Status on

          增加fence设备

         # pcs stonith create ipmi-fence-node1 fence_ipmilan parms lanplus=’true’ pcmk_host_list=’node1’ pcmk_host_check=’static-list’ action=’reboot’ ipaddr=’192.168.110.101’ login=’Administrator’ passwd=’pass1234’ op monitor interval=30s

         # pcs stonith create ipmi-fence-node2 fence_ipmilan parms lanplus=’true’ pcmk_host_list=’node2’ pcmk_host_check=’static-list’ action=’reboot’ ipaddr=’192.168.110.102’ login=’Administrator’ passwd=’pass1234’ op monitor interval=30s

    8、集群功能验证

          切换前检查

    查看当前集群状态,集群内各资源已正常运行使用(尚缺少fence设备)

     

          禁用节点验证

    node2 设置为standby(不使用),资源组tomcat-group正常切换至node1上运行

    # pcs cluster standy node2

    注:

    1node2 standby状态下,资源组tomcat-groupnode1上正常运行才能证明资源切换正常

     

    unstandy node2,资源组tomcat-group切换回node2运行

    # pcs cluster unstandy node2

    注:

    1node2 unstandby后,资源组tomcat-group能够自动切回node2上正常运行才能证明资源切换正常

     

          重启节点验证

    node1 重启,资源组ftp-group切换至node2运行

     

    node1 重启完成,资源组ftp-group切换回node1运行

     

    三、集群常用命令及作用

    1、验证群集安装

     [shell]# pacemakerd -F                                                             ## 查看pacemaker组件

     [shell]# corosync-cfgtool -s                                                        ## 查看corosync序号

     [shell]# corosync-cmapctl | grep members              ## corosync 2.3.x

     [shell]# corosync-objctl | grep members                          ## corosync 1.4.x

     

    2、查看群集资源

     [shell]# pcs resource standards                                       ## 查看支持资源类型

     [shell]# pcs resource providers                                        ## 查看资源提供商

     [shell]# pcs resource agents                                                     ## 查看所有资源代理

     [shell]# pcs resource list                                                    ## 查看支持资源列表

     [shell]# pcs stonith list                                                             ## 查看支持Fence列表

     [shell]# pcs property list --all                                            ## 显示群集默认变量参数

     [shell]# crm_simulate -sL                                        ## 检验资源 score

     

    3、使用群集脚本

     [shell]# pcs cluster cib ra_cfg                                          ## 将群集资源配置信息保存在指定文件

     [shell]# pcs -f ra_cfg resource create                                ## 创建群集资源并保存在指定文件中(而非保存在运行配置)

     [shell]# pcs -f ra_cfg resource show                                        ## 显示指定文件的配置信息,检查无误后

     [shell]# pcs cluster cib-push ra_cfg                                          ## 将指定配置文件加载到运行配置中

     

    4STONITH 设备操作

     [shell]# stonith_admin -I                                                 ## 查询fence设备

     [shell]# stonith_admin -M -a agent_name              ## 查询fence设备的元数据, stonith_admin -M -a fence_vmware_soap

     [shell]# stonith_admin --reboot nodename                     ## 测试 STONITH 设备

     

    5、查看群集配置

     [shell]# crm_verify -L -V                                                          ## 检查配置有无错误

     [shell]# pcs property                                                              ## 查看群集属性

     [shell]# pcs stonith                                                                          ## 查看stonith

     [shell]# pcs constraint                                                             ## 查看资源约束

     [shell]# pcs config                                                                          ## 查看群集资源配置

     [shell]# pcs cluster cib                                                                   ## XML格式显示群集配置

     

    6、管理群集

     [shell]# pcs status                                                                          ## 查看群集状态

     [shell]# pcs status cluster

     [shell]# pcs status corosync

     [shell]# pcs cluster stop [node11]                                 ## 停止群集

     [shell]# pcs cluster start --all                                                  ## 启动群集

     [shell]# pcs cluster standby node11                                      ## 将节点置为后备standby状态 pcs cluster unstandby node11

     [shell]# pcs cluster destroy [--all]                                   ## 删除群集,[--all]同时恢复corosync.conf文件

     [shell]# pcs resource cleanup ClusterIP                         ## 清除指定资源的状态与错误计数

     [shell]# pcs stonith cleanup vmware-fencing                  ## 清除Fence资源的状态与错误计数

     

  • 相关阅读:
    原则之读书笔记(生活篇)
    为 Nginx 添加 HTTP 基本认证(HTTP Basic Authentication)
    Linux搜索所有文件中的内容
    Js实现Table动态添加一行的小例子
    Android必学之数据适配器BaseAdapter
    技术共享之常见的6中种方法检测手机是否是虚拟机
    修改MySql数据库的默认时
    space.php
    self.location.href
    宝塔搭建laravel所需要的lnmp环境linux-nginx-mysql-php-composer-git
  • 原文地址:https://www.cnblogs.com/liawne/p/9239654.html
Copyright © 2020-2023  润新知