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

举报
潇洒一族 发表于 2017/12/15 09:58:44 2017/12/15
【摘要】 本文将搭建一个集群,利用里边的GFS2服务,提供一个共享盘在多节点的共享功能的案例。

高可用集群

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

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

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

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

 

节点配置

节点

配置信息

管理节点

名称:ecs-0003

操作系统:CentOS 6.5 64bit

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

弹性IP122.112.248.105

私有IP(内网IP):192.168.65.22

节点1

名称:ecs-0001

操作系统:CentOS 6.5 64bit

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

弹性IP122.112.237.46

私有IP(内网IP):192.168.64.196

节点2

名称:ecs-0002

操作系统:CentOS 6.5 64bit

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

弹性IP122.112.200.15

私有IP(内网IP):192.168.67.91

 

操作步骤

1.      批量创建3台虚拟机

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

image.png

image.png

image.png

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

image.png

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

 

创建成功

image.png


2.      新建SCSIVBD共享磁盘 

image.png

image.png


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

image.png

挂载结果

image.png



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

 

    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

image.png

新建目录

[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

image.png

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

image.png

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


5.      集群配置

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

image.png

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

image.png

集群创建成功

image.png


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

image.png

资源创建成功

image.png

转到“Failover Domain”,点击“Add

image.png

创建成功

image.png


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

image.png

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

image.png

image.png

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



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

image.png

资源组创建成功

image.png


查看集群状态,可以看到GFS_SG_VBD_1GFS_SG_VBD_2

image.png

image.png

查看分区信息

image.png

image.png


6.      验证共享功能

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

image.png

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

image.png


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

image.png

image.png

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

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

image.png

image.png

内容同步成功。


7.      注意事项

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

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







【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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