1.前言
在没有GPFS集群文件系统前
一个硬盘(LUN或者一台存储)就只是一个单纯的、纯粹的、赤裸裸的磁盘:
读写速度是一个不可逾越的界限、永远都只能被一台所使用、坏了就坏了,数据也就Game over了,
但是自从有了GPFS,一个硬盘从此发生了质的改变!
GPFS的强大性能,在流媒体领域和海量数据中,会倍受关注和喜爱!
最后,让我们以最热烈的欢呼声来迎接它——GPFS
2.GPFS功能简介
GPFS 是 IBM 公司第一个共享文件系统,起源于 IBM SP 系统上使用的虚拟共享磁盘技术( VSD )。作为这项技术的核心, GPFS 是一个并行的磁盘文件系统,它保证在资源组内的 所有节点可以并行访问整个文件系统;而且针对此文件系统的服务操作,可以同时安全地在使用此文件系统的多个节点上实现。 GPFS 允许客户共享文件,而这些文件可能分布在不同节点的不同硬盘上。 与 NFS 相比,GPFS 在 SAN 环境下可以提供更好的性能。
GPFS系统优势:高性能、跨平台设计、数据一致性、数据安全性、管理简单等!举例来说:
高性能:①DS4300+GPFS=DS4700,低成本的存储+GPFS可以实现高端存储的高性能读写(提供存储性能的同时可以节约成本)事实上,IBM的SoNAS存储就配置有GPFS
②一个GPFS文件可以横跨在集群上的所有主机,分布在所有的磁盘上,GPFS在读写文件时,采取条带化技术,将数据分成条带并行写入到该GPFS下所有的NSD(Network shared disk)中。并且GPFS条带化原理保证同一个GPFS下所有磁盘的I/O负载时均衡的。
跨平台设计:
GPFS 支持在一个集群内加入异构的平台。
支持异构的硬件环境:System p, System x。
支持异构的操作系统:AIX, Linux
简而言之:无论你的操作系统是linux还是aix或者window,我都可以让你们同时访问我的数据
数据一致性:
GPFS 通过一套复杂的信令管理机制:令牌管理机制保证数据一致性。通过这套机制允许任意节点通过各自独立的路径到达同一个文件。即使节点无法正常工作, GPFS 也可以找到其它的路径
数据安全性:
GPFS 也是一种日志文件系统,为不同节点建立各自独立的日志。日志中记录 metadata 的分布,一旦节点发生故障后,可以保证快速恢复数据。
GPFS 的 fail-over 功能通过规划,将数据分布到不同 failure group 内达到高可用性,减少单点故障的影响。为了保证数据可用性, GPFS 在多个 failure group 内为每个数据实例做备份,即使创建文件系统时没有要求复制, GPFS 也会自动在不同的 failure group 内复制恢复日志。
注意:在GPFS集群设计里面,数据安全性是必须重点考虑的对象之一,譬如如何做到2N+1的冗余,来获取最大的可用性
管理简单:
GPFS 自动在各个节点间同步配置文件和文件系统信息,而且在同一个节点内,对 GPFS 的管理可以在任一个节点上进行。
支持超大文件或文件系统:
理论上支持2的99字节大小的文件系统
理论上每个文件系统支持2,147,483,648(2Billion)个文件
目前国内文件数据最多的GPFS文件系统内超过1亿个文件
消除热点磁盘竞争:
GPFS能够有效的将集群上所有的磁盘负载的I/O进行均衡,这样就避免了热点磁盘出现竞争问题,从而提高性能。
GPFS 可用性机制(类似卷组中的Quorum)
GPFS 的数据完整性 一方面是由数据安全机制来保证,另外也通过一套可用性判断机制来完全保证数据完整性与系统安全。
GPFS 提供三套不同的 quorum 机制来判断系统当前的状态,其中 File Descriptor Quorum 是系统内置的,不能做配置,另外两种 node quorum 和 tiebreaker quorum 方式只能二者选其一,使用那种方式要基于我们的系统环境与可靠性分析。
- File system Descriptor Quorum,File system Descriptor 顾名思义即描述文件系统信息的数据。我们在几个不同的 failure-group 的磁盘上创建 GPFS 文件系统时,会把文件系统的配置信息(简写为 FD)的拷贝写到多个磁盘上,以实现冗余备份。FD quorum 的机制即通过判断含有 FD 磁盘的在线情况来判断当前系统是否正常,当超过半数的含有 FD 的磁盘掉线时,就判断为系统故障,将会自动关闭文件系统。
- Node Quorum 是通过主机状态的来判断系统可用性的机制。GPFS 文件系统集群中,可以设置多个主机节点为 Quorum node。Node Quorum 的机制是通过判断 Quorum node 的状态来判断系统是否正常,当超过半数的 Quorum node 在线时,判断系统为正常,反之,将关闭文件系统。
- Tiebreaker quorum 是通过磁盘的状态来判断系统的可用性。我们可以设置系统通过监视指定的一些磁盘作为 Tiebreaker Disk。当超过半数的 Tiebreaker Disk 掉线时,则判断系统故障,将自动关闭文件系统。Tiebreaker 最多只能配置两个用来监控磁盘状态的 quorum 主机,当 2 台 quorum 主机都宕机的话,GPFS 系统也将会关闭。其优势在于节点数较少时可用性较高,但节点数较多的情况建议采用 Node quorum 模式。
根据以上三种判断机制,GPFS 自动判断系统的状态,当异常发生时自动关闭系统以保护系统和数据的完整性。
3.裸设备,JFS,JFS2,GPFS文件系统的I/O特征
与raw/jfs/jfs2 在 I/O 性能上相比较,GPFS一直是王者,且从未被超越!
★各部门注意了,这里我们没有和HDFS(Hadoop Distributed FS)做深入的研究
★★ 以下是国内外对这两种高性能、分布式文件系统进行一个粗略的比较。
4.GPFS vs HDFS
维基百科在介绍GPFS的同时也将HDFS 与GPFS做了一些简要的比较。
http://en.wikipedia.org/wiki/GPFS
IBM官网
国外某权威的文档
http://static.usenix.org/events/hotcloud09/tech/full_papers/ananthanarayanan.pdf