1、LustreLustre文件系统简介文件系统简介q分布式文件系统主要分为三大类:网络文件系统(瓶颈在存储服务器端)NFS、Coda、Sprite LFS 存储区域网文件系统(瓶颈在元数据服务器)GPFS 基于对象的分布式文件系统 Lustre、Google File System和 HDFS什么是什么是LustreLustreq基于对象存储的分布式文件系统q基于廉价的SATA磁盘驱动器构建超大规模存储集群,不需要专门的硬件支持q支持大多数高速网络类型q高吞吐量、高扩展性和高性能q有效的数据管理机制、全局数据共享、失效替代和系统可快速配置等功能LustreLustre文件系统体系结构文件系统体系
2、结构q元数据服务器 MDS(Meta Data Server)q对象存储服务器 OSS(Object Storage Server)q客户端(Client)q元数据目标设备MDT(Meta Data Target)q对象存储目标设备 OST(Object storage Target)q连接这些组件的高速网络元数据服务器元数据服务器MDSMDSq负责元数据服务,同时管理整个文件系统的命名空间q多个MDS之间共享访问一个MDTq每个MDT保存文件元数据对象,例如文件名称、目录结构和访问权限等qC l i e n t 通 过 M D S 读 取 到 保 存 于 M D T 上 的 元 数 据OSS
3、 OSS 和和ClientClientqOSS负责客户端和物理存储之间的交互及数据的存储,向外提供数据的 I/O接口q每个OSS管理一个或者多个OST,存储文件数据对象qClient通过OSS访问保存在OST上的文件数据qClient挂载了Lustre文件系统的任意节点,实现了可移植POSIX文件系统接口q用户通过client可以透明的访问整个文件系统的数据q客户端与MDS之间进行元数据的交互、目录管理、文件的打开和关闭、并发访问控制等。客户端与OSS之间进行文件数据的交互,包括文件I/O锁操作和数据的读写等。LustreLustre文件系统逻辑结构文件系统逻辑结构qLNET责将这些信息送到实
4、际的网络传输线路中qPTR-RPC负责处理三部分之间的RPC请求与应答qMDS模块将客户端请求进行分发q元数据请求交由日志模块Journal处理,记录元数据操作日志q将元数据操作由Fsfilt wrapper模块记录在后端存储端q锁请求交由Ldlm处理,获得文件的意图锁qFsflit定义了一个一般性API,从而将Lustre特有的请求翻译为后端文件系统特有的请求LustreLustre文件系统逻辑结构文件系统逻辑结构qOST模块主要将来自客户端的请求进行 分 发,其 中 的 数 据 请 求 交 给OBDfilter模块处理;qOBDfilter模块主要实现Lustre和其运行平台的高效通信,结
5、合ldiskfs可以提供应用层一般的文件操作接口qldiskfs是Linux ext3和ext4文件系统的超集,用在服务器端,作为底层的本地文件系统q锁请求交由分布式锁管理器Ldlm处理,获得文件的范围锁LustreLustre文件系统逻辑结构文件系统逻辑结构q客户端节点的Llite模块主要提供与支持标准可移植POSIX语法的linux的VFS层相兼容的接口;q逻辑对象卷LOV模块主要通过其下层的对象存储客户端OSC为Llite提供对象存储的API接口;q元数据客户端MDC模块主要被Llite用来与元数据服务器进行通信,为用户提供与各个元数据服务器进行命名空间操作交互的元数据对象API接口;q
6、OSC模块主要用来与对象存储设备进行文件数据I/O以及锁服务的交互,每一个OSC都对应一个OSTLustreLustre的分布式锁管理者的分布式锁管理者(LDLM)(LDLM)q意图锁:用于文件元数据的访问,通过执行锁的意图减少元数据访问所需的消息传递次数,从而减少每次操作的延迟q范围锁:保护细粒度的文件数据并发访问,为所有用户提供一致性的文件系视图LustreLustre客户端缓存机制客户端缓存机制qLustre在客户端的内存空间开辟一段缓存区,客户端把首次访问的文件对象保存在自己的高速缓存中,尽量减少与服务器的交互次数,从而降低网络开销。q客户端执行文件读取操作时 1.向MDS发送元数据请
7、求,获得元数据信息,并保存到客户端本地的高速缓存中;2.客户端与相应的OST建立连接,将实际的文件数据读入高速缓存,应用程序再从高速缓存中执行文件读取操作。LustreLustre客户端缓存一致性问题客户端缓存一致性问题一致性问题解决方法一致性问题解决方法q并发写造成的不一致:采用分布式锁管理机制LDLM,通过对元数据加意图锁,对数据加范围锁,保证元数据并发操作的一致性 对长期占有锁资源的进程,采用锁回调callback机制释放锁资源q读写读造成的不一致:客户端对本地已经缓存过的文件进行再次访问时,仍需要与MDS进行一次交互获得最新的元数据信息,之后再和本地缓存的元数据信息进行比对 如果一致就
8、从本地缓存中读取文件数据,否则就与相应的OST建立连接重新获取文件数据备份服务器备份服务器FailoverFailoverqLustre系统中的每个节点(MDS/OST)一般都可以配置备份服务器q两个服务器采用共享磁盘存储的方式来存放数据q当服务器或网络连接发生失效时,就会导致客户端数据访问超时,客户端会查询备份服务器的数据q得到信息后,立即将后续的请求重定向到备份服务器 高能所的 Lustre 部署有四个特点:q(1)元数据服务器 MDS 分为主从,但是无法在线备份和容错;q(2)采用万兆以太网;q(3)没有采用分片存储,一个文件仅存储在一个 OST 上;q(4)存储设备采用廉价的SATA 盘,通过 RAID6 实现数据可靠性。谢谢!谢谢!