同步和启动 Redhat 集群以验证故障转移方案

举报
Tiamo_T 发表于 2022/09/22 23:55:40 2022/09/22
【摘要】 在本教程中,我们将介绍以下高级步骤来完成集群设置: 跨节点同步集群配置 启动集群 通过关闭活动节点来验证故障转移

在上一个教程中介绍了以下高级步骤:

  • 安装并启动 RICCI 集群服务
  • 在活动节点上创建集群
  • 将节点添加到集群
  • 将防护添加到集群
  • 配置故障转移域
  • 向集群添加资源

在本教程中,我们将介绍以下高级步骤来完成集群设置:

  • 跨节点同步集群配置
  • 启动集群
  • 通过关闭活动节点来验证故障转移

1. 跨节点同步配置

每当进行配置更改时,或第一次安装和配置集群时,您应该将配置从活动节点同步到所有节点。

以下命令会将集群配置同步到所有可用节点:

[root@rh1 ~]# ccs -h rh1 --sync --activate
rh2 password:

2. 验证集群配置

最后,验证配置是否有效,如下所示。

[root@rh1 ~]# ccs -h rh1 --checkconf
All nodes in sync.

如果有任何配置问题,或者当活动节点上的配置与集群中所有节点上的配置不匹配时,上述命令将适当地列出它们。

3.启动集群

要在 Node1 上启动集群,请执行以下操作:

[root@rh1 ~]# ccs -h rh1 –start

要在两个节点上启动集群,请执行以下操作:

[root@rh1 ~]# ccs -h rh1 –startall

要停止 Node1 上的集群,请执行以下操作:

[root@rh1 ~]# ccs -h rh1 –stop

要在两个节点上停止集群,请执行以下操作:

[root@rh1 ~]# ccs -h rh1 –stopall

4.查看集群状态

当您的 Redhat 或 CentOS Linux 集群中一切都启动并运行时,您可以查看集群状态,如下所示:

[root@rh1 cluster]# clustat
Cluster Status for mycluster @ Sat Mar 15 02:05:59 2015
Member Status: Quorate

 Member Name      ID   Status
 ------ ----      ---- ------
 rh1                 1 Online, Local, rgmanager
 rh2                 2 Online

 Service Name          Owner (Last)  State
 ------- ----          ----- ------  -----
 service:webservice1   rh1           started

如您在上面的输出中看到的,它表明我们的集群中有两个节点,并且两个节点都在线,并且 rh1 是活动节点。

5. 验证集群故障转移

要验证集群的故障转移,请在活动节点上停止集群或关闭活动节点。这应该强制集群自动将 IP 资源和文件系统资源故障转移到故障转移域中定义的下一个可用节点。

这是我们目前在 node1 上看到的。

[root@rh1 ~]# clustat
Cluster Status for mycluster @ Sat Mar 15 14:16:00 2015
Member Status: Quorate

 Member Name  ID   Status
 ------ ----  ---- ------
 rh1             1 Online, Local, rgmanager
 rh2             2 Online, rgmanager

 Service Name         Owner (Last)  State
 ------- ----         ----- ------  -----
 service:webservice1  rh1           started

[root@rh1 ~]# hostname
rh1.mydomain.net

[root@rh1 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:e6:6d:b7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.10/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.12/24 scope global secondary eth0
    inet6 fe80::a00:27ff:fee6:6db7/64 scope link
       valid_lft forever preferred_lft forever

[root@rh1 ~]# df -h /var/www
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/cluster_vg-vol01  993M   18M  925M   2% /var/www

5. 强制集群故障转移

现在关闭 node1,所有服务和资源都应该故障转移到第二个节点,您将看到如下输出。

[root@rh1 ~]# shutdown -h now

node1 宕机后,node1 上会看到以下内容。

root@rh2 ~]# clustat
Cluster Status for mycluster @ Sat Mar 18 14:41:23 2015
Member Status: Quorate

 Member Name   ID   Status
 ------ ----   ---- ------
 rh1              1 Offline
 rh2              2 Online, Local, rgmanager

 Service Name         Owner (Last)  State
 ------- ----         ----- ------  -----
 service:webservice1  rh2           started

以上输出表明集群中有两个节点(rh1 和 rh2)。rh1 已关闭,当前 rh2 为活动节点。

此外,如下所示,在 rh2 上,文件系统和 IP 地址从 rh1 进行故障转移,没有任何问题。

[root@rh2 ~]# df -h /var/www
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/cluster_vg-vol01  993M   18M  925M   2% /var/www

[root@rh2 ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP ql                        en 1000
    link/ether 08:00:27:e6:6d:b7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.11/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.12/24 scope global secondary eth0
    inet6 fe80::a00:27ff:fee6:6db7/64 scope link tentative dadfailed
       valid_lft forever preferred_lft forever

6. 完整的 cluster.conf 示例文件

以下是 2 节点 redhat 集群的最终工作 cluster.conf 配置文件。

[root@rh1 ~]# cat /etc/cluster/cluster.conf
<?xml version="1.0"?>
<cluster config_version="28" name="mycluster">
  <fence_daemon post_join_delay="25"/>
  <clusternodes>
    <clusternode name="rh1" nodeid="1">
      <fence>
        <method name="mthd1">
          <device name="myfence"/>
        </method>
      </fence>
    </clusternode>
    <clusternode name="rh2" nodeid="2">
      <fence>
        <method name="mthd1">
          <device name="myfence"/>
        </method>
      </fence>
    </clusternode>
  </clusternodes>
  <cman expected_votes="1" two_node="1"/>
  <fencedevices>
    <fencedevice agent="fence_virt" name="myfence"/>
  </fencedevices>
  <rm>
    <failoverdomains>
      <failoverdomain name="webserverdomain" nofailback="0" ordered="1" restricted="0">
        <failoverdomainnode name="rh1"/>
        <failoverdomainnode name="rh2"/>
      </failoverdomain>
    </failoverdomains>
    <resources>
      <fs device="/dev/cluster_vg/vol01" fstype="ext4" mountpoint="/var/www" name="web_fs"/>
    </resources>
    <service autostart="1" domain="webserverdomain" name="webservice1" recovery="relocate">
      <fs ref="web_fs"/>
      <ip address="192.168.1.12" monitor_link="yes" sleeptime="10"/>
    </service>
  </rm>
</cluster>
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。