Lustre架构介绍的阅读笔记-基础知识

本文是在阅读Introduction to Lustre* Architecture的如下章节时的笔记。

  • Lustre – Fast, Scalable Storage for HPC
  • Lustre Scalable Storage
  • Lustre Building Blocks
  • Lustre Storage Scalability

Lustre software services are implemented entirely within the Linux kernel, as loadable modules.

Lustre作为Linux内核的模块,工作在内核态。
相对于其它存储软件,开发、调试、定位问题时,困难程度会大一些,对参与相关的业务的开发人员、运维人员的技能和经验有一定的要求。

A file in Lustre is comprised of a metadata inode object and one or more data objects.

在Lustre集群中,一个文件由一个元数据对象和多个数据对象组成。

Lustre is a client-server, parallel, distributed, network file system.

关键信息,如下:
CS模式,即客户端、服务端模式,由多个客户端和多个服务端组成。上层应用访问存储提供的服务时,需要集成客户端,通过客户端来访问存储服务器的实例。
并行,即多个应用、多个客户端可以和并行和存储服务器的实例通信,各个业务操作之间没有顺序的依赖。多个文件的访问操作、单个文件的不同部分的访问操作,均可以同时执行。
分布式系统,客户和存储服务器集群均可以水平扩容,具备分布式系统的优点和约束。
NFS,即网络文件系统,兼容POSIX规范。

Lustre separates metadata (inode) storage from block data storage (file content).

存储系统有三类职能:

  • 管理职能,管理集群的元数据和配置参数。
    • 集群的元数据,比如集群中各节点,服务端节点、客户端节点,存储节点的容量等。
    • 配置参数,比如命名空间、容量等。
  • 元数据服务,管理目录、文件的元数据。元比如:
    • 名称
    • 权限,比如uid/gid、UGO、ACL等
    • 属性,比如时间类的属性
      • crtime即文件的创建时间
      • ctime即文件的元数据的变更时间
      • mtime即文件的数据的变更时间
      • atime即文件的最近访问时间
    • 扩展属性
    • 数据的分布
  • 数据存储服务,管理文件的数据,文件被切割为对象,分布在集群中的多个存储服务节点上。

由上述分工可知,对于目录、文件的元数据的操作,均可由元数据服务实施,无需管理职能数据存储服务参与。

This is the key concept of Lustre’s
design – separate small, random, IOPS-intensive metadata traffic from the large, throughputintensive, streaming block IO.

Lustre的设计思路,将文件数据和文件元数据的访问操作隔离,由不同的组件处理。这两类数据有不同的访问特征。

  • 文件元数据的访问,随机、量小、时延敏感、IOPS要求高。
  • 文件数据的访问,流式、吞吐量敏感。

元数据服务和数据存储服务可以独立扩容,依据不同的业务场景配置不同的数量比例。

承担管理职能的服务,由MGS、MGT组成,MGS提供服务,MGT负责存储数据。
承担元数据服务的服务,由MDS、MDT组成,MDS提供服务,MDT负责存储数据。
承担数据存储服务的服务,由OSS、OST组成,OSS提供服务,OST负责存储数据。

Lustre的客户端,对客户应用提供兼容POSIX规范的API接口,因此客户应用无需改造即可访问存储在Lustre集群上的目录、文件。
Lustre的客户端,与存储服务端之间通信时

  • 使用私有协议 LNetLustre Network protocol
  • 支持网络技术包括OPA/IB/Ethernet

In order to ensure that failover is handled seamlessly, data modifications in Lustre are
asynchronous and transactional. The client software maintains a transaction log.

原文中的客户端,指的是部署在客户应用节点上的Lustre户端吗?

All Lustre server types (MGS, MDS and OSS) support failover.

Lustre集群中不存在单点故障,关键进程均有备份,遇到进程故障等现象时,均由后备接替服务,故障恢复时,实现客户应用无感知的效果。

MGT、MDT支持使用LDISKFS或者ZFS作为后端存储系统。
Lustre存储集群的技术规格项,如下:

  • 条带的数量
  • 条带的大小,包括最大值、最小值
  • 对象大小,最大值
  • 文件大小,最大值
  • 文件系统的容量,最大值
  • 单个目录支持的文件数量或者目录数量,最大值
  • 文件系统内支持的文件数量,最大值
  • 文件名的长度,最大长度
  • 文件的全路径的长度,最大长度

上述技术规格项的具体取值和后端存储的类型有关系。

posted @ 2024-04-06 19:44  jackieathome  阅读(246)  评论(0编辑  收藏  举报