GPFS是IBM公司通过完善和发展其Tiger Shark文件系统发展而来。GPFS通过共享磁盘结构来实现其强大的扩展性。一个GPFS系统由许多集群节点组成,GPFS文件系统和应用程序在上面运行。这些节点通过交互网络架构(Switch Fabric)网络连接磁盘。所有节点对所有磁盘拥有相同的访问权。文件被分割存储在文件系统中所有的磁盘上。这种条带化的存储不仅能够保证各个磁盘负载均衡,还能够使系统获得最高的吞吐量。

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.html

2.GPFS: A Shared-Disk File System for Large Computing Clusters

分布式文件系统之GPFS的更多相关文章

  1. Ceph:一个开源的 Linux PB 级分布式文件系统

    探索 Ceph 文件系统和生态系统 M. Tim Jones , 自由作家 简介:  Linux®持续不断进军可扩展计算空间,特别是可扩展存储空间.Ceph 最近才加入到 Linux 中令人印象深刻的 ...

  2. 【整理学习Hadoop】H D F S 一个分布式文件系统

    Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统的区别 ...

  3. 【架构设计】分布式文件系统 FastDFS的原理和安装使用

    本文地址 分享提纲: 1.概述 2. 原理 3. 安装 4. 使用 5. 参考文档 1. 概述 1.1)[常见文件系统] Google了一下,流行的开源分布式文件系统有很多,介绍如下:   -- mo ...

  4. 网站文件系统发展&&分布式文件系统fastDFS

    网站文件系统发展 1.单机时代的图片服务器架构 初创时期由于时间紧迫,开发人员水平也很有限等原因.所以通常就直接在website文件所在的目录下,建立1个upload子目录,用于保存用户上传的图片文件 ...

  5. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  6. 分布式文件系统 - FastDFS 简单了解一下

    别问我在哪里 也许我早已不是我自己,别问我在哪里,我一直在这里. 突然不知道说些什么了... 初识 FastDFS 记得那是我刚毕业后进入的第一家公司,一个技术小白进入到当时的项目组后,在开发中上传用 ...

  7. 分布式文件系统 - FastDFS 配置 Nginx 模块及上传测试

    也不说废话,直接干 上一篇 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署 中安装了 FastDFS 后,并配置启动了 Tracker 和 Storage 服务,已经可以上传文件 ...

  8. 【从零开始学习Hadoop】--2.HDFS分布式文件系统

    1. 文件系统从头说2. Hadoop的文件系统3. 如何将文件复制到HDFS3.1 目录和文件结构3.2 FileCopy.java文件的源代码3.3 编译3.4打包3.5 运行3.6 检查结果 1 ...

  9. Hadoop学习笔记【分布式文件系统学习笔记】

    分布式文件系统介绍 分布式文件系统:Hadoop Distributed File System,简称HDFS. 一.HDFS简介 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(c ...

随机推荐

  1. cocos2d-x 详解之 CCTexture2D(纹理图片)和 CCTextureCache(纹理缓存)

    精灵和动画都涉及到纹理图片的使用,所以在研究精灵与动画之前,我们先来了解一下纹理图片类CCTexture2D和纹理缓存CCTextureCache的原理: 当一张图片被加载到内存后,它是以纹理的形式存 ...

  2. 为cocos2d-x项目增加Lua支持

    开始为游戏增加Lua脚本支持,今天主要配置了一下开发环境:cocos2d-x 2.2.1,xcode5. 1. 创建cocos2d-x-lua项目 类似于创建C++项目,用以下命令即可: python ...

  3. lucene学习笔记:二,Lucene的框架

    Lucene总的来说是: 一个高效的,可扩展的,全文检索库. 全部用Java实现,无须配置. 仅支持纯文本文件的索引(Indexing)和搜索(Search). 不负责由其他格式的文件抽取纯文本文件, ...

  4. 非常实用的Ubuntu常用终端命令

    先介绍关于文件和目录的命令: ls 列出当前目录文件(不包括隐含文件) ls -a 列出当前目录文件(包括隐含文件) ls -l 列出当前目录下文件的详细信息 cd .. 回当前目录的上一级目录 cd ...

  5. RabbitMQ (三) 发布/订阅 -摘自网络

    这篇博客中,我们会做一些改变,就是把一个消息发给多个消费者,这种模式称之为发布/订阅(类似观察者模式). 为了验证这种模式,我们准备构建一个简单的日志系统.这个系统包含两类程序,一类程序发动日志,另一 ...

  6. linux 系统常用命令

    临时性的完全关闭防火墙,可以不重启机器: #/etc/init.d/iptables status                ##查看防火墙状态 #/etc/init.d/iptable stop ...

  7. ERROR (ClientException): Unexpected API Error

  8. 2048-AI程序算法分析

    转自:CodingLabs 针对目前火爆的2048游戏,有人实现了一个AI程序,可以以较大概率(高于90%)赢得游戏,并且作者在stackoverflow上简要介绍了AI的算法框架和实现思路.但是这个 ...

  9. 一些常用的IOS开发网站

    开发教程: 即便过了入门阶段,还是要经常看看一些不错的实例教程.1.http://mobile.tutsplus.com/category/tutorials/iphone/ 比较新的一个网站,以前没 ...

  10. POJ 2387 Til the Cows Come Home (最短路 dijkstra)

    Til the Cows Come Home 题目链接: http://acm.hust.edu.cn/vjudge/contest/66569#problem/A Description Bessi ...