本文转载于 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 |