阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

基于CentOS6.7下的RHCS共享存储集群搭建

150次阅读
没有评论

共计 7091 个字符,预计需要花费 18 分钟才能阅读完成。

一、测试虚机说明:

 

主机名

IP 地址

系统

备注

共享存储

storage

192.168.1.120

CentOS6.7

IP 地址为 static, 本地 YUM 源已经配好,新增了一个磁盘 /dev/sdb 作为共享存储。

节点 1

node11

192.168.1.123

centOS6.7

IP 地址为 static, 本地 YUM 源已经配好

节点 2

node22

192.168.1.124

centOS6.7

IP 地址为 static, 本地 YUM 源已经配好

本地 yum 源配置请参考如下链接:

RHEL7 本地 yum 源配置 http://www.linuxidc.com/Linux/2017-01/139140.htm

CentOS 6 配置本地 Yum 源(http 方式)http://www.linuxidc.com/Linux/2017-02/140204.htm

CentOS 7 使用阿里云的 yum 源、PIP 源 http://www.linuxidc.com/Linux/2017-01/13966.htm

CentOS 7 更改 yum 源与更新系统 http://www.linuxidc.com/Linux/2017-01/140067.htm

RedHat7.0 配置本地 yum 源  http://www.linuxidc.com/Linux/2017-01/139148.htm 

二、准备工作:

1. 在三台虚机上配置各节点的名称

[root@storage /]# vi /etc/hosts

[root@storage /]# cat /etc/hosts

127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4

::1        localhost localhost.localdomain localhost6 localhost6.localdomain6

 

192.168.1.120 storage

192.168.1.123 node11

192.168.1.124 node22

 

2. 三台虚机都关闭防火墙和 selinux

[root@storage /]# service iptables stop

[root@storage /]# chkconfig iptables off

将 SELINUX 属性值改成 disabled:

[root@storage /]# vi /etc/selinux/config

 

3. 三台虚机禁用 NetworkManager,要不然后面 cman 启动会有问题

[root@storage /]# service NetworkManager stop

[root@storage /]# chkconfig NetworkManager off

 

4. 设置三台虚机(主要是两个节点机)的开机启动时的网卡配置,保证网络是在 cman 等服务启动之前就有效

[root@storage rc.d]# vi rc.net

将网卡配置内容写成一个脚本,这里我们取名 rc.net,rc.net 内容如下:

[root@storage rc.d]# cat rc.net

#!/bin/bash

 

ifconfig eth0 down

ifconfig eth0 192.168.1.120

ifconfig eth0 netmask 255.255.255.0

ifconfig eth0 up

route add -net 0.0.0.0 gw 192.168.1.1

记得一定要赋予权限:

[root@storage rc.d]# chmod a+x rc.net

将该脚本文件链接到 rc5.d 中,并且保证启动时优先于等会要安装的 cman、cmanager 等服务:

[root@storage rc5.d]# ln -s /etc/rc.d/rc.net S10rcnet

 

三、共享存储虚机上安装并配置 target

1. 安装 target

[root@storage /]# yum install -y scsi-target-utils

2. 配置 target

方法一:修改 /etc/tgt/targets.conf 配置文件。

方法二:执行操作命令,这里我们采取的是方法二。

配置 target 名称:

tgtadm –lld iscsi –op new –mode target –tid 1 -T iqn.2015-11-05:storage

配置共享磁盘:

tgtadm –lld iscsi –op new –mode logicalunit –tid 1 –lun 1 -b /dev/sdb

配置允许的网段:

tgtadm –lld iscsi –op bind –mode target –tid 1 -I 192.168.1.0/24

配置认证的用户名和密码:

tgtadm –lld iscsi –op new –mode account –user wgtx –password 1158

tgtadm –lld iscsi –op bind –mode account –tid 1 –user wgtx

最后还要记得把这些命令写在 rc.local 里,保证开机生效。

3. 启动 target 并设置为开机自启动

[root@storage /]# service tgtd start

[root@storage /]# chkconfig tgtd on

4. 最后我们可以查看下配置的 target

[root@storage /]# tgtadm –lld iscsi –mode target –op show

将会显示如下信息:

Target 1: iqn.2015-11-05:storage

    System information:

        Driver: iscsi

        State: ready

    I_T nexus information:

        I_T nexus: 9

            Initiator: iqn.2015-11.com.redhat:node22

            Connection: 0

                IP Address: 192.168.1.124

        I_T nexus: 11

            Initiator: iqn.2015-11.com.redhat:node11

            Connection: 0

                IP Address: 192.168.1.123

    LUN information:

        LUN: 0

            Type: controller

            SCSI ID: IET    00010000

            SCSI SN: beaf10

            Size: 0 MB, Block size: 1

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: null

            Backing store path: None

            Backing store flags:

        LUN: 1

            Type: disk

            SCSI ID: IET    00010001

            SCSI SN: beaf11

            Size: 10737 MB, Block size: 512

            Online: Yes

            Removable media: No

            Prevent removal: No

            Readonly: No

            Backing store type: rdwr

            Backing store path: /dev/sdb

            Backing store flags:

    Account information:

        wgtx

    ACL information:

        192.168.1.0/24

 

四、在两个节点上安装 initiator

1. 安装 initiator

[root@node11 /]# yum install –y iscsi-initiator-utils

2. 配置 initiator

[root@node11 /]# vi /etc/iscsi/initiatorname.iscsi

我的配置内容如下:

InitiatorName=iqn.2015-11.com.redhat:node11

接着修改 iscsid.conf 配置文件:

[root@node11 /]# vi /etc/iscsi/iscsid.conf

主要是修改下面三项内容,把前面屏蔽取消,并修改好我们前面设置的访问 target 的用户名和密码:

# To enable CHAP authentication set node.session.auth.authmethod

# to CHAP. The default is None.

node.session.auth.authmethod = CHAP

 

# To set a CHAP username and password for initiator

# authentication by the target(s), uncomment the following lines:

node.session.auth.username = wgtx

node.session.auth.password = 1158

3. 在节点上发现一下 target

[root@node11 /]# iscsiadm -m discovery -t st -p 192.168.1.120:3260

显示如下信息:

192.168.1.120:3260,1 iqn.2015-11-05:storage

这里 iscsi 会自己启动起来。

4. 各节点登录一下 target 并查看一下磁盘

[root@node11 /]# iscsiadm -m node -T iqn.2015-11-05:storage -p 192.168.1.120 –l

登录成功会显示 successful 的信息。

[root@node11 /]# fdisk -l

我们现在就可以看到多出来了一块磁盘:

Disk /dev/sda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 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

Disk identifier: 0x0006265d

 

  Device Boot      Start        End      Blocks  Id  System

/dev/sda1  *          1          64      512000  83  Linux

Partition 1 does not end on cylinder boundary.

/dev/sda2              64        130      524288  82  Linux swap / Solaris

Partition 2 does not end on cylinder boundary.

/dev/sda3            130        2611    19934208  83  Linux

 

Disk /dev/sdb: 10.7 GB, 10737418240 bytes

64 heads, 32 sectors/track, 10240 cylinders

Units = cylinders of 2048 * 512 = 1048576 bytes

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

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

Disk identifier: 0x00000000

5. 别忘了设置 iscsi 开机自启

[root@node11 /]# chkconfig iscsi on

 

五、配置集群

1. 在 storage 上安装并启用 luci 集群管理

[root@storage /]# yum install –y luci

[root@storage /]# chkconfig luci on

[root@storage /]# service luci start

启动 luci 后,会显示一个地址,我们这里是 https://storage:8084/,通过浏览器对其访问,注意,登录的用户名是 root,密码就是系统 root 的密码。

2. 两台节点上分别安装 ricci、rgmanager、cman

[root@storage /]# yum install ricci rgmanager cman –y

[root@storage /]# chkconfig ricci on

[root@storage /]# chkconfig rgmanager on

[root@storage /]# chkconfig cman on

[root@storage /]# service ricci start

[root@storage /]# service rgmanager start

[root@storage /]# service cman start

启动 cman 如出现错误:

Starting cman… xmlconfig cannot find /etc/cluster/cluster.conf [FAILED]

这是因为节点还没有加入集群,没有产生配置文件 /etc/cluster/cluster.conf,

我们也可以现在不启动 cman,节点成功加入集群后,cman 可以自动起起来。

下一步设置两台节点的 ricci 用户密码,我们设置与 root 相同的密码:

[root@storage /]# passwd ricci

3. 在 storage 上通过 luci 管理界面进行集群配置

1)点击 Manager Clusters—> Create 创建一个集群

按输入框要求,输入集群名称,添加每个节点的主机名、密码,Ricci Hostname 和 RicciPort 都默认,勾选 Use Locally Installed Packages,我好像 Reboot Nodes Before Joining Cluster、Enable Shared Storage Support 都没有勾选,后来又参考了下文档,大家还是把 Enable Shared Storage Support 勾选上吧,最后点击 Create Cluster 创建集群。

2)在各节点上查看下集群情况

[root@node11 /]# clustat

可以看到各节点状态都是 online,说明配置成功。

 

六、创建 GFS2 集群文件系统

1. 在两个节点上分别安装 lvm2-cluster、gfs2-utils

[root@node11 /]# yum install –y lvm2-cluster gfs2-utils

[root@node11 /]# chkconfig clvmd on

启动集群:

[root@node11 /]# lvmconf –enable-cluster

重新加载集群:

[root@node11 /]# service clvmd restart

2. 在节点上创建 LVM 卷

[root@node11 /]# pvcreate /dev/sdb

[root@node11 /]# vgcreate vg1 /dev/sdb

[root@node11 /]# lvcreate –l 100%FREE –n lv1 vg1

创建好 LVM 卷后,我们可以通过下面命令查看下 lv 状态:

[root@node11 /]# lvdisplay

另一个节点上执行下 lvmconf –enable-cluster 命令,查看 lvdisplay,也可以看到相应的信息,不需要另外去 create LVM。

3. 格式化成 gfs2 文件系统

在其中的一个节点执行:

[root@node11 /]# mkfs.gfs2 -p lock_dlm -t myclusterCH:clusterdata -j 3 /dev/vg1/lv1

-p:定义为 DLM 锁方式,如果不加此参数,挂载的分区就像 ext4 格式,信息不能同步。

-t:集群名和自定义文件系统标志名,也可以是共享卷名

-j:GFS 分区中最多支持多少个节点同时挂载,通常设定值为节点数 +1

4. 在两个节点上分别挂载

[root@node11 /]# mkdir /mnt/clusterdata

[root@node11 /]# mount –t gfs2 /dev/vg1/lv1 /mnt/clusterdata

这样我们在两个节点里的 clusterdata 里进行文件新增修改,都会同步了。

5. 设置两节点开机自动登录 target

[root@node11 rc.d]# vi rc.loginsdb

将登录 target 内容写成一个脚本,这里我们取名 rc.loginsdb,rc.loginsdb 内容如下:

[root@node11 rc.d]# cat rc.loginsdb

#!/bin/bash

 

iscsiadm -m node -T iqn.2015-11-05:storage -p 192.168.1.120 -l

记得一定要赋予权限:

[root@node11 rc.d]# chmod a+x rc.loginsdb

将该脚本文件链接到 rc.loginsdb 中,并且保证启动时优先于等会要安装的 cman、cmanager 等服务:

[root@node11 rc.d]# ln -s /etc/rc.d/rc.loginsdb S14loginsdb

6. 最后,记得设置一下两节点开机自动挂载

在 rc.local 里添加上:

mount –t gfs2 /dev/vg1/lv1 /mnt/clusterdata

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140510.htm

 

 

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计7091字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中