GFS/虚拟存储
[1]
http://space.itpub.net/35489/viewspace-611424
在Linux系统环境下使用GFS文件系统
上一篇 / 下一篇 2009-08-05 17:11:37 / 个人分类:Linux/Unix管理
查看( 117 ) / 评论( 2 ) / 评分( 5 / 0 )
GFS文件系统其实是一个网络日志文件系统,通常被用作多台计算机共享同一存储设备。由于GFS是日志文件系统,所以,如果将其应用到单独的一台计算机上,即完全等同于本地日志文件系统,享受日志文件系统带来的好处。本文便向各位简介GFS文件系统在linux环境下的使用。
一、 下载与编译
下载GFS文件系统地址:http://www.sistina.com/products_gfs.htm
GFS文件系统以前是一个源代码完全公开的项目,直至版本为GFS-4.2.0时都可以下载到源代码。笔者在写这一篇文章时,下载到了GFS4.2.0的源代码,但是现在再也无法下载到GFS4.2.0以后的代码了,因为GFS开始收费了。不过,4.1.1及以前的版本仍然可以在这里下载到:ftp://ftp.sistina.com/pub/GFS。 试用版可以通过在http://www.sistina.com/注册后下载使用30天。
1、 编译核心
本文以GFS4.2.0为例进行说明。首先对核心打补丁,运行以下脚本,为核心打补丁:
# ./GFS-contribe-4.2.0/scripte/apply_patch –k /usr/src/linux –p
回答一大串的yes,
完成打补丁工作。之后,运行以下命令:
#make menuconfig
#make dep
#make bzImage;make modules; make modules_install
#cp bzImage /boot
编辑/etc/lilo.conf,运行lilo
之后,重新启动系统。
2、安装GFS文件系统的配套工具软件��
安装步骤如下:
#tar –zxvf GFS-4.2.0.tar.gz
编译过程如下:
#./configure
#make
#make install
编译安装GFS工具完成。
二、 使用GFS文件系统
在编译时,将GFS编译为可加载模块,所以在使用时,首先要加载GFS模块。加载模块命令如下:
#modprobe nolock
在加载gfs模块之前首先要加载nolock模块,因为gfs依赖于nolock模块
#modprobe gfs
编译时,GFS文件系统是以可插入模块方式编译的,所以用此命令加载gfs模块。
内核加载了对GFS文件系统的支持模块后,接下来是创建一个GFS文件系统,使用GFS工具创建GFS文件系统,创建过程如下:
[root@test /sbin]# ./mkfs_gfs -j 5 /dev/sda8 –p nolock
Device: /dev/sda8
Blocksize: 4096
Filesystem Size: 177484
Journals: 5
Resource Groups: 10
Locking Protocol:
Lock Table:
Syncing...
All Done
[root@test /sbin]#
说明:将分区/dev/sda8格式化为gfs文件系统,在本分区内保存日志记录。
格式化完成后,下来是加载GFS文件系统
# mount –t gfs /dev/hda8 /gfs ##说明:将GFS分区加载到/gfs目录下
GFS: Trying to acquire journal lock 0…
GFS: Trying at journal 0…
GFS: Done
以上表示成功mount,接下来就可以使用了。
为了让以后机器启动以后自动加载GFS文件系统,需要改写/etc/fstab文件,加以下内容:
/dev/hda8 /gfs default 0 0
以后系统启动时就会自动加载GFS文件系统了。
详文参考:http://www.xker.com/page/e2007/0908/33789.html
[2]
http://www.chinaunix.net/jh/4/838249.html
[保留] 用VMWARE安装配置GFS(使用DLM方法)
http://www.chinaunix.net 作者:zhangning_1999 发表于:2006-12-06 18:03:11
【发表评论】 【查看原文】 【Linux讨论区】【关闭】
本文参考文献:
REDHAT官方网站:
Red Hat GFS 6.1 Administrator's Guide
http://www.redhat.com/docs/manuals/csgfs/browse/rh-gfs-en/index.html
Red Hat Cluster Suite Configuring and Managing a Cluster
http://www.redhat.com/docs/manuals/csgfs/browse/rh-cs-en/index.html
CU网站:
GFS6.1 ON RHAS4 U2安装文档
http://www.chinaunix.net/jh/4/746833.html
RedHat GFS 集群文件系统入门和进阶 资源帖
http://bbs.chinaunix.net/viewthread.php?tid=777867&extra=page%3D1%26filter%3Ddigest
用VMware GSX和W2K 群集服务实现Exchange群集
http://www.chinaunix.net/jh/34/299757.html
注视:本文后半部分5-10部分基本抄袭suran007 同学的文章,但是去掉了LVM部分,因为没有这个环境。特此GPL公告。
后面我将写一个前端LVS,后端GFS的配置文档,希望对大家有所帮助。
一、测试环境
主机:一台PC,AMD-64位的芯片,1G内存,安装CentOS-4.4-x86_64版本的操作系统
在这个主机上面安装了三个虚拟机,全部安装CentOS-4.4-x86_64版本的操作系统,未进行内核定制,也未打内核补丁,同时安装了X-windows系统,同时参考
http://www.chinaunix.net/jh/34/299757.html
这篇文章创建了共享磁盘,三个虚拟机使用一个共享磁盘,不过我的网卡一开始就设了两个
二、需要安装的包以及顺序
包下载地址:
http://mirror.centos.org/centos/4/csgfs/x86_64/RPMS/
2.1. 在所有节点上安装必须的软件包,软件包完整列表请参考GFS6.1用户手册 (http://www.redhat.com/docs/manuals/csgfs/browse/rh-gfs-en/ch-install.html#S1-PKG-
INSTALL)
rgmanager — Manages cluster services and resources
system-config-cluster — Contains the Cluster Configuration Tool, used to graphically configure the cluster and the display of the current status of the
nodes, resources, fencing agents, and cluster services
ccsd — Contains the cluster configuration services daemon (ccsd) and associated files
magma — Contains an interface library for cluster lock management
magma-plugins — Contains plugins for the magma library
cman — Contains the Cluster Manager (CMAN), which is used for managing cluster membership, messaging, and notification
cman-kernel — Contains required CMAN kernel modules
dlm — Contains distributed lock management (DLM) library
dlm-kernel — Contains required DLM kernel modules
fence — The cluster I/O fencing system that allows cluster nodes to connect to a variety of network power switches, fibre channel switches, and integrated
power management interfaces
gulm — Contains the GULM lock management userspace tools and libraries (an alternative to using CMAN and DLM).
iddev — Contains libraries used to identify the file system (or volume manager) in which a device is formatted
Also, you can optionally install Red Hat GFS on your Red Hat Cluster Suite. Red Hat GFS consists of the following RPMs:
GFS — The Red Hat GFS module
GFS-kernel — The Red Hat GFS kernel module
gnbd — The GFS Network Block Device module
gnbd-kernel — Kernel module for the GFS Network Block Device
lvm2-cluster — Cluster extensions for the logical volume manager
GFS-kernheaders — GFS kernel header files
gnbd-kernheaders — gnbd kernel header files
2.2 安装软件和顺序
安装脚本,install.sh
#!/bin/bash
rpm -ivh kernel-smp-2.6.9-42.EL.x86_64.rpm
rpm -ivh kernel-smp-devel-2.6.9-42.EL.x86_64.rpm
rpm -ivh perl-Net-Telnet-3.03-3.noarch.rpm
rpm -ivh magma-1.0.6-0.x86_64.rpm
rpm -ivh magma-devel-1.0.6-0.x86_64.rpm
rpm -ivh ccs-1.0.7-0.x86_64.rpm
rpm -ivh ccs-devel-1.0.7-0.x86_64.rpm
rpm -ivh cman-kernel-2.6.9-45.4.centos4.x86_64.rpm
rpm -ivh cman-kernheaders-2.6.9-45.4.centos4.x86_64.rpm
rpm -ivh cman-1.0.11-0.x86_64.rpm
rpm -ivh cman-devel-1.0.11-0.x86_64.rpm
rpm -ivh dlm-kernel-2.6.9-42.12.centos4.x86_64.rpm
rpm -ivh dlm-kernheaders-2.6.9-42.12.centos4.x86_64.rpm
rpm -ivh dlm-1.0.1-1.x86_64.rpm
rpm -ivh dlm-devel-1.0.1-1.x86_64.rpm
rpm -ivh fence-1.32.25-1.x86_64.rpm
rpm -ivh GFS-6.1.6-1.x86_64.rpm
rpm -ivh GFS-kernel-2.6.9-58.2.centos4.x86_64.rpm
rpm -ivh GFS-kernheaders-2.6.9-58.2.centos4.x86_64.rpm
#gnbd:
rpm -ivh gnbd-kernel-2.6.9-9.43.centos4.x86_64.rpm
rpm -ivh gnbd-kernheaders-2.6.9-9.43.centos4.x86_64.rpm
rpm -ivh gnbd-1.0.7-0.x86_64.rpm
rpm -ivh gulm-1.0.7-0.x86_64.rpm
rpm -ivh gulm-devel-1.0.7-0.x86_64.rpm
rpm -ivh iddev-2.0.0-3.x86_64.rpm
rpm -ivh iddev-devel-2.0.0-3.x86_64.rpm
rpm -ivh magma-plugins-1.0.9-0.x86_64.rpm
rpm -ivh rgmanager-1.9.53-0.x86_64.rpm
rpm -ivh system-config-cluster-1.0.25-1.0.noarch.rpm
rpm -ivh ipvsadm-1.24-6.x86_64.rpm
rpm ivh piranha-0.8.2-1.x86_64.rpm --nodeps
注视:有些包有依赖关系,使用nodeps开关进行安装即可,另外因为本人安装了X-windows,所以gnome的包没写在这里
2.3、修改各个节点上的/etc/hosts文件(每个节点都一样)
如下:
[root@gfs-node01 etc]# cat hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
#127.0.0.1 gfs-node01 localhost.localdomain localhost
192.168.10.1 gfs-node01
192.168.10.2 gfs-node02
192.168.10.3 gfs-node03
192.168.10.1 gnbd-server
[root@gfs-node01 etc]#
备注:我把gnbs-server和node01放在了同一台server上,实际运行如果有条件的话中最好分开
三、在node-01上进行分区
#dmesg |grep scsi察看scsi设备,如下:
[root@gfs-node01 ~]# dmesg|grep scsi
scsi0 : ioc0: LSI53C1030, FwRev=00000000h, Ports=1, MaxQ=128, IRQ=169
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
说明认出了scsi设备,然后用fdisk进行了分区,注意,只进行分区,不要格式化,在这里我使用fdisk分了两个大小为3G的分区,分别为:
/dev/sda1和/dev/sda2,如下:
[root@gfs-node01 ~]# fdisk -l
Disk /dev/hda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 1 13 104391 83 Linux
/dev/hda2 14 1044 8281507+ 8e Linux LVM
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 366 2939863+ 83 Linux
/dev/sda2 367 732 2939895 83 Linux
[root@gfs-node01 ~]#
四、运行system-config-cluster进行配置
(注视“因为system-config-cluster需要X-windows运行,所以第一次测试时安装了X-windows,实际配置时候只需要根据下面的文件进行修改即可)
增加三个节点,节点的权置全部设置为1,即Quorum值设置为1
三个节点的名称为:
gfs-node01
gfs-node02
gfs-node03
修改cluster.conf文件,如下:
[root@gfs-node01 ~]# cat /etc/cluster/cluster.conf
<?xml version="1.0"?>
<cluster config_version="1" name="alpha_cluster">
<fence_daemon post_fail_delay="0" post_join_delay="3"/>
<clusternodes>
<clusternode name="gfs-node01" votes="1">
<fence>
<method name="1">
<device name="F-Man" nodename="gfs-node01" ipaddr="192.168.10.1"/>
</method>
</fence>
</clusternode>
<clusternode name="gfs-node02" votes="1">
<fence>
<method name="1">
<device name="F-Man" nodename="gfs-node02" ipaddr="192.168.10.2"/>
</method>
</fence>
</clusternode>
<clusternode name="gfs-node03" votes="1">
<fence>
<method name="1">
<device name="F-Man" nodename="gfs-node03" ipaddr="192.168.10.3"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman/>
<fencedevices>
<fencedevice agent="fence_manual" name="F-Man"/>
</fencedevices>
<rm>
<failoverdomains>
<failoverdomain name="web_failover" ordered="1" restricted="0">
<failoverdomainnode name="gfs-node01" priority="1"/>
<failoverdomainnode name="gfs-node02" priority="2"/>
<failoverdomainnode name="gfs-node03" priority="3"/>
</failoverdomain>
</failoverdomains>
</rm>
</cluster>
[root@gfs-node01 ~]#
使用scp命令把这个配置文件copy到02/03节点上
五、 在01/02/03节点上启动dlm,ccsd,fence等服务
5.1、在三个节点上加载dlm模块
[root@gfs-node01 cluster]# modprobe lock_dlm
[root@gfs-node02 cluster]# modprobe lock_dlm
[root@gfs-node03 cluster]# modprobe lock_dlm
5.2、启动ccsd服务
[root@gfs-node01 cluster]# ccsd
[root@gfs-node02 cluster]# ccsd
[root@gfs-node03 cluster]# ccsd
5.3、在两个节点上启动集群管理器(cman)
root@one # /sbin/cman_tool join
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
[root@gfs-node03 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
node 3:
[root@gfs-node03 cluster]# ccs_test connect
Connect successful.
Connection descriptor = 60
5.5、查看节点状态
cat /proc/cluster/nodes,应该返回
[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
3 1 3 M gfs-node03
[root@gfs-node01 cluster]#
六、加入fence域:
[root@gfs-node01 cluster]# /sbin/fence_tool join
[root@gfs-node02 cluster]# /sbin/fence_tool join
[root@gfs-node03 cluster]# /sbin/fence_tool join
七、 查看集群状态
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.10.1
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.10.2
Node3:
[root@gfs-node03 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-node03
Node ID: 3
Node addresses: 192.168.10.3
八、 在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/sda1 -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]#
8.2、 在01/02/03三个节点导入设备
[root@gfs-node01 cluster] # modprobe gnbd
[root@gfs-node02 cluster] # modprobe gnbd
[root@gfs-node03 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]#
Node3:
[root@gfs-node03 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-node03 cluster]#
8.3、查看导入状态信息 (三个节点都要做,我只写一个节点)
[root@gfs-node01 cluster]# gnbd_import -v -l
Device name : gfs
----------------------
Minor # : 0
sysfs name : /block/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
[root@gfs-node03 cluster] # modprobe gfs
9.2、在gnbd-server(我这里也是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、在三个节点挂载文件系统
在三个节点的根目录下都创建一个名为gfstest的目录,然后
[root@gfs-node01 cluster] # mount -t gfs /dev/gnbd/gfs /gfstest
[root@gfs-node02 cluster] # mount -t gfs /dev/gnbd/gfs /gfstest
[root@gfs-node03 cluster] # mount -t gfs /dev/gnbd/gfs /gfstest
注视:要在node01挂载文件完全完成后,再在02节点上进行mount,02节点mount完成后,再在03节点进行mount
注视:我在进行node03的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 2 /dev/gnbd/gfs做的,是两个节点的,后来从第九部开始重做并进行了umount,然后再mount就对了,希望对大家有所帮助,再次说明一下:
gfs_mkfs -p lock_dlm -t alpha_cluster:gfs -j 3 /dev/gnbd/gfs
其中的3表示三个节点,实际上的话你是几个就写几个就可以了
十、到此大家就可以玩玩gfs了,不过如果你也是虚拟机器的话,会有点慢阿,祝大家好运
[3]
http://www.orientsky.com.cn/_new/Read.asp?ID=1296
rhel5+gfs配置
[位置:集群系统·集群软件][字体:大 中 小][颜色:红 绿 蓝 黑][中文简体 中文繁體]
1 GFS简介
GFS是RedHat公司Global File System的简称,GFS是一个文件系统,为底层的共享块设备在文件系统级别提供并发的读写功能。与传统的NAS结构不同,GFS的文件系统层运行于高 带宽的FC协议网络(NAS的文件系统层依托传统的IP网络实现),因此更能发挥SAN存储架构的性能优势。GFS提供三种存储解决方案架构:
1.1 高性能和高可测性
如图一,多台GFS节点直接通过FC交换机连接到SAN存储体,应用程序直接跑在GFS节点上,避免了传统NAS架构中文件服务器节点的各种瓶颈和IP网络延迟。这种架构可支持300个GFS节点。
1.2 兼顾性能、可测性、价格
这种方式跨越IP跟FC两种协议,SAN存储通过GNBD(Global Network Block Device)被export到传统的IP网络,这似乎和NAS的架构有点类似,但实际上有巨大的区别,首先NAS的文件服务器只有一个(当然也可以实现 互为HA的架构),而GFS种的GNBD可以有多个,且是负载均衡(负载均衡本身包含了HA)的架构;其次NAS在IP网络上运行的是文件系统级别的操 作,我们知道,文件系统级别的操作对系统资源的消耗是巨大的,而GFS在IP网络上跑的是比文件系统更底层的类似ISCSI的协议,即数据块被封装在IP 包中进行传输,因此在效率上会比NAS高。每一个GNBD在内存中都有一个线程池,线程用于处理到SAN存储中一个数据块的路径映射,因此,每一个SAN 存储体都能通过任意一个GNBD来访问,实现了负载均衡和HA。
1.3 更经济,兼顾性能
这种架构和图二中的架构最大的区别是没有SAN存储体,存储方式是直连存储(DAS),这种方式可以在传统环境中轻松实现,但是需要考虑对GNBD和它的DAS的冗余。
2 物理架构
实现的架构跟图一类似,但有所简化.
在我们安装环境中,disk array是一个容量达7T的raid6磁盘阵列,两台gfs node:gfs-1和gfs-2通过私有网络192.168.1.0/24进行gfs集群间的通讯,避开了使用服务网络来进行集群通讯。
3 软件包安装
gfs软件包的安装可谓一波三折。gfs需要redhat cluster suite软件来协调gfs node对共享存储的I/O操作,因此需要rhcs套件,套件如下:
cman-2.0.60-1.el5.x86_64.rpm
cman-devel-2.0.60-1.el5.i386.rpm
cman-devel-2.0.60-1.el5.x86_64.rpm
ipvsadm-1.24-8.1.x86_64.rpm
perl-Net-Telnet-3.03-5.noarch.rpm
piranha-0.8.4-7.el5.x86_64.rpm
rgmanager-2.0.23-1.x86_64.rpm
system-config-cluster-1.0.39-1.0.noarch.rpm
gfs套件如下:
gfs2-utils-0.1.25-1.el5.x86_64.rpm
gfs-utils-0.1.11-1.el5.x86_64.rpm
kmod-gfs-0.1.16-5.2.6.18_8.el5.x86_64.rpm
kmod-gfs-xen-0.1.16-5.2.6.18_8.el5.x86_64.rpm
lvm2-cluster-2.02.16-3.el5.x86_64.rpm
另外,cman进程需要openais支持,因此安装套件还包括:
openais-0.80.2-1.el5.x86_64.rpm
openais-devel-0.80.2-1.el5.x86_64.rpm
把所有rpm包放到一个目录,使用rpm -Uvh --nodeps *全部安装。
4 配置
/etc/hosts中包括gfs node的主机名和ip对应关系:
192.168.1.1 gfs-1
192.168.1.2 gfs-2
修改/etc/lvm/lvm.conf中的locking_type值为3:
locking_type = 3
这里与rhel 4u2有不同,lvm.conf里有解释:
# Type of locking to use. Defaults to local file-based locking (1).
# Turn locking off by setting to 0 (dangerous: risks metadata corruption
# if LVM2 commands get run concurrently).
# Type 2 uses the external shared library locking_library.
# Type 3 uses built-in clustered locking.
rhel 5的clvm包没有包含locking_library,只有使用type 3了。
关于cluster的配置,可以使用图形界面的system-config-cluster进行,相关的操作可以参考rh官方文档,下面是配置好的/etc/cluster/cluster.conf文件:
<?xml version="1.0" ?>
<cluster alias="gfs_cluster" config_version="2" name="gfs_cluster">
<fence_daemon post_fail_delay="0" post_join_delay="3"/>
<clusternodes>
<clusternode name="gfs-1" nodeid="1" votes="1">
<fence>
<method name="1">
<device name="f-man" nodename="gfs-1"/>
</method>
</fence>
</clusternode>
<clusternode name="gfs-2" nodeid="2" votes="1">
<fence>
<method name="1">
<device name="f-man" nodename="gfs-2"/>
</method>
</fence>
</clusternode>
</clusternodes>
<cman expected_votes="1" two_node="1"/>
<fencedevices>
<fencedevice agent="fence_manual" name="f-man"/>
</fencedevices>
<rm>
<failoverdomains/>
<resources/>
</rm>
</cluster>
5 启动进程
按照如下步骤分别在两台node启动进程:
service cman start
service clvmd start
service gfs start
service rgmanager start
启动完之后就可以进行磁盘的操作了:
pvcreate /dev/sdb
vgcreate volGFS01 /dev/sdb
lvcreate -l 1668929 volGFS01 -n data01
创建文件系统和挂载:
gfs_mkfs -p lock_dlm -t gfs_cluster:gfs01 -j 10 /dev/volGFS01/data01
mkdir /gfs
mount -t gfs /dev/volGFS01/data01 /gfs
[4]
http://www.google.com.hk/search?q=vmware+%E8%99%9A%E6%8B%9F%E5%AD%98%E5%82%A8&hl=en&safe=active&prmd=ivns&ei=eQeRTeP1OISGuQPL9uG-DQ&start=10&sa=N
[5]
http://www.vmwhy.com/html/8_357_zh.html