一、GFS技术特征
● 主要应用于大文件和文件系统
● 支持最大300个节点
● 支持CLVM,实现卷管理
● 支持多种锁管理机制
● 每个节点都具有数据和元数据日志
● 支持x86/EM64T/AMD64/IA64
● POSIX兼容
● 在线文件系统管理 可以动态扩充 可以动态调整inodes
● 完全的读/写缓存
● 直接I/O能力
● CDPN支持(Context Dependent Path Names)
● 支持磁盘配额
● ACL支持
● 连贯的共享mmap()支持
● 避免中心数据结构存储
● 支持SAN/GNBD/ISCSI
锁管理器
GFS支持三种锁管理机制DLM、GULM、nolock。DLM是默认最优的锁管理器。
● DLM锁管理器
DLM(Distributed Lock Manager)是最优的锁管理器,它避免了GULM锁管理方式中必须提供GULM 锁管理服务器的缺点,不再需要设定锁管理服务器,而是采用对等的锁管理方式,大大提供处理性能,DLM避免了当单个节点失败需要整个恢复的性能瓶颈,DLM的请求是本地的,不需要网络请求,立即生效,通锁分层机制,DLM实现多个锁空间,并行锁模式。
● GULM锁管理器
GULM是GFS6.1以前的锁管理器,它必须要设置一个锁管理服务器,是一种client/Server的锁管理方式,显示易见,所有的锁请求必须要与锁管理服务器通讯。而且当节点增大的一定数量的时候,可能会出现磁盘的交换,降低了整个GFS系统的性能。
● nolock锁管理器 nolock实际并不是一个集群管理锁机制,它只能用于单个节点的GFS系统。一般用来测试和实验用。
二、配置lvm,开启gf支持
[root@node1 ~]# lvmconf --enable-cluster
[root@node1 ~]# cat /etc/lvm/lvm.conf | grep locking_type
locking_type = 3
# NB. This option only affects locking_type = 1 viz. local file-based
# The external locking library to load if locking_type is set to 2.
#开启分布式lvm服务以支持gfs选项,locking_type = 3,可手动修改/etc/lvm/lvm.conf,所有节点都需修改。
[root@node1 ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created
[root@node1 ~]# vgcreate vg01 /dev/sdd
Clustered volume group "vg01" successfully created
[root@node1 ~]# lvcreate -L 1024 -n lv01 vg01
Logical volume "lv01" created
[root@node1 ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy% Convert
lv00 vg00 -wi-ao 49.97G
lv01 vg01 -wi-a- 1.00G
三、gfs组件安装
[root@node1 ~]# yum list | grep gfs
This system is not registered with RHN.
RHN support will be disabled.
gfs-utils.i386 0.1.20-7.el5 installed
gfs2-utils.i386 0.1.62-20.el5 installed
kmod-gfs.i686 0.1.34-12.el5 installed
kmod-gfs-PAE.i686 0.1.34-12.el5 ClusterStorage_32
kmod-gfs-xen.i686 0.1.34-12.el5 ClusterStorage_32
[root@node1 ~]# uname -a
Linux node1 2.6.18-194.el5PAE #1 SMP Tue Mar 16 22:00:21 EDT 2010 i686 i686 i386 GNU/Linux
[root@node1 ~]# yum install kmod-gfs-PAE.i686
#kmod-gfs必须与系统kernel版本相对应
[root@node1 ~]# lsmod | grep gfs
gfs2 349833 1 lock_dlm
configfs 28753 2 dlm
#查看内核是否加载gfs模块
[root@node1 ~]# service gfs start
[root@node1 ~]# service clvmd start #开启分布式lvm服务以支持gfs
Activating VGs: 1 logical volume(s) in volume group "vg01" now active
1 logical volume(s) in volume group "vg00" now active
[确定]
[root@node1 ~]# chkconfig clvmd on
[root@node1 ~]# chkconfig gfs on
四、创建gfs文件系统
1、创建gfs文件系统所需信息(Required information):
Lock manager type
lock_nolock :用于单机支持gfs
lock_dlm :多节点集群
Lock file name
cluster_name:fs_name :指定集群名
Number of journals
One per cluster node accessing the GFS is required
Extras are useful to have prepared in advance
Size of journals
File system block size
2、格式:gfs_mkfs -p LockProtoName -t LockTableName -j Number BlockDevice
[root@node1 ~]# gfs_mkfs -b 4096 -j 4 -p lock_dlm -t cluster8:gfslv01 /dev/vg01/lv01
This will destroy any data on /dev/vg01/lv01.
Are you sure you want to proceed? [y/n] y
Device: /dev/vg01/lv01
Blocksize: 4096
Filesystem Size: 131028
Journals: 4
Resource Groups: 8
Locking Protocol: lock_dlm
Lock Table: cluster8:gfslv01
Syncing...
All Done
#-j:指定日志区数量,大于等于节点数,一般为:nodes+1
#-p:指定lock协议,单机可用lock_nolock,lock_nolock多用cluster故障单机加载gfs文件系统
#-t:指定支持的集群名和文件系统名
Linux认证辅导:RH436
内容版权声明:除非注明,否则皆为本站原创文章。