原文地址:http://blog.csdn.net/jznsmail/article/details/5502840?reload

本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行转载,如有需要请联系原作者。

一、什么是GPFS文件系统
General Parallel File System(GPFS)是高性能、可扩展、并行文件系统,起源于IBM SP系统上使用的虚拟共享磁盘技术(VSD)。GPFS文件系统保证资源组内的所有节点可以并行访问整个文件系统,并且文件系统上的文件可以分布在不同的物理硬盘上。利用IBM Linux集群系统中的“虚拟“共享磁盘技术,GPFS似的多个节点上运行的多个应用程序可以同时读写同一个文件。并且GPFS还包含了IBM可扩展集群系统技术(RSCT),可以将存储的内容自动恢复到活动节点上,当系统产生故障时,文件日志可以快速的恢复数据,并且可以保证数据的一致性。在GPFS为应用程序提供了UNIX标准的文件系统借口,可以在不改变现有代码的基础上直接运行。

 二、GPFS文件系统的基本结构

GPFS文件系统由三层架构组成:GPFS文件设备、网络共享磁盘(NSD)和磁盘
1、GPFS文件设备(GPFS File System Device)
GPFS文件设备由NSD创建,是可以被多个节点并行同时挂载的文件设备
2、网络共享磁盘(NSD)
网络共享磁盘(NSD)是由物理磁盘映射出来的虚拟设备,与磁盘之间是一一对应的关系。并且,NSD将虚拟设备按照不同的属性划分了不同的用途。NSD虚拟设备具有4种不同的磁盘属性:
a、Desc Only:表示该磁盘存储GPFS文件系统的描述信息
b、Data Only:表示该磁盘只存储GPFS文件系统的数据信息
c、Meta Data Only:表示该磁盘只存储GPFS文件系统的目录结构信息(inode)
d、Meta And Data:表示该磁盘存储GPFS文件系统中的所有信息(默认情况)

三、GPFS文件系统的特点

1、高性能

由于GPFS文件系统允许在同一个节点内的多个进程使用标准的UNIX文件系统接口,并行的访问相同文件(读写)。并且,可以将节点的读写操作分布到不同的物理磁盘上,因此避免了对某个磁盘过多读写操作,增加了整个系统的吞吐量,提高了系统的整体性能。

2、跨平台

GPFS文件系统本身可以看成与具体系统无关的一个单独系统,通过集群方式可以支持多种操作系统,比如AIX、Linux等。

3、保证数据一致性

GPFS文件系统采用信令管理机制保证数据的一致性。信令机制允许各个节点通过独自的路径到达同一个文件。因此,当某个节点的某条路径无法正常工作,依旧可以通过链路冗余达到GPFS文件系统。并且GPFS本身设计成为一种日志文件系统,为不同的节点建立了各自独立的日志(保存了Meta Data的分布信息)。因此,一但节点发生故障后,可以通过日志记录的Meta Data的分布信息,快速的找到相应的Meta Data然后恢复。

4、可扩展性

GPFS可以动态调整系统资源,支持在文件系统挂载的情况下动态的添加和删除硬盘,而无须重启。

5、方便管理

GPFS文件系统,可以自动的同步各个节点的配置文件和文件系统信息,因此可以在任意一个节点上管理GPFS。

四、系统可用状态的仲裁

GPFS文件系统提供3种仲裁方式来确定系统当前状态是否安全可靠:File Descriptor Quorum、Node Quorum和Tiebreaker Quorum

1、File Descriptor Quorum:

当在磁盘上创建GPFS文件系统时,会将文件系统信息的拷贝复制到多个磁盘上,达到数据冗余的目的。这种方式是GPFS文件系统默认支持的,是不可以配置改变的。File Descriptor Quorum通过判断包含有文件系统信息的磁盘的在线情况来判断当前系统是否正常。当超过一半的包含文件系统信息的磁盘下线时,GPFS文件系统会判断系统为非正常状态,此时会自动关闭文件系统。

2、Node Quorum:

GPFS文件系统集群中,将多个主机节点设置成Quorum节点,当有超过一半的Quorum节点下线时,GPFS文件系统判断系统为非正常状态,会自动关闭文件系统。

3、Tiebreaker Quorum:

GPFS文件系统集群中,可以设置一些指定的物理磁盘作为Tiebreaker Disk,GPFS文件系统会动态的监视这些磁盘的状态。当有超过一般的Tiebreaker Disk下线时,则表示系统为非正常状态,自动关闭文件系统。按照文档上来说,用于监视Tiebreaker Disk的Quorum主机数目最多只能配置两台,当2台Quorum主机都故障,则也表示系统故障,此时文件系统也会关闭。

Tibreaker Quorum和Node Quorum仲裁方式只能选择其中一种,不能两种同时使用。Tibreakder Quorum仲裁方式主要是用于节点比较少的亲况下,如果整个系统的接入节点较多,应该考虑Node Quorum的仲裁方式。

 五、GPFS文件系统的并发访问
1、并发访问
GPFS文件系统的并行文件访问通过两个部分来实现:一是多个GPFS节点以并行的方式(可以是多个进程)访问磁盘系统上的数据(相同或者不同);二是GPFS文件系统将文件访问分散到不同的物理磁盘上,提升访问效率。
2、文件锁
GPFS文件系统支持并发访问文件,因此需要一套锁机制来保证并发访问时数据的正确性。常见的锁管理机制分为两种:集中式的锁管理机制和分布式的锁管理机制。其中,在集中式的所管理机制中,集群系统中会将一个或者多个节点专门用于负责管理文件系统的元数据(Meta Data)。当集群中有多个节点需要同时访问同一个数据单元时,节点首先需要向元数据管理服务器发送一个访问请求,元数据管理服务器将读写操作授权给节点,节点即可对请求的数据单元进行读写操作。而分布式的锁管理机制中则没有专门用于管理元数据的管理节点,文件系统中的元数据分布在文件系统集群的所有节点上。当有节点同时访问同一个数据单元时,会通过保存的元数据信息找到集群中拥有该数据单元锁的节点发送请求,获得批准后,方可访问请求的数据单元。
GPFS文件系统中是将集中式和分布式锁管理机制结合的方式来管理并发访问,GPFS文件集群中有一个负责全局锁管理的服务器,同时集群中的每个节点上还保存了文件系统元数据。全局索管理服务器,通过令牌(Token)发放的方式,来协调各个节点的元数据访问。当系统中有某个节点需要读写文件时,首先向Token Server请求获得令牌,当获得令牌后,可以从节点中获取文件锁,然后进行数据单元的读取操作。

 六、参考资料
GPFS Primer for AIX Clusters,可以从以下站点获得:
http://www-.ibm.com/servers/eserver/pseries/software/whitepapers/gpfs_primer.html

GPFS 1.4 for AIX - Architecture and Performance, Heger,D. and Shah,G.
GPFS on AIX Clusters:High Performance File System Administration Simplified,可以从IBM红皮书站点获得:
http://www.redbooks.ibm.com

The Complete Partitioning Guide forIBM^?pSeries?Servers,可以从IBM红皮书站点获得:
http://www.redbooks.ibm.com

IBM Total Storage:FAStT600/900 and Storage Manager 8.4,可以从IBM红皮书站点获得:
http://www.redbooks.ibm.com

初窥GPFS文件系统(转)的更多相关文章

  1. 初窥GPFS文件系统

    作者:姜江 linuxemacs@gmail.com 原文地址:http://blog.csdn.net/jznsmail/article/details/5502840?reload 本作品采用知识 ...

  2. Scrapy001-框架初窥

    Scrapy001-框架初窥 @(Spider)[POSTS] 1.Scrapy简介 Scrapy是一个应用于抓取.提取.处理.存储等网站数据的框架(类似Django). 应用: 数据挖掘 信息处理 ...

  3. scrapy2_初窥Scrapy

    递归知识:oop,xpath,jsp,items,pipline等专业网络知识,初级水平并不是很scrapy,可以从简单模块自己写. 初窥Scrapy Scrapy是一个为了爬取网站数据,提取结构性数 ...

  4. Scrapy 1.4 文档 01 初窥 Scrapy

    初窥 Scrapy Scrapy 是用于抓取网站并提取结构化数据的应用程序框架,其应用非常广泛,如数据挖掘,信息处理或历史存档. 尽管 Scrapy 最初设计用于网络数据采集(web scraping ...

  5. python爬虫 scrapy2_初窥Scrapy

    sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...

  6. IPFS初窥

    虽然区块链有很多令人兴奋的特性,但是也有其固有的缺点.比如,文件或者长度较长的文本信息就不适合存储在链上.那么如何解决这个缺点呢?一个解决方案就是IPFS(Interplanetary File Sy ...

  7. 初窥Kaggle竞赛

    初窥Kaggle竞赛 原文地址: https://www.dataquest.io/mission/74/getting-started-with-kaggle 1: Kaggle竞赛 我们接下来将要 ...

  8. WWDC15 Session笔记 - Xcode 7 UI 测试初窥

    https://onevcat.com/2015/09/ui-testing/ WWDC15 Session笔记 - Xcode 7 UI 测试初窥 Unit Test 在 iOS 开发中已经有足够多 ...

  9. Java发送邮件初窥

    一.背景 最近朋友的公司有用到这个功能,之前对这一块也不是很熟悉,就和他一起解决出现的异常的同时,也初窥一下使用Apache Common Email组件进行邮件发送. 二.Java发送邮件的注意事项 ...

随机推荐

  1. linux(ubuntu)下安装phantomjs

    1.安装phantomjs ubuntu下sudo apt-get install phantomjs下载的不能用 —-下载程序文件 到官网下载 1.安装phantomjs —-下载程序文件 wget ...

  2. <亲测>ubuntu 16.04 忘记root密码

    ubuntu 16.04 忘记root密码   阅读目录 方法一 方法二 虚拟机中安装的ubuntu 16.04. 回到目录 方法一 如果用户具有sudo权限,那么直接可以运行如下命令: sudo s ...

  3. linux 系统下有sda和hda的硬件设备分别代表什么意思

    linux 系统下有sda和hda的硬件设备分别代表什么意思/dev/sda1 # SCSI设备,sda,sdb,sdc,三块盘,1,2,3代表分区(PV)/dev/sda2/dev/sdb1/dev ...

  4. 【剑指offer】输出链表倒数第K个元素

    /* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }*/ ...

  5. maven的包冲突

    maven的间接引用会引入其他未声明的包,maven自身的冲突解决方案,最终引用的包可能不是希望的版本. 直接声明期望的版本号,就没有间接引用的问题. 子模块很多时,可以使用dependencyMan ...

  6. convert 批量文件的格式转换

    1.将 a.gif 转为 png 格式 convert a.gif a.png 请注意,convert 命令的基本格式为 convert 源文件 [参数] 目标文件 在上面的命令中,源文件是 a.gi ...

  7. GRE协议

    一. GRE(Generic Routing Encapsulation) 通用路由封装 是对某些网络层协议(如: IP , IPX , Apple Talk等)的数据报进行封装,使这些被封装的数据报 ...

  8. BGP属性+13条选路原则(转载)

    原文:http://blog.sina.com.cn/s/blog_be409c2f0102x6sg.html BGP(Border Gateway Protocol)边界网关协议 BGP(Borde ...

  9. [UE4]Exec数据类型

    Exec是虚幻4中的一种数据类型,可以作为宏函数参数的数据类型.在宏函数库中也可以使用Exec数据类型.

  10. [UE4]修改枪支碰撞体

    一.Simple Collision:显示简单碰撞体,Comlex Collision:显示复杂碰撞体 二.添加简单和复杂碰撞体 三.自动生成复杂精确的碰撞体