存储调研:GPFS并行文件系统原理解析

Posted YoungerChina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储调研:GPFS并行文件系统原理解析相关的知识,希望对你有一定的参考价值。

1、GPFS历史背景及发展

GPFS(General Parallel File System)是IBM公司推出的行业领先的并行分布式通用并行集群文件系统,GPFS从1993开始研发,1995年投入商用(最早投入使用在多媒体处理行业,所以我们现在看到GPFS的很多目录和命令为什么都有MM[multimedia]两个字母,就是根据这个背景延续下来的)。

从1998年开始首先应用于AIX集群,2001年后应用于Linux集群,2010年后支持windows集群,IBM改名GPFS为Spectrum Scale,最新版本为Spectrum Scale5.1.x。

2、GPFS架构

GPFS是一个共享磁盘,并行集群文件系统。可以跑在AIX,Linux和Windows操作系统的IBM Power和英特尔/AMD的x86架构下。

2.1  SAN架构和NSD架构

目前,GPFS有三种架构,第一个示意图中的每个Application Nodes上安装GPFS,形成集群,下面的存储和每一个Nodes相连。第二个示意图中某一个或多个Node作为NSD server,直接和存储相连,其他Nodes通过NSD servers访问存储,图中的Application Nodes和NDS Servers共同组成GPFS Cluster。将示意图打开:

从另外一个角度来看GPFS的基本结构:

磁盘:GPFS 文件系统最底层的是物理磁盘设备。原则上可以采用系统上任何块设备。

网络共享磁盘(NSD):NSD 是由磁盘映射出来的虚拟设备(LUN),NSD 与磁盘(LUN)是一一对应的关系。NSD 被标记了不同属性来区分其用途,我们可以将磁盘标记为 4 种用途(如上图所示)

GPFS 文件设备:GPFS 设备是一个可被系统挂载的文件设备,由 NSD 创建而成,可以并行的同时挂载在多个节点上。

Server 1~Server N,对应示意图中的Application Nodes

2.2 SNC(Share Nothing Cluster)架构

第三种架构是在2010年推出的,这种新架构是搭建在IBM并行文件系统集群(GPFS)之上的,融合Hadoop Distributed File System (HDFS)通过集群技术提供高可用性、动态文件系统管理和高级数据复制技术。

IBM将GPFS-SNC描述成一种通用的文件系统,让IBM能够在“所有领域”竞争,不管是针对Google的MapReduce框架,在传统数据仓库环境下针对Oracle的Exadata Database Machine和EMC的Greenplum Data Computing Appliance,或是在云领域。

3、GPFS工作方式和扩展方式

GPFS可以在线添加存储和服务器,不影响应用正常运行,在IO服务器和磁盘存储两层都有很好的线性扩展能力。

最右侧的IO节点和磁盘存储是在线扩展的,支持8192节点的集群系统,目前在线最大集群规模的为2440个linux节点和1530个AIX节点

很多实际安装的GPFS集群规模都在500个节点以上

3.1、GPFS与NFS,SAN File System系统结构的比较

GPFS不同于以下常见的两种架构:

第一种,File Server为传统的NAS,扩展受限,存在性能瓶颈。但是对于isilon、N9000这种分布式NAS来说,不存在这个问题。

第二种,有元数据节点,有潜在的性能瓶颈和单点故障。如果是大文件读写场景,或者文件不是很小、规模不是很大的场景,也不存在性能瓶颈问题。

4、GPFS的优势

GPFS是从Tiger Shark 发展过来的,是目前应用范围较广的一个系统。在系统设计中采用了多项先进技术。它是一个共享磁盘(shared-disk)的分布式并行文件系统,客户端采用基于光纤通道或者iSCSI 与存储设备相连,也可以通过通用网络相连。

GPFS 的磁盘数据结构可以支持大容量的文件系统和大文件,通过采用分片存储、较大的文件系统块、数据预读等方法获得了较高的数据吞吐率;采用扩展哈希(extensible hashing)技术来支持含有大量文件和子目录的大目录,提高文件的查找和检索效率。GPFS 采用不同粒度的分布式锁解决系统中的并发访问和数据同步问题:字节范围的锁用于用户数据的同步,动态选择元数据节点(metanode)进行元数据的集中管理;具有集中式线索的分布式锁管理整个系统中空间分配等。

GPFS 采用日志技术对系统进行在线灾难恢复。每个节点都有各自独立的日志,且单个节点失效时,系统中的其他节点可以代替失效节点检查文件系统日志,进行元数据恢复操作。GPFS 还有效地克服了系统中任意单个节点的失效、网络通信故障、磁盘失效等异常事件。此外,GPFS 支持在线动态添加、减少存储设备,然后在线重新平衡系统中的数据。这些特性在需要连续作业的高端应用中尤为重要。

性能

–文件存储采用条带化技术,单个文件跨节点和存储系统分布,提高并发访问性能

–智能预取机制,通过对文件访问模式的预测来进行预取,降低读写延迟

–分布式的字节级锁管理,允许最大程度的并发访问

–分布式元数据服务器,所有元数据分散在磁盘阵列中,并可以由任何I/O节点管理,避免元数据处理成为系统瓶颈

–支持客户端数据缓存,不同节点可以根据需要设置不同的缓存大小

–数据块的大小可自定义,16 KB, 64 KB, 128 KB, 256 KB, 512 KB, 1 MB, 2 MB, 4MB, 8 MB and 16 MB

–NSD通信支持InfiniBand高速网络

可扩展性

–最大可支持数千个节点的集群规模和数百GB每秒的IO吞吐量

–在不停止服务的情况下向集群添加和删除节点

–在不停止服务的情况下向文件系统加入和删除磁盘

–在不停止服务的情况下修改文件系统inode数目

 高可用性

–先进的仲裁管理机制,确保系统最大程度的可用性,没有单一故障点

–管理服务器在manager资源池内实现自动故障切换

–支持多路径磁盘访问,一条路径访问失败,可以通过其它路径实现,每个NSD可以支持8个NSD Server

–支持对元数据和用户数据做replication,保证系统稳定可靠

–Rolling Update,不停机升级

–支持日志功能,实现系统快速恢复

管理简单

–用户接口简单,与常用文件系统类似,方便用户使用

–单点管理,可以集群内任何一个节点上完成对GPFS的管理任务,命令将在所有节点上生效

–自动在各个节点间同步配置文件和系统信息

GPFS的其它功能

–SnapShot(快照)

– ILM(信息生命周期管理)、HSM(分级存储管理)

–跨集群数据共享(multi-cluster cross mount)

–Traditional GPFS ACL、NFS V4 ACL

–配额管理:User Qutota、Group Quota、fileset Quota

–直接通过TSM server备份数据

5、GPFS与高性能计算

HPC 领域里面使用 GPFS,一般会在所有节点里面都安装 GPFS,只有 IO 节点(NSD Server)上可以直接访问存储(一般使用的 SAN 存储),计算节点和登录节点一般是安装 GPFS Client(或者叫NSD Client)。对应NSD Server Model。

GPFS License分为Server和Client两种,价格不同。

GPFS文件系统被广泛应用于世界上超大规模的高性能计算机系统中,包括运行速度最快的IBM Blue Gene系统。在TOP500计算机排名中的100+、200+套IBM计算机系统几乎都采用了GPFS并行文件系统方案。这些项目成功实施和顺利运行充分证明了GPFS完全可以胜任用来构建超大规模的计算机系统。

IBM GPFS并行文件系统软件在设计上不存在任何性能瓶颈,因此GPFS并行文件系统可以充分发挥硬件系统的性能。换句话说,GPFS并行文件系统的性能完全取决于硬件配置的好坏,而文件系统软件本身对性能的影响微乎其微。GPFS+DDN是业界最佳拍档。

项目

最大限制

Linux已验证集群

单个文件系统容量

299Byte

2PB

集群中并行文件系统个数

256

32

单个文件系统中文件个数

2,147,483,648

N/A

单个文件系统能用到的逻辑卷个数(LUN数)

268 million

N/A

I/O带宽

取决于系统硬件配置

AIX:134GB/s

Linux:66GB/s

6、GPFS不足

GPFS 在 HPC 领域并没有多少突出的缺点,但是GPFS涉及到大量的性能调优服务,且需要用户自身对存储相关技术领域有深厚的基础,对业务流程理解较深入,实际上只适合用户数量较少且本身比较专业的情况。如,GPFS 的 Cache(pagepool)是预先分配好的(可以通过一个参数调整),不能根据需要灵活的分配和回收。

在IBM网站上有个视频<理解IBM GPFS的优势>,里面有相关描述,在其他视频网站上也可以获取这个视频。

以上是关于存储调研:GPFS并行文件系统原理解析的主要内容,如果未能解决你的问题,请参考以下文章

GPFS 安装测试

存储调研:Lustre并行文件系统体系结构

存储调研:BeeGFS并行文件系统体系结构

Hadoop学习-MapReduce架构原理

[Hadoop]Hadoop章1 Hadoop原理解析

gpfs 修改 副本数