【Linux】高性价比的可扩展的集群共享存储


### 高性价比的可扩展的集群共享存储

红帽集群套件 CMAN 集群管理工具 RGMANAGER资源管理工具(启动、停止集群应用以及实现故障转移 GFS2 全局文件系统 第二版 提供文件系统的支持 CLVM 集群逻辑卷,扩展的逻辑卷,支持集群 ISCSI 网络存储

1.实验环境

一台 target(添加2个硬盘) 三台 node 解析主机名称(搭建dns或写hosts文件)

        # vim /etc/host
        #   添加以下映射

            192.168.1.20    node1.xdl.com   node1
            192.168.1.30    node2.xdl.com   node2
            192.168.1.40    node3.xdl.com   node3
            192.168.1.10    target.xdl.com  target
        # 分别对四台机器进行修改主机名
            [root@target ~]# hostname target
            [root@node1 ~]# hostname node1
            [root@node2 ~]# hostname node2
            [root@node3 ~]# hostname node3
        # 同时同时修改四台设备的hosts文件
            # scp /etc/hosts node1:/etc/
            # scp /etc/hosts node2:/etc/
        # scp /etc/hosts node3:/etc/

配置免密码验证(3个节点和target之间)

        #在target服务器上
            # ssh-keygen -t rsa
            # ssh-copy-id node1
            # ssh-copy-id node2
            # ssh-copy-id node3
        # 在node1-3服务器上,重复以下步骤
            # ssh-keygen -t rsa
            # ssh-copy-id target

搭建时间服务器(能够实现时间同步)

        # 在node1服务器上搭建ntp服务器
        # vim /etc/ntp.conf 修改以下内容
            添加
                restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
            注释掉
                #server 0.centos.pool.ntp.org
                #server 1.centos.pool.ntp.org
                #server 2.centos.pool.ntp.org
            在注释掉的下方添加
                server 127.127.1.0
                fudge 127.127.1.0 stratum 10
        # service ntpd start
        # chkconfig ntpd on

        # 同时修改node2、node3、target服务器/etc/ntp.conf
            注释掉
                #server 0.centos.pool.ntp.org
                #server 1.centos.pool.ntp.org
                #server 2.centos.pool.ntp.org
            在注释掉的下方添加
                server 192.168.1.20
                restrict 192.168.1.20 nomodify notrap
        # service ntpd start
        # chkconfig ntpd on
        # ntpdate -u 192.168.1.20 (同步刷新时间命令)

2.实验的配置

1.跳板的模式简化配置

    # target服务器进行以下操作
    # 设置别名
        # alias a='for b in {1..3}; do'
    # 实现同时对三台服务器的时间进行同步
        # a ssh node$b 'ntpdate -u 192.168.1.20';done

2.安装服务器scsi-target-utils

        # yum install scsi-target-utils -y
        # vim /etc/tgt/targets.conf
        添加:
            <target iqn.2017-05.com.xdl:teststore.sdb>
                  <backing-store /dev/sdb>
                        vendor_id test
                        lun 4
                  </backing-store>
                incominguser asd 123456
                initiator-address 192.168.1.0/24
            </target>
        # service tgtd start

3.tgtadm -L iscsi -o show -m target(查看共享资源) 4.在三台客户端安装iscsi-initiator-utils

        # a ssh node$b 'yum -y install iscsi-initiator-utils';done
        # 修改三台客户端配置文件/etc/iscsi/initiatorname.iscsi,更改客户端的名称
        # vim /etc/iscsi/initiatorname.iscsi
        修改
            InitiatorName=iqn.2017-05.com.xdl:node1
        # vim /etc/iscsi/iscsid.conf
        修改
            node.session.auth.authmethod = CHAP
            node.session.auth.username = asd
            node.session.auth.password = 123456
        # 将共享资源添加到三台客户机上
        # a ssh node$b 'iscsiadm -m discovery -t sendtargets -p target';done
        # a ssh node$b 'iscsiadm -m node -T iqn.2017-05.com.xdl:teststore.sdb --login';done

5.cman与rgmanager集群安装与配置

        # 在各节点上安装cman  rgmanager
        # a ssh node$b 'yum install cman rgmanager -y';done
        # 在节点1上构建集群
            # ccs_tool create testcluster(创建集群)
            # ccs_tool addfence meatware fence_manual(当节点故障时,选出另一个当主)
            # ccs_tool lsfence (查看)
            # 设置管理集群的节点有哪些。
                # ccs_tool addnode -n 1 -f meatware node1.xdl.com
                # ccs_tool addnode -n 2 -f meatware node2.xdl.com
                # ccs_tool addnode -n 3 -f meatware node3.xdl.com
            # ccs_tool lsnode (查看添加的节点有哪些)
            # 将文件传送到2/3节点
            # scp /etc/cluster/cluster.conf node2/none3:/etc/cluster/

6.启动CMAN

        # 启动cman前需要关闭NetworkManager服务
        # 以上操作直接将修改保存到/etc/cluster.conf文件里,所以将这个节点里的配置文件直接传输给2、3节点
        # echo "CMAN_QUORUM_TIMEOUT=0" >> /etc/sysconfig/cman (三台客户端重复该操作)
        # service cman start (三台客户端重复该操作)

7.CLVM安装与配置

        # 安装 lvm2-cluster
        # a ssh node$b 'yum install lvm2-cluster -y';done
        # 启用集群LVM
        # a ssh node$b 'lvmconf --enable-cluster';done
        # 启用CLVM服务
        # a ssh node$b 'service clvmd start';done
        # 在任意一个节点上创建集群逻辑卷(使用共享存储服务器共享出的那个磁盘)
            # pvcreate /dev/sdb
            # vgcreate clustervg /dev/sdb
            # lvcreate -L 10G -n clusterlv clustervg
            # lvdisplay

8.gfs2安装和配置