加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 网站设计 > 教程 > 正文

高性能计算知识:深度解析Lustre体系结构

发布时间:2018-07-04 09:19:47 所属栏目:教程 来源:米搓
导读:副标题#e# 【资讯】Lustre架构是一种集群存储体系结构,其核心组件就是Lustre文件系统。该文件系统可在Linux操作系统上运行,并提供了符合POSIX标准的UNIX文件系统接口。 Lustre文件系统是什么 Lustre架构用于许多不同种类的集群。众所周知,它服务于许多全

  一个Lustre安装实例包括管理服务器(MGS)和一个或多个与Lustre网络(LNet)互连的Lustre文件系统。Lustre文件系统组件的基本配置如下图所示:

  高性能计算知识: 深度解析Lustre体系结构

  管理服务器(MGS)

  MGS存储集群中所有Lustre文件系统的配置信息,并将此信息提供给其他Lustre组件。每个Lustre目标(target)通过联系MGS提供信息,而Lustre客户通过联系MGS获取信息。MGS最好有自己的存储空间,以便可以独立管理。但同时,MGS可以与MDS放在一起,并共享存储空间,如上图中所示。

  Lustre文件系统组件

  元数据服务器(MDS): MDS使存储在一个或多个MDT中的元数据可供Lustre客户端使用。每个MDS管理Lustre文件系统中的名称和目录,并为一个或多个本地MDT提供网络请求处理。

  元数据目标(MDT): 在Lustre 2.3或更早版本中,每个文件系统只有一个MDT。 MDT在MDS的附加存储上存储元数据(例如文件名,目录,权限和文件布局)。虽然共享存储目标上的MDT可用于多个MDS,但一次只能有一个MDS可以访问。如果当前MDS发生故障,则备用MDS可以为MDT提供服务,并将其提供给客户端。这被称为MDS故障切换。

  在Lustre 2.4中,分布式命名空间环境(DNE)中可支持多个MDT。除保存文件系统根目录的主MDT之外,还可以添加其他MDS节点,每个MDS节点都有自己的MDT,以保存文件系统的子目录树。

  在Lustre 2.8中,DNE还允许文件系统将单个目录的文件分布到多个MDT节点。分布在多个MDT上的目录称为条带化目录。

  对象存储服务器(OSS):OSS为一个或多个本地OST提供文件I / O服务和网络请求处理。通常,OSS服务于两个到八个OST,每个最多16TB;在专用节点上配置一个MDT;在每个OSS节点上配置两个或更多OST;而在大量计算节点上配置客户端。

  对象存储目标(OST):用户文件数据存储在一个或多个对象中,每个对象位于Lustre文件系统的单独OST中。每个文件的对象数由用户配置,并可根据工作负载情况调试到最优性能。

  Lustre客户端:Lustre客户端是运行Lustre客户端软件的计算、可视化或桌面节点,可挂载Lustre文件系统。

  Lustre客户端软件为Linux虚拟文件系统和Lustre服务器之间提供了接口。客户端软件包括一个管理客户端(MGC),一个元数据客户端(MDC)和多个对象存储客户端(OSC)。每个OSC对应于文件系统中的一个OST。

  逻辑对象卷(LOV)通过聚合OSC以提供对所有OST的透明访问。因此,挂载了Lustre文件系统的客户端会看到一个连贯的同步名字空间。多个客户端可以同时写入同一文件的不同部分,而其他客户端可以同时读取文件。

  与LOV文件访问方式类似,逻辑元数据卷(LMV)通过聚合MDC提供一种对所有MDT透明的访问。这使得了客户端可将多个MDT上的目录树视为一个单一的连贯名字空间,并将条带化目录合并到客户端形成一个单一目录以便用户和应用程序查看。

  高性能计算知识: 深度解析Lustre体系结构

  Lustre网络 (LNet)

  Lustre Networking(LNet)是一种定制网络API,提供处理Lustre文件系统服务器和客户端的元数据和文件I/O数据的通信基础设施。

  Lustr文件系统 集群

  在规模上,一个Lustre文件系统集群可以包含数百个OSS和数千个客户端(如下图所示)。 Lustre集群中可以使用多种类型的网络,OSS之间的共享存储启用故障切换功能。

  高性能计算知识: 深度解析Lustre体系结构

  Lustre文件系统存储与I/O

  在 Lustre 2.0 中引入了Lustre文件标识符(FID)来替换用于识别文件或对象的UNIX inode编号。 FID是一个128位的标识符,其中,64位用于存储唯一的序列号,32位用于存储对象标识符(OID),另外32位用于存储版本号。序列号在文件系统(OST和MDT)中的所有Lustre目标中都是唯一的。这一改变使未来支持多种 MDT 和ZFS(均在Lustre 2.4中引入)成为了可能。

  同时,在此版本中也引入了一个名为FID-in-dirent(也称为Dirdata)的ldiskfs功能,FID作为文件名称的一部分存储在父目录中。该功能通过减少磁盘I/O显著提高了ls命令执行的性能。 FID-in-dirent是在创建文件时生成的。

  在 Lustre 2.4 中,LFSCK文件系统一致性检查工具提供了对现有文件启用FID-in-dirent的功能。具体如下:

  为1.8版本文件系统上现有文件生成IGIF模式的FID。

  验证每个文件的FID-in-dirent,如其无效或丢失,则重新生成FID-in-dirent。

  验证每个linkEA条目,如其无效或丢失,则重新生成。 linkEA由文件名和父类FID组成,它作为扩展属性存储在文件本身中。因此,linkEA可以用来重建文件的完整路径名。

  有关文件数据在OST上的位置信息将作为扩展属性布局EA,存储在由FID标识的MDT对象中(具体如下图所示)。若该文件是普通文件(即不是目录或符号链接),则MDT对象1对N地指向包含文件数据的OST对象。若该MDT文件指向一个对象,则所有文件数据都存储在该对象中。若该MDT文件指向多个对象,则使用RAID 0将文件数据划分为多个对象,将每个对象存储在不同的OST上。

  高性能计算知识: 深度解析Lustre体系结构

  当客户端读写文件时,首先从文件的MDT对象中获取布局EA,然后使用这个信息在文件上执行I / O,直接与存储对象的OSS节点进行交互。具体过程如下图所示。

  高性能计算知识: 深度解析Lustre体系结构

  Lustre文件系统的可用带宽如下:

  网络带宽等于OSS到目标的总带宽。

  磁盘带宽等于存储目标(OST)的磁盘带宽总和,受网络带宽限制。

  总带宽等于磁盘带宽和网络带宽的最小值。

  可用的文件系统空间等于所有OST的可用空间总和。

  Lustre文件系统条带化

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!