【云硬盘】搭建HA集群,实践Linux共享卷功能

网友投稿 937 2022-05-29

高可用集群

高可用集群,英文原文为High Availability Cluster,简称HACluster,简单的说,集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。这些单个的计算机系统 就是集群的节点(node)。

高可用集群的出现是为了使集群的整体服务尽可能可用,从而减少由计算机硬件和软件易错性所带来的损失。如果某个节点失效,它的备援节点将在几秒钟的时间内接管它的职责。因此,对于用户而言,集群永远不会停机。

高可用集群软件的主要作用就是实现故障检查和业务切换的自动化。只有两个节点的高可用集群又称为双机热备,即使用两台服务器互相备份。当一台服务器出现故障时,可由另一台服务器承担服务任务,从而在不需要人工干预的 情况下,自动保证系统能持续对外提供服务。双机热备只是高可用集群的一种,高可用集群系统更可以支持两个以上的节点,提供比双机热备更多、更高级的功能,更能满足用户不断出现的需求变化。

本文将搭建一个集群,利用里边的GFS2服务,提供一个共享盘在多节点的共享功能的案例。

二 节点配置

节点

配置信息

管理节点

名称:ecs-0003

操作系统:CentOS 6.5 64bit

硬件配置:2核,4GB内存

弹性IP:122.112.248.105

私有IP(内网IP):192.168.65.22

节点1

名称:ecs-0001

操作系统:CentOS 6.5 64bit

硬件配置:2核,4GB内存

弹性IP:122.112.237.46

私有IP(内网IP):192.168.64.196

节点2

名称:ecs-0002

操作系统:CentOS 6.5 64bit

硬件配置:2核,4GB内存

弹性IP:122.112.200.15

私有IP(内网IP):192.168.67.91

三 操作步骤

1.      批量创建3台虚拟机

镜像、镜像版本尽量一致;虚拟私有云、安全组、主网卡应该一致,确保主网卡在同一个网段,虚拟机之前能够相互通信;弹性IP用于远程登录虚拟机用,是虚拟机的外网IP,应该根据实际情况进行购买或使用已有。

请确保安全组中,TCP的入方向8084是开的,后面登录High Availability Management会访问这个端口。

记录root密码,用于远程登录虚拟机。

创建成功

2.      新建SCSI或VBD共享磁盘

3.      挂载共享磁盘到ecs-0001和ecs-0002节点

挂载结果

4.      节点准备

1)      ecs-0001节点

配置hosts

[root@ecs-0001 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.64.196 ecs-0001

192.168.67.91 ecs-0002

192.168.65.22 ecs-0003

安装集群软件包

[root@ecs-0001 ~]# yum install ricci openais cman rgmanager lvm2-cluster gfs2-utils

关闭防火墙

[root@ecs-0001 ~]#  /etc/init.d/iptables stop

[root@ecs-0001 ~]#  chkconfig iptables off

关闭ACPI服务

[root@ecs-0001 ~]# /etc/init.d/acpid stop

Stopping acpi daemon:                                      [  OK  ]

[root@ecs-0001 ~]# chkconfig acpid off

设置ricci密码

[root@ecs-0001 ~]# passwd ricci

Changing password for user ricci.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

启动ricci服务

[root@ecs-0001 ~]# /etc/init.d/ricci start

Starting oddjobd:                                          [  OK  ]

generating SSL certificates...  done

Generating NSS database...  done

Starting ricci:                                            [  OK  ]

[root@ecs-0001 ~]# chkconfig ricci on

查看所挂载的磁盘

[root@ecs-0001 ~]# fdi*** -l

Di*** /dev/xvda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Di*** identifier: 0x000d6814

【云硬盘】搭建HA集群,实践Linux共享卷功能

Device Boot      Start         End      Blocks   Id  System

/dev/xvda1               1         523     4194304   82  Linux swap / Solaris

Partition 1 does not end on cylinder boundary.

/dev/xvda2   *         523        5222    37747712   83  Linux

Di*** /dev/xvdb: 107.4 GB, 107374182400 bytes

255 heads, 63 sectors/track, 13054 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Di*** identifier: 0x00000000

新建目录

[root@ecs-0001 ~]# mkdir /mnt/gfs_vbd

为磁盘创建gfs2文件系统

[root@ecs-0001 ~]# mkfs.gfs2 -p lock_dlm -t mycluster:gfs_vbd -j 4 /dev/xvdb

This will destroy any data on /dev/xvdb.

It appears to contain: data

Are you sure you want to proceed? [y/n] y

Device:                    /dev/xvdb

Blocksize:                 4096

Device Size                100.00 GB (26214400 blocks)

Filesystem Size:           100.00 GB (26214398 blocks)

Journals:                  4

Resource Groups:           400

Locking Protocol:          "lock_dlm"

Lock Table:                "mycluster:gfs_vbd"

UUID:                      51cb6076-8155-0cde-12f8-2a813e7fd475

2)      ecs-0002配置同ecs-0001。

3)      管理器

配置hosts

[root@ecs-0003 ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.64.196 ecs-0001

192.168.67.91 ecs-0002

192.168.65.22 ecs-0003

安装集群软件包

[root@ecs-0003 ~]# yum install luci

关闭防火墙

[root@ecs-0003 ~]#  /etc/init.d/iptables stop

[root@ecs-0003 ~]#  chkconfig iptables off

启动luci

[root@ecs-0003 ~]# /etc/init.d/luci start

Adding following auto-detected host IDs (IP addresses/domain names), corresponding to `ecs-0003' address, to the configuration of self-managed certificate `/var/lib/luci/etc/cacert.config' (you can change them by editing `/var/lib/luci/etc/cacert.config', removing the generated certificate `/var/lib/luci/certs/host.pem' and restarting luci):

(none suitable found, you can still do it manually as mentioned above)

Generating a 2048 bit RSA private key

writing new private key to '/var/lib/luci/certs/host.pem'

Starting saslauthd:                                        [  OK  ]

Start luci...                                              [  OK  ]

Point your web browser to https://ecs-0003:8084 (or equivalent) to access luci

[root@ecs-0003 ~]# chkconfig luci on

5.      集群配置

登录luci高可用管理界面(网址为ecs-0003的弹性IP加上端口8084)。用ecs-0003的root账号密码登录。

转到Manage Clusters页面,点击Create创建集群,输入/etc/hosts中的节点域名和节点的ricci密码

集群创建成功

转到Resources页面,新建资源,挂载点填刚创建的目录,设备填磁盘路径

资源创建成功

转到“Failover Domain”,点击“Add”

创建成功

转到Service Groups页面,为ecs-0001新建服务组

点击“Add Resource”,选择刚创建的资源GFS_VBD

创建成功后,点击GFS_SG_VBD_1,选择Start on ecs-0001,点击Start

用同样的方法为ecs-0002创建服务组,并在详情页,选择Start on ecs-0002,点击Start

资源组创建成功

查看集群状态,可以看到GFS_SG_VBD_1和GFS_SG_VBD_2

查看分区信息

6.      验证共享功能

在ecs-0001上查看分区信息、在目录/mnt/gfs_vbd上新建文件test-ecs1

在ecs-0002的/mnt/gfs_vbd目录可以同步看到test-ecs1文件,查看文件内容,和ecs-0001上一样的。

在ecs-0002中用vi编辑test-ecs1文件,同时在ecs-0001中也尝试编辑,出现提示

说明GFS2有用同步和锁机制来保护文件不被覆盖。

在ecs-0002修改后在ecs-0001查看文件内容

内容同步成功。

7.      注意事项

节点ecs-0001和节点ecs-0002,在重启后,集群相关的服务(cman、rgmanager、ricci、modclusterd、clvmd)都会自动重启,并且会自动加入集群。如果发现有节点没有加入到mycluster集群,可以在High Availability Management中重新将节点加入mycluster。

如果df -h发现分区表里没有挂载的共享磁盘,重新用mount /dev/xvdb /mnt/gfs_vbd命令挂载磁盘,便可与其他节点同步使用共享磁盘。

Linux 弹性云服务器 ECS 云硬盘 EVS

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:云数据库Mysql磁盘使用率高排查优化建议
下一篇:鲲鹏展翅,昇腾万里,共创金融科技新时代
相关文章