分布式文件系统之GPFS

时间:2022-04-14 22:33:32

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

GPFS文件系统架构图如下:

分布式文件系统之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. 第三方登录插件.NET版XY.OAuth-CSharp

    XY.OAuth-CSharp GitHub:XY.OAuth-CSharp OSChina:XY.OAuth-CSharp 第三方登录插件.NET版 使用 首先,从NuGet上安装"XY. ...

  2. mysql数据库视图连接出现2003····错误

    MySQL利用视图工具连接数据库时出现2003····错误                                                  原因:MySQL的服务没有开启 解决步骤: ...

  3. Linux常用命令(转)

    源自:http://www.linuxidc.com/Linux/2011-08/40437.htm Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内 ...

  4. Python简明语法

  5. LintCode First Bad Version

    找出第一个出问题的version. /** * public class SVNRepo { * public static boolean isBadVersion(int k); * } * yo ...

  6. PHP各种缓存

    缓存类型PHP缓存包括PHP变异缓存和PHP数据缓存两种:PHP编译缓存:        PHP数据缓存:    对数据库数据进行缓存    对PHP模板数据缓存 js数据缓存

  7. mysql四种事务隔离级的说明

    ·未提交读(Read Uncommitted):允许脏读,也就是可能读取到其他会话中未提交事务修改的数据 ·提交读(Read Committed):只能读取到已经提交的数据.Oracle等多数数据库默 ...

  8. Javascript 母羊生小羊问题,递归

    农场买了一只小羊,这种羊在第一年是小羊,第二年的年底会生一只小羊,第三年不生小羊,第四年的年底还会再生下一只小羊,第五年就死掉了. 要计算N年时农场里有几只羊. [凡是碰到“一生二.二生三.三生万物” ...

  9. Linq 实现两个对象实例List之间的赋值

    public class UserCopy { public class LoginEntity { public string UserName { get; set; } public strin ...

  10. 相见恨晚的 scala - 01 [ 基础 ]

    简洁到不行,多一个分号都是不应该. 学习笔记: centOS 下安装 scala 和安装 jdk 一毛一样 . 1 . 不同于 Java 的变量声明 :( 但是和 js 很像 ) /** * Crea ...