同步和启动 Redhat 集群以验证故障转移方案
在上一个教程中介绍了以下高级步骤:
- 安装并启动 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>
- 点赞
- 收藏
- 关注作者
评论(0)