分类: LINUX
2009-05-07 09:50:30
最近在学习GFS,网上找到一篇介绍,挺不错,贴出来看看
Red Hat GFS 存储解决方案 |
概论:本白皮书介绍了Red Hat企业Linux解决方案中的Red Hat GFS 在存储管理方面的原理与技术。
Red Hat GFS文件系统
随着IT应用的广泛及数据共享访问的需求的增加,Linux的集群技术越来越重要,很多情况下会有多个服务器去同时访问共享数据的需要,一般来说,传统的解决方法都是通过NFS/CIFS等方式来实现,或者是通过数据复制的方法来保证数据的一致性。但是通常情况下随着数据海量的增加及客户端数量的增加, NFS/CIFS的性能会很差,而通过数据复制方式又不能保证数据的实时一致性。为了克服这种弱点,Red Hat 公司提供了自己的解决方案,它通过GFS来共享存储上的同一分区,使服务的各个节点就像访问自己本地文件系统一样,由于采用的是直接的I/O连接和访问方式,大大提升了共享访问同一分区数据的性能.
Red Hat Global File System (GFS)是一个开放源代码的,POSIX兼容的Cluster文件系统和卷管理系统,它运行在Red Hat企业Linux上,支持SAN (Storage Area Netowrk)。GFS支持Red Hat 企业Linux支持所有主要服务器和存储设备。它是Linux上的领先的第一个Cluster文件系统,和其它Cluster文件系统相比,GFS有着最强大的功能,广泛的支持和最好的性价比.
Red Hat GFS使运行Red Hat 企业Linux的多台服务器可以同时读写在SAN/ISCSI上的同一个共享文件,提供了更高的文件访问性能,降低了系统的复杂性和数据冗余备份的成本,保证了系统的数据完整性和统一性。 Red Hat GFS具有防止单点失效的高可用功能,可以提供从一台到几百台运行Red Hat 企业Linux的服务器提供服务,同时可以很好地和Linux上的各种应用程序保持兼容,共同工作。
Red Hat GFS和Red Hat企业Linux紧密地结合在一起,可以通过Red Hat Network来进行安装、升级和管理。各种应用程序如Oracle 9i RAC、在Cluster计算环境中的workloads 、文件服务、web和邮件服务都可以和Red Hat GFS完美的结合工作并达到更好的性能。
● 简单布署你的数据架构
确保应用程序不需要重新编译就可以运行在GFS环境中
GFS文件系统通过一个或多个存储单元来构建一个存储池,集群中的节点通过SAN可以连接到指定的存储池,这样每个集群节点就可以通过一个或多个路径把存储池连接到网络应用中,由于存储池连接方式是通过直接I/O连接方式,所以可以大大提升I/O性能。
由于多个集群节点通时访问/读写同一分区/数据,就必顺通过一个或多个管理服务器来保证数据的一致性,在GFS中,管理服务器叫DLM (distributed lock manager),通过DLM可以与每个集群节点心跳通讯,以确保数据完整性,及节点健康性,一旦发现某个节点通讯有问题,它会把该节点从集群中隔离出来,直到该节点重新恢复,才能再加入集群节点中。
考虑到DLM服务器的高可用性,GFS可以通多设置多个DLM的备份,一旦主DLM发生故障,备份的DLM就可以接管作为主DLM来管理整个GFS。
所以从节点到DLM,都可以实现HA的功能 ,就不存在单点故障的问题,可以确保GFS最高程度的高可用性。
Red Hat GFS软件同时包含Red Hat Cluster Suite套件,通过与Red Hat Cluster Suite结合使用,便产生两种实施方式。
? GFS和Cluster Suite共同组建的HA方式
HA+GFS解决方案 |
SAN |
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系统。一般用来测试和实验用。
Red Hat GFS 6.0 | Red Hat GFS 6.1 | |
Red Hat Enterprise Linux 3 support | Yes | No |
Red Hat Enterprise Linux 4 support | No | Yes |
LVM2 support | No | Yes |
Pool support | Yes | No |
Improved fsck | No | Yes |
DLM support | No | Yes |
GULM support | Yes | Yes |
Cluster Suite infrastructure | No | Yes |
Mount point withdraw | No (panic instead) | Yes |
Red Hat Cluster Suite和Red Hat GFS最大的区别在于它们的数据访问功能。Cluster Suite在同一时间只能有一台服务器访问共享磁盘上的一个磁盘分区。GFS却可以在同一时间内多台服务器同时访问共享磁盘上的同一个磁盘分区,甚至同一个文件。Cluster Suite通过失败切换功能提供了HA功能,GFS不仅提供了HA功能,还同时允许多台服务器同时访问同一个磁盘分区和文件。GFS同时包含了Cluster Suite功能在内,这样可以为那些不支持并发访问功能的应用软件提供HA功能。
Red Hat GFS和Red Hat Cluster Suite运行在Red Hat 企业Linux AS或ES上,支持Intel X86/Itanium2/EM64T和AMD AMD64平台。