![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解Lustre文件系统(基于Lustre1.6版)
文章平均质量分 91
存储李希
毕业于北京大学,曾于国家并行计算机工程技术研究中心就读并工作,现于DDN Storage公司从事分布式文件系统研发工作,主攻Lustre文件系统。开源文件系统MTFS的作者。
展开
-
深入理解Lustre文件系统-第1篇 前言
Lustre文件系统是由U.S.Department of Energy Office of Science and National Nuclear SecurityAdministration laboratorie于近十年之前发起并提供基金支持的的,旨在满足当时和以后的超级计算平台中对于开源、高可扩展的、高性能的并行文件系统的需求。经过十年的发展,它得以在众多中型到大型超级计算平台和集群中部翻译 2012-03-05 22:26:38 · 6559 阅读 · 2 评论 -
深入理解Lustre文件系统-第7篇 MDC和Lustre元数据
7.1 MDC概论MDC模块是处在Lustre Lite之下的一层。它定义了一些元数据相关的函数, Lustre Lite可以调用这些函数来向MDS传输元数据请求。这些函数在lustre/mdc中实现,我们将在6.3节讨论它们。Lustre Lite在mdc_op_data数据结构中传递请求参数,所有的请求最终要转化为ptl_request结构。所以,在RPC请求执行之前,有一些准备步翻译 2012-04-01 21:17:53 · 4376 阅读 · 0 评论 -
深入理解Lustre文件系统-第12篇 Lustre磁盘文件系统:ldiskfs
ldiskfs(有些时候被错误地称为Linux ext4文件系统)是对Linux ext3文件系统的打了很多补丁的一个版本,由Sun Microsystems公司开发和维护。ldiskfs是Linux ext3和ext4文件系统的超集。现在它只被Lustre文件系统用在服务器端,作为底层的本地文件系统。本节给出了对ldiskfs机器与ext3文件系统不同之处的简要介绍。就各自的I/O路径而言,翻译 2012-05-24 22:02:35 · 4809 阅读 · 0 评论 -
深入理解Lustre文件系统-第13篇 未来的工作
Lustre文件系统是由U.S. Department of Energy(DOE)Office of Science and National Nuclear Security Administration (NNSA)Laboratories于近十之前发起并提供基金支持的,旨在满足当时和以后的超级计算平台中对于开源、高可扩展性、高性能的并行文件系统的需求。在过去十年间,在满足了不同的超级计算平翻译 2012-05-29 17:37:40 · 2740 阅读 · 1 评论 -
深入理解Lustre文件系统-第11篇 Lustre一般化文件系统封装层:fsfilt
Lustre在底层本地文件系统和Lustre之间提供了一个称为fsfilt的封装层。在上层中,obd_filter使用fsfilter层提供的一般化的函数,而fsfilter曾将这些调用传送到一个文件系统特有的实现中。这些特有的实现是特定的底层文件系统接口。fsfilt通过使用针对特定文件系统的小(tiny)封装(即对ext3使用的fsfilt和对Reiserfs3文件系统使用的fsfilt_re翻译 2012-05-03 19:56:48 · 3700 阅读 · 0 评论 -
深入理解Lustre文件系统-第10篇 LNET:Lustre网络
LNET是一个消息传递API,源自Sandia Portals。虽然它们俩有一些共同点,但是它们俩是不同的东西。我们将探讨LustreLNET,但是不会深入研究这两者的不同。10.1 核心概念首先,我们需要澄清一些在本节接下来的部分使用的一些术语,特别是进程ID、匹配项、匹配位和内存描述符。LNET进程IDLNET使用LNET进程ID来区分它的peer们,定义如下:翻译 2012-05-01 22:14:11 · 6102 阅读 · 0 评论 -
深入理解Lustre文件系统-第9篇 Portal RPC
Portal RPC为如下内容提供了基础机制:通过输入口发送请求,接受请求通过输出口接收和处理请求,发送请求执行块数据传输错误恢复9.1 客户端接口我们将首先探讨Portal RPC的接口,而不深入到实现细节中。我们将用LDLM的发送机制作为例子。对这个实例,LDLM向客户端发送一个阻塞ASTRPC(ldlm_server_blocking_翻译 2012-04-27 17:26:50 · 3409 阅读 · 0 评论 -
深入理解Lustre文件系统-第8篇 基础结构支持
此节探讨关于Lustre初始化、客户端注册、OBD设备管理等多个方面。8.1 Lustre客户端注册Lustre客户端或者Lustre Lite以名字lustre注册为一个文件系统,文件系统类型定义为:structfile_system_type lustre_fs_type = { .owner = THIS_MODULE, .name = "lust翻译 2012-04-07 22:57:48 · 3556 阅读 · 0 评论 -
深入理解Lustre文件系统-第5篇 LDLM:锁管理者
Lustre锁管理者的基本思想来自于VAXDLM。在我们深入源码理解它如何工作之前,我们需要解释一些基本的概念。5.1 名字空间我们首先涉及的概念是名字空间。当你请求锁时,你都在请求某个名字空间中的锁,每个Lustre服务都定义了一个名字空间。为了在一个实际的情景中讨论这个问题,假设你的Lustre文件系统有十个OST,从LDLM的观点看,有十个名字空间。另外,MDS和MGS各自有翻译 2012-03-16 23:13:02 · 5183 阅读 · 0 评论 -
深入理解Lustre文件系统-第4篇 LOV和OSC
从高层的图景看,LOV的任务是将页指向正确的OSC,而OSC的任务是收集脏页向量、组合(group)它们、将它们从传输线上发送到OST(当然,通过PortalRPC和LNET)。4.1 OBD设备操作OBD面向设备操作是一个在LOV、OSC和MDC中使用并能被看到的一般性的源码组织模式和实现方法。OBD设备由obd_ops结构体定义的方法表描述,该方法表有点类似于前面提到的VFS文翻译 2012-03-15 22:54:32 · 4546 阅读 · 0 评论 -
深入理解Lustre文件系统-第6篇 OST和obdfilter
/* Sigh -really, this is an OSS, the _server_, not the _target_ */static intost_setup(struct obd_device *obd, obd_count len, void *buf){ ... }from Lustre source tree b16如果我们正确地理解了上述注释,Lustre源码翻译 2012-03-26 21:54:36 · 5076 阅读 · 0 评论 -
深入理解Lustre文件系统-第3篇 lustre lite
在这一节,我们将描述Lustre Lite怎样接入Linux VFS并与之融为一体,这对于支持VFS语义和POSIX接口非常必要。作为概要,Lustre Lite以方法表(method table)的形式提供了如下函数:Lustre特有的文件操作,通过ll_file_operations表。Lustre特有的dentry操作,通过ll_d_ops和它的cache。Lustr翻译 2012-03-08 22:50:58 · 8808 阅读 · 0 评论 -
深入理解Lustre文件系统-第2篇 体系结构的模块视图
Lustre是一个以GNUGeneral Public为许可证的,开源的分布式并行文件系统,由Sun Microsystems Inc. 公司开发和维护。由于Lustre文件系统的体系结构具有极好的可扩展性,它得以在科学计算、石油天然气、制造业、rich media、金融等领域得到广泛部署。Lustre为其客户端提供了包含对共享文件对象的并行存取能力在内的POSIX接口。截止本文编写时为止,根据T翻译 2012-03-05 22:27:07 · 22814 阅读 · 2 评论