RHCS分布式文件存储搭建

RHCS   分布式文件存储

CMAN  管理集群的工具

RGMANAGER    用来监管集群应用

GFS2   全局文件系统第2版

ISCSI   网络存储

clvm    集群逻辑卷

一、环境准备(4台CentOS,3个节点,1个共享存储)

集群环境

(1).分别修改4个主机的名称和hosts文件

hostname node1.zjn.com  node2...  node3...  target...

[root@node1 ~]# vim /etc/hosts 

192.168.4.1   node1.zjn.com    node1 

192.168.4.2   node2.zjn.com    node2 

192.168.4.3   node3.zjn.com    node3

192.168.4.4   target.zjn.com   target

scp /etc/hosts target(node2,node3):/etc

(2).配置各节点与跳板机ssh互相免密码验证

node1,node2,node3生成密钥传给target

target生成密钥分别传给node1,node2,node3

ssh-keygen -t rsa

ssh-copy-id target       sshtarget

ssh-copy-id node1       ssh node1

 

(3).配置各节点时间同步

时间服务器:

node1:   rpm -q ntp

vim /etc/ntp.conf

注释掉22-25行,添加

server 127.127.1.0        本地时间做标准

fudge 127.127.1.0 stratum 10    等级0-15

restrict 192.168.4.0 mask 255.255.255.0 nomodify notrap

service ntpd start

##ntpq -p            显示当前时间服务器的状态

##ntpstat             查看

其余3个客户端的操作:

vim /etc/ntp.conf

注释掉22-25行,添加

server192.168.4.1

restrict192.168.4.1 nomodify notrap noquery

ntpdate -u 192.168.4.1

service ntpd start

chkconfig ntpd on

或配置完一个客户端后,将/etc/ntp.conf传给另2个客户端

scp /etc/ntp.confnode3(target):/etc

ntpdate -u 192.168.4.1

service ntpd start

chkconfig ntpd on

共享存储机

alias a='for a in {1..3}; do'      #设置一个别名,因为每次都得用到时

a ssh node$a 'ntpdate -u 192.168.4.1'; done #各节点都在时间同步 

a ssh node$a 'date -s 2016-10-18'; done

a ssh node$a 'iptables -F'; done

a ssh node$a 'setenforce 0'; done

 

二、iscsi 安装与配置(共享存储机)

yum -y installscsi-target-utils

在各节点上安装initiator

a ssh node$a 'yum -y installiscsi-initiator-utils'; done

上面命令还不如到3个节点分别执行

vim /etc/tgt/targets.conf

<target iqn.2016-10.com.zjn:store.raid> #配置target名称

    <backing-store /dev/sdb>#配置共享磁盘 

            vendor_id oppo #配置发行商(任意) 

            lun 6 #配置LUN号 

    </backing-store> 

    incominguser iscsiuseriscsiuser #配置认证的用户名和密码

    initiator-address 192.168.4.0/24#配置允许的网段

</target>

 

<target iqn.2016-10.com.zjn:store.sdb>

    <backing-store/dev/sdb>

            vendor_id oppo

            lun 6 

    </backing-store> 

    incominguser iscsiuseriscsiuser

    initiator-address 192.168.4.0/24

</target>

 

service tgtd start  启动target并设置为开机自启动

chkconfig tgtd on 

tgtadm -L iscsi -o show -m target 查看配置的target

 

配置initiator(同样的操作3个节点都配置)

vim /etc/iscsi/initiatorname.iscsi

InitiatorName=iqn.2016-10.com.zjn:node1

vim /etc/iscsi/iscsid.conf                #修改下面三项 53 57 58

node.session.auth.authmethod = CHAP  #开启CHAP认证

node.session.auth.username = iscsiuser  #配置认证用户名 

node.session.auth.password = iscsiuser  #配置认证密码

 

各节点启动initiator并设置为开机自启动

a ssh node$a 'service iscsi start'; done

a ssh node$a 'chkconfig iscsi on'; done

 

在各节点上发现一下target;连接

a ssh node$a 'iscsiadm -m discovery -t st -p 192.168.4.4'; done 

(st=sendtargets)

各节点登录一下target并查看一下磁盘;挂载

a ssh node$a 'iscsiadm -m node -T iqn.2016-10.com.zjn:store.raid --login';done 

a ssh node$a 'fdisk -l'; done   应该能看到共享的/dev/sdb

 

cman与rgmanager 集群安装与配置

各节点安装cman与rgmanager

a ssh node$a 'yum -y install cman rgmanager'; done

配置集群

创建集群(节点1上操作)

ccs_tool create cluster

添加fencing设备

ccs_tool addfence meatware fence_manual    仲裁

ccs_tool lsfence     查看

配置集群节点

ccs_tool addnode -n 1 -f meatware node1.zjn.com 

ccs_tool addnode -n 2 -f meatware node2.zjn.com 

ccs_tool addnode -n 3 -f meatware node3.zjn.com 

ccs_tool lsnode

vim /etc/cluster/cluster.conf   配置保存在此文件中,看看就行

同步配置文件到各节点

scp /etc/cluster/cluster.conf node2:/etc/cluster/

scp /etc/cluster/cluster.conf node3:/etc/cluster/

 

4.启动各节点集群

##a ssh node$a ‘service NetworkManager stop’;done

##a ssh node$a ‘chkconfig NetworkManager on’;done

在3个节点分别执行:

echo 'CMAN_QUORUM_TIMEOUT=0' >>/etc/sysconfig/cman

service cman start

 

四、cLVM 安装与配置

1.安装cLVM

a ssh node$a 'yum -y install lvm2-cluster'; done

2.启用集群LVM

a ssh node$a 'lvmconf --enable-cluster'; done

3.启动服务

a ssh node$a 'service clvmd start'; done

创建集群逻辑卷

node1:

fdisk -l

pvcreate /dev/sdb

vgcreate vg0 /dev/sdb

lvcreate -L 500M -n lv0 vg0

lvs  查看(节点2和3也可以查看到)

##5.将各节点的cman rgmanger clvmd设置为开机自启动

##[root@target ~]# a ssh node$a 'chkconfig clvmd on'; done 

##[root@target ~]# a ssh node$a 'chkconfig cman on'; done 

##[root@target ~]# a ssh node$a 'chkconfig rgmanager on'; done

 

生成集群文件系统(gfs)

gfs2 安装与配置

1.安装gfs2

a ssh node$a 'yum -y install gfs2-utils'; done

##2.查看一下帮助文件

##mkfs.gfs2 -h 

##注:对于我们用到的参数进行说明

##-j    指定日志区域的个数,有几个就能够被几个节点挂载

##-J   指定日志区域的大小,默认为128MB

##-p {lock_dlm|lock_nolock}  锁,防止多个节点对同一个文件同时操作

##-t <name>: 锁表的名称,格式为clustername:locktablename

 

3.格式化为集群文件系统

node1:

mkfs.gfs2 -j 3  -p lock_dlm -t cluster:sharedstorage /dev/vg0/lv0

注:cluster是集群名称,sharedstorage为锁表名称

4.创建挂载目录并挂载(可挂载到数据库目录或网站目录,同步)

[root@node1 ~]# mkdir /zjn

[root@node1 ~]# mount -t gfs2 /dev/vg0/lv0 /zjn 

[root@node1 ~]# ls /zjn/ 

 

5.将node2与node3进行挂载

node2:

[root@node2 ~]# mkdir /zjn

[root@node2 ~]# mount -t gfs2 /dev/vg0/lv0 /zjn

[root@node2 ~]# ls /zjn/ 

 

node3:

[root@node3 ~]# mkdir /zjn

[root@node3 ~]# mount -t gfs2 /dev/vg0/lv0 /zjn 

Too many nodes mounting filesystem, no free journals

 

注: node2成功挂载而node3没有功功挂载,Too many nodes mountingfilesystem, no free journals,没有多于的日志空间。因为我们在格式化时只创建了2个日志文件,所以node1与node2可以挂载,而node3无法挂载

 

六、测试

1.查看是否能快速同步文件

node1:

[root@node1 zjn]# touch 1.txt 

在节点2和3上查看

猜你喜欢

转载自blog.csdn.net/weixin_35815578/article/details/64128882
今日推荐