@H_403_1@设置环境如下,两节点操作共享文件:@H_403_1@
l@H_403_1@192.168.30.206hdnode4@H_403_1@
l@H_403_1@192.168.30.207hdnode5@H_403_1@
l@H_403_1@OS:CentOS6.3+FC-SAN盘柜@H_403_1@
@H_403_1@以下操作如非特别注明,则需要在所有的节点上执行。@H_403_1@
@H_403_1@
@H_403_1@编辑hosts文件,使两节点间可通过主机名访问:
@H_403_1@
# more /etc/hosts 127.0.0.1 localhost localhost.localdomain ::1 localhost localhost.localdomain 192.168.30.206 hdnode4 192.168.30.207 hdnode5
@H_403_1@安装集群文件系统相关的软件包@H_403_1@
@H_403_1@使用@H_403_1@yum@H_403_1@安装软件包:@H_403_1@
@H_403_1@#yuminstallcmanopenaisgfs*kmod-gfslvm2*rgmanagersystem-config-clusterscsi-target-utilscluster-snmp@H_403_1@
@H_403_1@停止@H_403_1@iptables服务@H_403_1@
@H_403_1@上述软件包有众多的依赖包会被安装或更新,为避免出现意外情况,建议软件包安装后重启。@H_403_1@
@H_403_1@修改/etc/selinux/config中selinux=disabled@H_403_1@
@H_403_1@#vi/etc/lvm/lvm.conf@H_403_1@
@H_403_1@将locking_type=1,改为locking_type=3,允启用同时读写。@H_403_1@
@H_403_1@修改fallback_to_local_locking=0,以禁止回写,避免导致裂脑。@H_403_1@
@H_403_1@编辑/etc/cluster/cluster.conf,增加下列内容:
@H_403_1@
<?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>
@H_403_1@而后可以执行ccs_config_validate命令检查配置文件是否合法。@H_403_1@
@H_403_1@先手动启动cman和clvmd命令,以便监控集群卷的中存储设备的状态:
@H_403_1@
# service cman start # service clvmd start # service rgmanager start
@H_403_1@以下操作在节点1端执行:@H_403_1@
@H_403_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
@H_403_1@
@H_403_1@在新建的逻辑卷上创建gfs2文件系统:@H_403_1@
@H_403_1@#mkfs.gfs2-j2-plock_dlm-tgfs_cluster:data3/dev/vg_search1/lv_sdisk1@H_403_1@
@H_403_1@对于mkfs.gfs2命令来说,我们所使用的参数功能如下:@H_403_1@
l@H_403_1@-p:用来指定gfs的锁机制,一般情况下会选择lock_dlm,如果要选择类型,可以参考:online.
l-j:指定journal个数(可加入节点数),一般情况下应留有冗余,否则后期还得再调整;
n查看journals:#gfs2_tooljournals/data3增加journals:#gfs2_jadd-j1/data3##增加一个journals-t:格式为ClusterName:FS_Path_Name
uClusterName:应与前面cluster.conf中指定的集群名称相同;FS_Path_Name:这个块设备mount的路径;最后一个参数是指定逻辑卷的详细路径;
@H_403_1@#mkdir/data3@H_403_1@
@H_403_1@将刚刚创建的逻辑卷加入到/etc/fstab文件中,使其开机自动映射:@H_403_1@
@H_403_1@#echo"/dev/vg_search1/lv_sdisk1/data3gfs2rw,relatime00">>/etc/fstab@H_403_1@
@H_403_1@#servicegfs2start@H_403_1@
@H_403_1@操作前可以先执行pvs,lvs命令,看看是否能够正常显示节点1端创建的物理卷和逻辑卷信息,如果看不到(先尝试lvscan),则说明并未使用共享存储,或者配置有异常,仍然需要排查,需要等问题解决后,再执行下列的命令。
@H_403_1@
# mkdir /data3 # echo "/dev/vg_search1/lv_sdisk1 /data3 gfs2 rw,relatime 0 0" >> /etc/fstab # service gfs2 start
@H_403_1@执行#clustat可以查询各成员节点的状态。
@H_403_1@
[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
@H_403_1@在所有节点操作,配置服务的自动启动,这样就不必担心服务器重启了:
@H_403_1@
# 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