Lustre文件系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CMD - 元数据分配方法
多元数据服务器构建方法主要有两类:
目录子树分区法 ; 纯哈希法 ;
CMD --元数据分配方法 (目录分区法)
将命名空间划分为不同的目录子树 每一个目录子树对应的元数据由同一个元 数据服务器进行管理 一个元数据服务器也可以管理多个目录子 树 每个目录子树就是一个可安装的小文件系 统
CMD --元数据分配方法 --目录分区 法 优点
静态的、由系统管理员决定怎样分割命名空间 不需要与其他节点通讯就能处理元数据请求, 具有很强的独立性 保留了文件系统的层次结构,可以利用客户端 的预取技术和缓存机制,提高元数据服务的处 理效率
CMD --元数据分配方法 --目录分区法 缺点
背景—基于对象存储体系结构的特点
网络带宽,IO吞吐量,文件系统容量以及处理能力 是随着存储节点的增加而同步线性增长,因而具有 很好的性能和扩展性 ,存储节点可扩展、存储对 象数可扩展性、存储对象空间也具有可扩展性。 可以实现大规模的海量数据访问的高度并行 一般采用了文件数据与元数据分离存储的机制, 通过条带化技术将传统文件的数据分解存储到存 储对象中;文件元数据则保存在元数据对象中, 并具有一个全局唯一的对象标识以及一些文件属 性信息
Lustre元数据服务器集群(Cluster Metadata, CMD)
元数据服务器功能及特点: 存储和管理文件元数据; 控制对文件元数据的访问以及创建、删除、 修改等操作 当客户端从元数据服务器获得文件元数据 及其属性信息后,就可以直接和对象数据 存储节点交互访问文件数据 ; 控制流与数据流分离的传输方法,可以有 效的分布IO负载,减轻对存储服务器CPU和 内存等计算资源的消耗,大大提高了系统 的I/O性能
CMD(目录分割)
CMD的恢复
通过硬件/软件等措施实现了高可用的元数 据服务 对象存储上的元数据可用通过本地格式化 的日志文件系统进行恢复 自恢复机制重放处理任何来自客户端未完 成请求相关的恢复以及锁服务的恢复 类似数据库的基于日志的回滚技术,实现 了涉及到多个元数据服务器服务的不一致 性恢复
Network Stripping
借鉴RAID,将文件数据以某种RAID模式分 布存储在多个OST的存储对象中
能够同时容忍磁盘和节点失效。
Network Stripping – data layout
JOIN File
原理与MD/RAID的线性模式有点类似。 每个连接文件的元数据扩展属性中包含有多 个数据分布布局属性对象(Layout Object, LAO)
缺点
消除了命名空间层次结构的local特性
为了满足POSIX语义,MDS必须遍历该文件的前缀 目录检查当前用户是否具有访问权限。而文件和 其前缀可能位于不同的元数据服务器上,这将导 致很高的查询开销。MDS间的前缀缓存开销很大, 不同元MDS的前缀缓存的重叠度也非常高,降低了 元数据服务其内存的利用效率
Lustre元数据服务器集群 (Cluster Metadata, CMD)
单一元数据服务器局限: 整个系统的集中控制点,如果发生故障, 将会导致整个系统不可用 ;
随着客户端和对象存储节点的增加,单个 元数据服务器很可能成为整个系统的性能 瓶颈,导致系统响应时间变长,降低系统 的吞吐率。
采用这种方法分配元数据的分布式文件系 统有Intermezzo,Vesta,zFS等
CMD --元数据分配方法 --哈希法
优点
通过哈希函数可以快速的定位到管理该文 件的MDS 文件系统的负载可以更均匀的分布到各个 MDS上
能够有效的避免热点目录的出现
wenku.baidu.com CMD --元数据分配方法 --哈希法
背景-- Lustre文件系统
针对大文件读写进行优化,提供高性能的 I/O; 元数据独立存储; 服务和网络失效的快速恢复; 基于意图的分布式锁管理 基于对象存储,使存储更具智能化,可以 实现基于对象一级的数据保护技术; 系统可快速配置
体系结构--Lustre文件系统 I/O结构
体系结构--Lustre文件系统 I/O结构
Object B
….
File Data
。。。
Obj A
。
Obj B Obj C
。
。。 。
stripesize: 1M Stripecount: 3
OST1 OST2
OST0
基于对象分配
文件数据布局策略 – Lustre
每个常规文件,目录,符号连接和特殊文 件都有一个唯一的inode,作为文件元数据 对象 文件数据按照一定的条带模式分布存储在 几个OST的存储对象中 文件的分带大小,存储对象数目,分带模 式对应的OST索引等定位信息都作为数据 分布布局属性对象保存在元数据对象的 inode的扩展属性中
CMD --lustre元数据分配方法
Lustre结合了目前目录子树分区法和哈希 法的优点,提出了一种管理元数据的混合 方法
创建新目录时总是通过哈希法选择一个与父目 录可能不同的元数据服务器 当一个目录变得很大或者非常繁忙时,Lustre 通过目录分割策略将该目录拆分成由若干个不 同的元数据服务器管理的子目录
所有的数据分布布局属性对象一般都采用相 同的条带模式,并附带有它所管理的文件范 围域信息,每个数据分布布局属性对象负责 定位文件一部分连续的数据区域.
JOIN File (cont’)
object
LAOi
Layout Object
OST1
EA
LAO1
LAO2
LAO3
OST2
….
OST3
JOIN File (cont’)
文件可以根据大小变化动态的增加或减少数据分布属 性对象 突破了文件大小的限制, 理论上它可以占有整个系统 所有OST对象存储设备的空间。 连接文件优点就是数据迁移的代价相对较低,迁移策 略灵活 大的存储对象可分裂成多个小的存储对象 文件数据范围连续的较小存储对象可进行合并 灵活的文件数据分布策略:对于小文件采用RAID1镜 像模式存储;对于大文件采用RAID0/5模式存储;或 者文件开始部分用RAID1方式,随着文件增大,后续 部分采用RAID0/5模式存储。
文件数据布局策略 – (Lustre文件系统)
MDS: File metadata
size create time … extent attribute: Object id: A Location info
…….
OST0
Object A
File data
OST1
Object id:B Location info
File System Ext3, Reiserfs,xFS
Fig Overview of mudular Luster
MDS
OST
体系结构—— Lustre子系统交互图
体系结构—— Lustre子系统交互图
Client同OST进行文件数据的交互,包括文件数据的 读写、对象属性的改变等. 同MDS进行元数据的交互,包括目录管理、命名空间 管理等 . OST负责对象数据的存储,将I/O数据保存到由它管 理的后端基于对象存储设备(OBD, Object Based Device)中 . MDS负责向客户端提供整个文件系统的元数据,管理 整个文件系统的全局命名空间,维护整个文件系统 的目录结构、用户权限,并负责维护文件系统的元 数据一致性
Meta-data Server
MDS
OST 1
OST 2
OST 3
Achieve parallel Bandwidth to all OST’s
Odd blocks, even blocks
Lustre文件系统数据分布布局
由于Lustre采用了数据和元数据分离的基 于对象存储的体系结构,下面将从这两个 方面分别讨论Lustre数据的分布布局:
LDLM – 锁的类型
基本模型在Lustre文件系统中被称为普通 锁(plain lock)
背景—采用对象存储概念设计的分布 式集群文件系统
Storage Tank OBFS Panasas Luster 类似的还有 BrainStor OBSS 比较成功的, 商业化的: Storage Tank,Lustre,Panasas
背景— Lustre文件系统
File open & write
Lustre Client
Linux VFS Lustre client FS LOV OSC 1 OSC 3 MDC File open request File meta-data Inode A (obj1, obj2) Write (obj 1) Write (obj 2)
文件数据 文件元数据
文件数据布局策略 – (本地文件系统)
数据 数据 数据
多数据块
. . . 块号
. . . 块号、长度
块分配 分配器尝试分配顺序块
如Ext2 一级索引 二级索引 三级索引
范围(extent)分配 基于连续快分配,
描述: 逻辑偏移/长度/物理偏移三元 组 B+树
如:VxFS, JFS, reiserfs, xFS…
文件系统一致性语义
当多个用户对同一个文件进行读写操作时, 各个用户看到的文件是一样的. 按照UNIX的POSIX共享语义标准,在本地文 件系统中,如果一个进程修改了某个文件 的属性或内容,应该很快能够被其他进程 察觉到。
文件系统一致性语义 - 分布式锁管理器(LDLM)
在分布式文件系统中要想按照严格的POSIX 语义,就意味着要进行即时更新来维持共享 资源的一致性视图,增加了大量的传输和一 致性管理的开销,不仅实现困难而且会大大 降低系统性能 . 分布式锁管理器技术为实现对共享存储资 源的协同访问避免单个节点的访问以及冲 突给出了一套行之有效的解决方法 锁服务器也被分布到多个存储节点上, 不 会成为性能瓶颈.
体系结构 - 总体模块结构图
Client File System(CFS) Ext2
VFS
Lustre llite Ext3
LMV(logic metadata volume)
MDC
Portals
LOV (logical object volume)
OSC OSC OSC
…
MDC
MDC
MDC
OSC
作为开源的面向下一代存储的基于对象的分 布式文件系统的开创者,目前已经在集群存 储尤其是大规模高性能并行计算领域取得了 巨大的成功。 由Cluster File Systems公司开发的一个开 源的、高性能的文件系统 源于卡耐基梅隆大学的Coda项目研究工作 Lustre消除了传统网络文件系统(AFS、NFS) 在可扩展性、可用性和性能上的问题
基于对象存储的
并行文件系统Lustre
主要内容
背景
Lustre体系结构及技术分析
背景 (网络存储技术)
直接附加存储 (DAS)
网络附加存储(NAS) 存储区域网(SAN) 基于对象的存储( OBD)
基于对象存储文件系统 Lustre结构
2013年11月11日11时9分
国防科技大学
4
增加元数据服务器并不能有效的重新均衡 元数据服务器间的工作负载 不能有效的处理“热点“目录问题 目录分区法中根目录所在的元数据服务器 失效,会导致整个文件系统不可用。
CMD --元数据分配方法 (哈希法 )
基本思想:当客户端创建一个文件时,以文 件的标志符(或者路径名)为键值(Key), 通过哈希函数选择负责创建文件的元数据 服务器
Portals
MDS Server
OSC OBD Server Lock Server OSC
… L O V
OST Server
OBD server Lock server
MDS Backend(OBD)
Object based Device (OBD) OSC File System Ext3, Reiserfs, xFS, JFS
文件系统组成:
客户端(CFS, Client File System) 对象存储服务器(OST,Object Storage Target)
元数据服务器(MDS,MetaData Server)
一个高度模块化的系统 三个子系统可以分别运行在不同的计算机节点 上,也可以多个子系统运行在同一个节点上