设置环境如下,两节点操作共享文件:

192.168.30.206 hdnode4

192.168.30.207 hdnode5

OSCentOS6.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/configselinux=disabled

修改lvm逻辑卷配置:

# vi /etc/lvm/lvm.conf 

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

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

集群配置文件

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

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

集群存储

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

# 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命令来说,我们所使用的参数功能如下:

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

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

查看journals# gfs2_tool journals /data3

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

-t:格式为ClusterName:FS_Path_Name

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

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

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

创建目录:

# 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


09-08 02:33