作者:姜江 linuxemacs@gmail.com

原文地址: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文件系统(转)

    原文地址:http://blog.csdn.net/jznsmail/article/details/5502840?reload 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化 ...

  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. .进程&线程(&java.lang.Thread)详解

    一.进程与线程 进程 我们在进行操作电脑的时候,通常会打开浏览器,通讯工具等应用程序,这个时候CPU通过作业调度在内存中就会分配一些空间让它们处于宏观上的运行状态(处于可以被CPU执行的状态),而这部 ...

  2. web从入门开始(5)-----表单

    1.   表单的概念 是用来获取客户端用户数据的(信息)的.如:注册表单,查询表单,登录表单等. 2.  表单的工作原理 1.浏览有表单的网页,填写一些必要的信息,然后单击某个按钮,进行提交. 2.这 ...

  3. 一切app源于生活 用于生活 一个利于生活的app——利生活

    现在的app软件可以说 各行各业都基本达到饱和阶段 因为智能手机时代让我们的世界缩小了十倍百倍甚至千倍,我们可以足不出户知天下可以足不出户的去购物. 既然app利于生活 那么今天我所要开发的一个app ...

  4. windows phone 8.1 开发:后台任务详解

    原文出自:http://www.bcmeng.com/backtask/ 小梦今天给大家分享一下windows phone 8.1中的后台任务如何实现,许多应用都会用到后台任务,所以我们必须得掌握. ...

  5. IOS动态自适应标签实现

    先上效果图 设计要求 1.标签的宽度是按内容自适应的 2.一行显示的标签个数是动态的,放得下就放,放不下就换行 3.默认选中第一个 4.至少选中一个标签 实现思路 首先我们从这个效果上来看,这个标签是 ...

  6. Seajs使用实例入门介绍

    本文所用例子的代码目录结构: seajs example |--sea-module //存在依赖文件 |--jquery |--jqeury.js |--sea.js |--static //存放自 ...

  7. ajax 原理----初级篇

    一.贴dome,ajax三大步 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...

  8. ie11强制兼容模式打开

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

  9. oracle索引(转)

    引,索引的建立.修改.删除 2007-10-05 13:29 来源: 作者: 网友评论 0 条 浏览次数 2986 索引索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完 ...

  10. 关于RestfulAPI与SpringMVC之间的传值

    ##默认读者已经搭建好的SpringMVC的环境,并且对SpringMVC有着一定的了解,并且已经对RestfulAPI有了一定的了解 1,首先将WEB-INF下的web.xml里面的url-part ...