作者:姜江 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对象克隆以及深拷贝和浅拷贝

    1.什么是"克隆"? 在实际编程过程中,我们常常要遇到这种情况:有一个对象A,在某一时刻A中已经包含了一些有效值,此时可能 会需要一个和A完全相同新对象B,并且此后对B任何改动都不 ...

  2. 队列工厂之RedisMQ

    本次和大家分享的是RedisMQ队列的用法,前两篇文章队列工厂之(MSMQ)和队列工厂之RabbitMQ分别简单介绍对应队列环境的搭建和常用方法的使用,加上本篇分享的RedisMQ那么就完成了咋们队列 ...

  3. mybatis只能模糊查询英文不能查询中文

    解决方法:修改配置文件,最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节): 1.在[client]字段里加入default-character-set=utf ...

  4. [UWP]了解模板化控件(1):基础知识

    1.概述 UWP允许开发者通过两种方式创建自定义的控件:UserControl和TemplatedControl(模板化控件).这个主题主要讲述如何创建和理解模板化控件,目标是能理解模板化控件常见的知 ...

  5. ELK5.0安装教程

    ELK升级后,安装稍微发生了点变化,在Elasticsearch中增加了很多资源上的限制,其他的倒是没什么变化.不过所有的安装都是基于JDK已经安装完的情况,且为1.8版本. 安装Elasticsea ...

  6. 配置Windows Server 2012服务器远程连接支持多人同时登陆

    1.运行输入gpedit.msc 进入组策略 2.计算机配置--管理模版--windows组件--远程桌面服务--远程桌面会话主机--连接 3.找到限制连接的数量,启用,并改为100. 4.找到 将远 ...

  7. [UWP]了解模板化控件(2.1):理解ContentControl

    UWP的UI主要由布局容器和内容控件(ContentControl)组成.布局容器是指Grid.StackPanel等继承自Panel,可以拥有多个子元素的类.与此相对,ContentControl则 ...

  8. Jmeter-测试计划元件

    打开Jmeter页面,默认显示测试计划和工作台: 1.测试计划: 用来描述一个性能测试,包含与本次性能测试所有相关的功能.也就说性能测试的所有内容是于基于一个计划的. 右键单击"测试计划&q ...

  9. XML配置文件的命名空间与Spring配置文件中的头

    一直以来,写Spring配置文件,都是把其他配置文件的头拷贝过来,最多改改版本号,也不清楚哪些是需要的,到底是干嘛的.今天整理一下,拒绝再无脑copy. 一.Spring配置文件常见的配置头 < ...

  10. h5 做app时和原生交互的小常识。

    距离上次随笔或许有半年了吧,最近在用hybrid模式开发移动app,所以就简单的说说用h5技术开发app时候,做原生交互的几个小常识: 一.拨打电话或者发送短信: <a href="t ...