您的位置:首页 > 运维架构 > Linux

CentOS6环境配置Linux GFS+LVM集群文件系统

2017-08-28 11:05 726 查看
设置环境如下,两节点操作共享文件:

l 192.168.30.206 hdnode4

l 192.168.30.207 hdnode5

l OS:CentOS6.3 + FC-SAN盘柜

以下操作如非特别注明,则需要在所有的节点上执行。

配置网络

编辑hosts文件,使两节点间可通过主机名访问:

# more /etc/hosts
127.0.0.1 localhost localhost.localdomain
::1 localhost localhost.localdomain
192.168.30.206 hdnode4
192.168.30.207 hdnode5

安装集群文件系统相关的软件

使用yum安装软件包:

# yum install cman openais gfs* kmod-gfs lvm2* rgmanager system-config-cluster scsi-target-utils cluster-snmp

停止iptables服务

上述软件包有众多的依赖包会被安装或更新,为避免出现意外情况,建议软件包安装后重启。

修改相关配置

修改/etc/selinux/config中selinux=disabled

修改lvm逻辑卷配置:

# vi /etc/lvm/lvm.conf 

将locking_type = 1,改为locking_type = 3,允启用同时读写。

修改fallback_to_local_locking=0,以禁止回写,避免导致裂脑。

集群配置文件

编辑/etc/cluster/cluster.conf,增加下列内容:

<?xml version="1.0"?>
<cluster config_version="2" name="gfs_cluster">
<fence_daemon post_fail_delay="0" post_join_delay="3"/>
<clusternodes>
<clusternode name="hdnode4" nodeid="1" votes="1">
<fence>
<method name="1">
<device name="manual_fence" nodename="hdnode4"/>
</method>
</fence>
</clusternode>
<clusternode name="hdnode5" nodeid="2" votes="2">
<fence>
<method name="1">
<device name="manual_fence" nodename="hdnode5"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman/>
<fencedevices>
<fencedevice agent="fence_manual" name="manual_fence"/>
</fencedevices>
<rm>
<failoverdomains/>
<resources/>
</rm>
</cluster>

而后可以执行ccs_config_validate命令检查配置文件是否合法。

集群存储

先手动启动cman和clvmd命令,以便监控集群卷的中存储设备的状态:

# service cman start
# service clvmd start
# service rgmanager start

以下操作在节点1端执行:

创建物理卷和卷组和逻辑卷:

# pvcreate /dev/sdc
# vgcreate vg_search1 /dev/sdc
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdc vg_search1 lvm2 a-- 1020.00m 1020.00m
创建一个200m的逻辑卷:
[root@hdnode4 ~]# lvcreate -L 1000m -n lv_sdisk1 vg_search1
Logical volume "lv_sdisk1" created
[root@hdnode4 ~]# lvs
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert
lv_sdisk1 vg_search1 -wi-a--- 200.00m

在新建的逻辑卷上创建gfs2文件系统:

# mkfs.gfs2 -j 2 -p lock_dlm -t gfs_cluster:data3 /dev/vg_search1/lv_sdisk1

对于mkfs.gfs2命令来说,我们所使用的参数功能如下:

l -p:用来指定gfs的锁机制,一般情况下会选择lock_dlm,如果要选择类型,可以参考:online.

l -j:指定journal个数(可加入节点数),一般情况下应留有冗余,否则后期还得再调整;

n 查看journals:# gfs2_tool journals /data3

n 增加journals:# gfs2_jadd -j1 /data3  ##增加一个journals

l -t:格式为ClusterName:FS_Path_Name

u ClusterName:应与前面cluster.conf中指定的集群名称相同;

u FS_Path_Name:这个块设备mount的路径;

l 最后一个参数是指定逻辑卷的详细路径;

创建目录:

# mkdir /data3

将刚刚创建的逻辑卷加入到/etc/fstab文件中,使其开机自动映射:

# echo "/dev/vg_search1/lv_sdisk1 /data3 gfs2 rw,relatime 0 0" >> /etc/fstab

启动gfs2服务:

# service gfs2 start

节点2端执行:

操作前可以先执行pvs,lvs命令,看看是否能够正常显示节点1端创建的物理卷和逻辑卷信息,如果看不到(先尝试lvscan),则说明并未使用共享存储,或者配置有异常,仍然需要排查,需要等问题解决后,再执行下列的命令。

# mkdir /data3
# echo "/dev/vg_search1/lv_sdisk1 /data3 gfs2 rw,relatime 0 0" >> /etc/fstab
# service gfs2 start

执行# clustat可以查询各成员节点的状态。

[root@hdnode5 ~]# clustat
Cluster Status for gfs_cluster @ Thu Mar 3 15:47:44 2013
Member Status: Quorate
Member Name ID Status
------ ---- ---- ------
hdnode4 1 Online
hdnode5 2 Online, Local

在所有节点操作,配置服务的自动启动,这样就不必担心服务器重启了:

# chkconfig --add cman
# chkconfig --add clvmd
# chkconfig --add gfs2
# chkconfig --add rgmanager
# chkconfig --level 345 cman on
# chkconfig --level 345 clvmd on
# chkconfig --level 345 gfs2 on
# chkconfig --level 345 rgmanager on
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  gfs linux