root@tow # /sbin/cman_tool join
5.4、测试ccsd服务
(注意:ccsd的测试要等cman启动完成后,然后才可以进行下面的测试
[root@gfs-node01 cluster]# ccs_test connect
[root@gfs-node02 cluster]# ccs_test connect
# ccs_test connect 各个节点的返回如下:
node 1:
[root@gfs-node01 cluster]# ccs_test connect
Connect successful.
Connection descriptor = 0
node 2:
[root@gfs-node02 cluster]# ccs_test connect
Connect successful.
Connection descriptor = 30
5.5、查看节点状态
cat /proc/cluster/nodes,应该返回
IXDBA.NET社区论坛
[root@gfs-node01 cluster]# cat /proc/cluster/nodes
Node Votes Exp Sts Name
1 1 3 M gfs-node01
2 1 3 M gfs-node02
[root@gfs-node01 cluster]#
六、加入fence域:
[root@gfs-node01 cluster]# /sbin/fence_tool join
[root@gfs-node02 cluster]# /sbin/fence_tool join 或者fence_tool join –c
七、 查看集群状态
Node 1:
[root@gfs-node01 cluster]# cat /proc/cluster/status
Protocol version: 5.0.1
Config version: 1
Cluster name: alpha_cluster
Cluster ID: 50356
Cluster Member: Yes
Membership state: Cluster-Member
Nodes: 3
Expected_votes: 3
Total_votes: 3
Quorum: 2
Active subsystems: 1
Node name: gfs-node01
Node ID: 1
Node addresses: 192.168.60.133
Node 2
[root@gfs-node02 cluster]# cat /proc/cluster/status
Protocol version: 5.0.1
Config version: 1
Cluster name: alpha_cluster
Cluster ID: 50356
Cluster Member: Yes
Membership state: Cluster-Member
Nodes: 3
Expected_votes: 3
Total_votes: 3
Quorum: 2
Active subsystems: 1
Node name: gfs-node02
Node ID: 2
Node addresses: 192.168.60.135
八、 在gnbd-server服务节点导出设备
8.1、启动gnbd_serv进程
[root@gfs-node01 cluster]# /sbin/gnbd_serv –v –n
gnbd_serv: startup succeeded
导出设备
[root@gfs-node01 cluster]# gnbd_export -v -e gfs -d /dev/sdb1 -c
gnbd_export: created GNBD gfs serving file /dev/sda1
[root@gfs-node01 cluster]#
查看export状态信息
[root@gfs-node01 cluster]# gnbd_export -v -l
Server[1] : gfs
--------------------------
file : /dev/sda1
sectors : 5879727
readonly : no
cached : yes
timeout : no
[root@gfs-node01 cluster]#
以上操作是在gnbd-server上完成,其它操作全部是在节点上完成。
8.2、 在01/02两个节点导入设备
[root@gfs-node01 cluster] # modprobe gnbd
[root@gfs-node02 cluster] # modprobe gnbd
导入设备
Node1:
[root@gfs-node01 cluster]# gnbd_import -v -i gnbd-server
gnbd_import: created gnbd device gfs
gnbd_recvd: gnbd_recvd started
[root@gfs-node01 cluster]#
注视:此处的gnbd-server即是你写在/etc/hosts里面的冬冬
Node2:
[root@gfs-node02 cluster]# gnbd_import -v -i gnbd-server
gnbd_import: created directory /dev/gnbd
gnbd_import: created gnbd device gfs
gnbd_recvd: gnbd_recvd started
[root@gfs-node02 cluster]#
8.3、查看导入状态信息 (两个节点都要做)
[root@gfs-node01 cluster]# gnbd_import -v -l
Device name : gfs
----------------------
Minor # : 0
sysfs name : /dev/gnbd0
Server : gnbd-server
Port : 14567
State : Close Connected Clear
Readonly : No
Sectors : 5879727
[root@gfs-node01 cluster]#
九、 建立gfs文件系统并且挂载
9.1、在两个节点加载gfs模块
[root@gfs-node01 cluster] # modprobe gfs
[root@gfs-node02 cluster] # modprobe gfs
9.2、在任意一个节点(我这里也是node01节点)上建立gfs文件系统
[root@gfs-node01 cluster]#
gfs_mkfs -p lock_dlm -t alpha_cluster:gfs -j 3 /dev/gnbd/gfs
This will destroy any data on /dev/gnbd/gfs.
It appears to contain a GFS filesystem.
Are you sure you want to proceed? [y/n] y
Device: /dev/gnbd/gfs
Blocksize: 4096
Filesystem Size: 669344
Journals: 2
Resource Groups: 12
Locking Protocol: lock_dlm
Lock Table: alpha_cluster:gfs
Syncing...
All Done
[root@gfs-node01 cluster]#
9.3、在两个节点挂载文件系统
在两个节点的根目录下都创建一个名为gfs的目录,然后
[root@gfs-node01 cluster] # mount -t gfs /dev/gnbd/gfs /gfs
[root@gfs-node02 cluster] # mount -t gfs /dev/gnbd/gfs /gfs
注释:要在node01挂载文件完全完成后,再在02节点上进行mount,02节点mount完成后,再在其它节点进行mount
十:遇到问题:
10.1、例如,我在进行node02的mount时出现了如下错误
[root@gfs-node03 cluster]# mount -t gfs /dev/gnbd/gfs /gfstest
mount: wrong fs type, bad option, bad superblock on /dev/gnbd/gfs,
or too many mounted file systems
经查,发现我是按照
gfs_mkfs -p lock_dlm -t alpha_cluster:gfs -j 1 /dev/gnbd/gfs
做的,是一个节点的,于是umount节点1,从第九部开始重做,然后再mount就对了。
gfs_mkfs -p lock_dlm -t alpha_cluster:gfs -j 3 /dev/gnbd/gfs
其中的3表示三个节点,实际上的话你是几个就写几个就可以了。
10.2、mount: permission denied错误
如果你配置了多个fence域,而该域又不在本结点且还没有配置好该结点,需要这样启动fence设备:
fence_tool leave
fence_tool join –c
否则会出现这样的错误:mount: permission denied 为这个问题我废了一天!建议凡是客户端配置除mount步骤外其它步骤同时在结点上进行,而mount时得一个结点mount 完了才能接着mount。