LinuxEye - Linux系统教程

LinuxEye - Linux系统教程

当前位置: 主页 > Linux配置 >

高可用、多路冗余GFS2集群文件系统详细配置

时间:2013-06-09 18:01来源:51CTO 编辑:凌激冰 点击:
实验拓扑图: 实验原理: 通过RHCS集群套件搭建GFS2集群文件系统,保证不同节点能够同时对GFS2集群文件系统进行读取和写入,其次通过multipath实现node和FC,FC和ShareStorage之间的多路冗余

实验拓扑图:


实验原理:
通过RHCS集群套件搭建GFS2集群文件系统,保证不同节点能够同时对GFS2集群文件系统进行读取和写入,其次通过multipath实现node和FC,FC和Share Storage之间的多路冗余,最后实现存储的mirror复制达到高可用。

GFS2:全局文件系统第二版,GFS2是应用最广泛的集群文件系统。它是由红帽公司开发出来的,允许所有集群节点并行访问。元数据通常会保存在共享存储设备或复制存储设备的一个分区里或逻辑卷中。

实验环境:

[root@storage1 ~]# uname -r
2.6.32-279.el6.x86_64
[root@storage1 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.3 (Santiago)
[root@storage1 ~]# /etc/rc.d/init.d/iptables status
iptables: Firewall is not running.
[root@storage1 ~]# getenforce
Disabled

1、前期准备工作
0)、设置一台管理端(192.168.100.102manager.rsyslog.org)配置ssh 私钥、公钥,将公钥传递到所有节点上
[root@manager ~]# ssh-keygen  \\生成公钥和私钥
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
……
[root@manager ~]# for i in {1..6}; do ssh-copy-id -i 192.168.100.17$i; done \\将公钥传输到各节点/root/.ssh/目录下
root@192.168.100.171's password:
Now try logging into the machine, with "ssh '192.168.100.171'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting
..……
[root@manager ~]# ssh node1  \\测试登录
Last login: Sat Jun  8 17:58:51 2013 from 192.168.100.31

1)、配置双网卡IP,所有节点参考拓扑图配置双网卡,并配置相应IP即可
[root@storage1 ~]# ifconfig eth0 | grep "inet addr" | awk -F[:" "]+ '{ print $4 }'
192.168.100.171
[root@storage1 ~]# ifconfig eth1 | grep "inet addr" | awk -F[:" "]+ '{ print $4 }'
192.168.200.171

2)、配置hosts文件并同步到所有节点去(也可以配置DNS,不过DNS解析绝对不会有hosts解析快,其次DNS服务器出问题会直接导致节点和节点以及和存储直接不能够解析而崩溃)
[root@manager ~]# cat /etc/hosts
127.0.0.1 localhost localhost.rsyslog.org
192.168.100.102 manager  manager.rsyslog.org
192.168.100.171 storage1 storage1.rsyslog.org
192.168.200.171 storage1 storage1.rsyslog.org
192.168.100.172 storage2 storage2.rsyslog.org
192.168.200.172 storage2 storage2.rsyslog.org
192.168.100.173 node1 node1.rsyslog.org
192.168.200.173 node1 node1.rsyslog.org
192.168.100.174 node2 node2.rsyslog.org
192.168.200.174 node2 node2.rsyslog.org
192.168.100.175 node3 node3.rsyslog.org
192.168.200.175 node3 node3.rsyslog.org
192.168.100.176 node4 node4.rsyslog.org
192.168.200.176 node4 node4.rsyslog.org
[root@manager ~]# for i in {1..6}; do scp /etc/hosts 192.168.100.17$i:/etc/ ; done
hosts                                                                           100%  591     0.6KB/s   00:00
hosts                                                                           100%  591     0.6KB/s   00:00
hosts                                                                           100%  591     0.6KB/s   00:00
hosts                                                                           100%  591     0.6KB/s   00:00
hosts                                                                           100%  591     0.6KB/s   00:00
hosts                                                                           100%  591     0.6KB/s   00:00

3)、配置yum源(将所有节点光盘挂接到/media/cdrom,如果不方便,也可以做NFS,将镜像挂载到NFS里面,然后节点挂载到NFS共享目录中即可,注意:不同版本的系统,RHCS集群套件存放位置会有所不同,所以yum源的指向位置也会有所不同)
[root@manager ~]# cat /etc/yum.repos.d/rhel-gfs2.repo
[rhel-cdrom]
name=RHEL6U3-cdrom
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
[rhel-cdrom-HighAvailability]
name=RHEL6U3-HighAvailability
baseurl=file:///media/cdrom/HighAvailability
enabled=1
gpgcheck=0
[rhel-cdrom-ResilientStorage]
name=RHEL6U3-ResilientStorage
baseurl=file:///media/cdrom/ResilientStorage
enabled=1
gpgcheck=0
[rhel-cdrom-LoadBalancer]
name=RHEL6U3-LoadBalancer
baseurl=file:///media/cdrom/LoadBalancer
enabled=1
gpgcheck=0
[rhel-cdrom-ScalableFileSystem]
name=RHEL6U3-ScalableFileSystem
baseurl=file:///media/cdrom/ScalableFileSystem
enabled=1
gpgcheck=0
[root@manager ~]# for i in {1..6}; do scp /etc/yum.repos.d/rhel-gfs2.repo  192.168.100.17$i:/etc/yum.repos.d ; done
rhel-gfs2.repo                                                                  100%  588     0.6KB/s   00:00
rhel-gfs2.repo                                                                  100%  588     0.6KB/s   00:00
rhel-gfs2.repo                                                                  100%  588     0.6KB/s   00:00
rhel-gfs2.repo                                                                  100%  588     0.6KB/s   00:00
rhel-gfs2.repo                                                                  100%  588     0.6KB/s   00:00
rhel-gfs2.repo                                                                  100%  588     0.6KB/s   00:00
[root@manager ~]# for i in {1..6}; do ssh 192.168.100.17$i "yum clean all && yum makecache"; done
Loaded plugins: product-id, security, subscription-manager
Updating certificate-based repositories.
Unable to read consumer identity

4)、时间要同步,可以考虑配置NTP时间服务器,如果联网可以考虑同步互联网时间,当然也可以通过date命令设置相同时间。

2、安装luciricci(管理端安装luci,节点安装ricci
Luci是运行WEB样式的Conga服务器端,它可以通过web界面很容易管理整个RHCS集群,每一步操作都会在/etc/cluster/cluster.conf生成相应的配置信息
[root@manager ~]# yum install luci –y
[root@manager ~]# /etc/rc.d/init.d/luci start \\生成以下信息,说明配置成功,注意:安装luci会安装很多python包,python包尽量采用光盘自带的包,否则启动luci会出现报错现象。
Adding following auto-detected host IDs (IP addresses/domain names), corresponding to `manager.rsyslog.org' 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'
正在启动 saslauthd:                                       [确定]
Start luci...                                              [确定]
Point your web browser to https://manager.rsyslog.org:8084 (or equivalent) to access luci
[root@manager ~]# for i in {1..4}; do ssh node$i "yum install ricci -y"; done
[root@manager ~]# for i in {1..4}; do ssh node$i "chkconfig ricci on && /etc/rc.d/init.d/ricci start"; done
[root@manager ~]# for i in {1..4}; do ssh node$i "echo '123.com' | passwd ricci --stdin"; done  \\ricci设置密码,在Conga web页面添加节点的时候需要输入ricci密码。
更改用户 ricci 的密码 。
passwd: 所有的身份验证令牌已经成功更新。

3、通过luci web管理界面安装RHCS集群套件
https://manager.rsyslog.org:8084或者https://192.168.100.102:8084

添加节点node1-node3,先设置3个,后期在增加一个节点,password为各节点ricci的密码,然后勾选“Download Packages”(在各节点yum配置好的基础上,自动安装cman和rgmanager及相关的依赖包),勾选“Enable Shared Storage Support”,安装存储相关的包,并支持gfs2文件系统、DLM锁、clvm逻辑卷等。

安装过程如下:

以下为安装完成之后,所有节点状态

点开一个节点,可以看到这个节点上所有相关服务都处于运行状态。

登录任意一个节点查看各服务的开机启动情况,为2-5级别自动启动。

[root@manager ~]# ssh node1 "chkconfig --list | grep cman"
cman            0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
[root@manager ~]# ssh node1 "chkconfig --list | grep rgmanager"
rgmanager       0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
[root@manager ~]# ssh node1 "chkconfig --list | grep clvmd"
clvmd           0:关闭    1:关闭    2:启用    3:启用    4:启用    5:启用    6:关闭
[root@node2 ~]# cat /etc/cluster/cluster.conf   \\查看各节点集群配置信息,各节点这部分必须一样。
<?xml version="1.0"?>
<cluster config_version="1" name="rsyslog">
<clusternodes>
<clusternode name="node1" nodeid="1"/>
<clusternode name="node2" nodeid="2"/>
</clusternodes>
<cman expected_votes="1" two_node="1"/>
<fencedevices/>
<rm/>
</cluster>
[root@node2 ~]# clustat  \\查看集群节点状态(可以通过 cluster -i 1 动态查看变化状态)
Cluster Status for rsyslog @ Sat Jun  8 00:03:40 2013
Member Status: Quorate
Member Name                                              ID   Status
------ ----                                              ---- ------
node1                                                        1 Online
node2                                                        2 Online, Local
node3                                                        3 Online

转载请保留固定链接: https://linuxeye.com/configuration/1740.html

------分隔线----------------------------
标签:GFS2
栏目列表
推荐内容