GPFS是IBM公司经过完善和发展其Tiger Shark文件系统发展而来。GPFS经过共享磁盘结构来实现其强大的扩展性。一个GPFS系统由许多集群节点组成,GPFS文件系统和应用程序在上面运行。这些节点经过交互网络架构(Switch Fabric)网络链接磁盘。全部节点对全部磁盘拥有相同的访问权。文件被分割存储在文件系统中全部的磁盘上。这种条带化的存储不只可以保证各个磁盘负载均衡,还可以使系统得到最高的吞吐量。html
GPFS文件系统架构图以下:后端
将文件系统节点和共享磁盘链接起来的交互网络架构(Switch Fabric)可能包含SAN网络,例如FC和iSCSI。另外,我的本地磁盘也能够挂载到一些I/O节点,文件系统节点经过一个运行在通讯网络上的软件层来对这些磁盘进行访问,例如IBM的VSD(virtual share disk),其运行在SP网络上,就是这样的一个软件层。缓存
来自多个节点的对磁盘进行的读和写须要进行同步,不然用户数据和元数据将会崩溃。GPFS采用分布式锁机制来同步对磁盘的访问。为了实现系统的高吞吐量,大文件须要进行分块,GPFS没有依赖额外逻辑卷管理层(logical volume manager (LVM) layer)来实现分块,而是本身实现了分块机制。经过实现分块机制,GPFS得到了对容错和负载均衡的控制。(一些LVM也有相似的功能,可是他们不可能得到网络的拓扑)。网络
GPFS采用256KB(也能够是16KB-1MB)的大数据块做为磁盘块大小。当某个单线程的应用程序须要读一个文件时,GPFS采用prefetch机制预先将文件读到本地IO,后端采用并行IO的方式,最大限度的发挥带宽和磁盘的优点将文件提取到本地。一样,再也不须要的脏数据缓存也采用并行IO的方式写到磁盘。GPFS可以识别顺序,反序等读写模式,对于不常见的读写模式,GPFS提供接口传递prefetch命令给文件系统。架构
GPFS也是一种日志文件系统,为不一样节点创建各自独立的日志。日志中记录MetaData的分布,一旦节点发生故障,能够保证快速恢复数据。GPFS 经过一套复杂的信令管理机制提供数据一致性,经过这套机制容许任意节点经过各自独立的路径到达同一个文件。即便节点没法正常工做, GPFS 也能够找到其它的路径。GPFS在数据保护方面采用数据复制的方式进行,GPFS实现了一个较为简单的软件RAID模式,支持数据块级别的文件复制。
负载均衡
参考:
分布式
1.http://www.it165.net/admin/html/201307/1485.htmlfetch
2.GPFS: A Shared-Disk File System for Large Computing Clusters
大数据