深入理解Lustre文件系统-第8篇 基础结构支持

深入理解Lustre文件系统 立即下载

此节探讨关于Lustre初始化、客户端注册、OBD设备管理等多个方面。

8.1   Lustre客户端注册

Lustre客户端或者Lustre Lite以名字lustre注册为一个文件系统,文件系统类型定义为:

structfile_system_type lustre_fs_type = {

      .owner = THIS_MODULE,

      .name = "lustre",

      .get_sb = lustre_get_sb,

      .kill_sb = lustre_kill_super,

      .fs_flags = FS_BINRARY_MOUNTDATA |FS_REQUIRES_DEV

                           LL_RENAME_DOES_D_MOVE,

};

另外一个由lustre_register_fs()定义的函数只简单地调用内核函数:

returnregister_filesystem(&lustre_fs_type);

然后注册就结束了。这是当obdclass作为一个模块初始化的时候调用的。

intinit_obdclass(void) {

      ...

      #ifdef __KERNEL__

      err = lustre_register_fs()

      #endif

}

查看class_obd.c里的更多细节。

8.2   超级块和索引节点注册

这应该是一个相对简单的问题,但是可能是因为一些遗留的支持问题,Lustre跳过了几环(hoop)。

当Lustre Lite以一个Linux模块初始化时,init_luster_lite()在super25.c做了定义。在诸如分配索引节点高速缓存的事情中,它(本质上)将*client_fill_super设置为ll_fill_super。

在luster_fill_super()方法中,我们检查这是不是一个客户端模块。如果是,则调用(*client_fill_super)(sb),其中sb就是超级块。

8.3   ODB设备

OBD设备用来在Lustre部件上提供一个抽象层,以使得能够应用一般化的操作,而不需要知道你正在处理的设备的特殊性。我们在第5节探讨了定义在其上的方法表。Lustre特提供了一些管理对象设备的一般性基础结构。核心的结构是obd_devices和exports。我们将细致地探讨它们。

每个odb设备都赋值了一个整型数,最多能在一个给定的节点上创建MAX_OBD_DEVICES个obd设备。你能够通过一个整型数(obd_minor)、名字或者uuid找回一个obd设备。在内部,所有的obd设备都存储在一个数组中。然而找回一个obd设备的最好的方式是通过下面介绍的一些API。

structobd_device *obd_devs[MAX_OBD_DEVICES]

API可以粗略地分为四类:

l 注册和注销一种设备类型

l 分配和释放obd设备。obd_device_alloc()、obd_device_free()。

l 创建和解除obd设备。你可以通过向class_newdev()给出字符串类型和字符串名字来创建新的odb设备。你可以通过给出指向obd_device的指针来解除一个obd设备。在两种情形下,它们都在内部调用分配和释放函数。

l 搜索。你可以通过class_search_type()来通过类型进行搜索

l 转化工具。

8.4   输入口和输出口

对于两个互相交流的OBD设备A和B,它们需要一对输入口和输出库Aimport和Bexport。Aimport用来发送请求和接受回复,而Bexport则用来接收请求和发送回复。但是,这同样的一对不可以反过来使用:即你不能通过Bexport来发送一个请求。为了实现这一点,例如在发送AST的情况下,你需要一个所谓的“反向输入口”。本质上,反向输入口将Aimport和Bexport对转化为Aexport和Bimport对。在OBD设备上创建这种对的需求在Figure11中部分地给出了。

注意图中的LOV、OSC和OST都被定义为ODB设备的一种。

本文章欢迎转载,请保留原始博客链接http://blog.youkuaiyun.com/fsdev/article

Lustre 最全的资料集 Demo Quick Start Guide.pdf -- 快速安装,官方标准教程。 Lustre 1.4.6 Operations Manual.pdf Lustre 1.8 Operations Manual.pdf Lustre 2.0 Operations Manual.pdf The Lustre Storage Architecture(20030829).pdf The Lustre Storage Architecture(20040831).pdf Understanding Lustre Filesystem Internals.pdf 立即下载

相关推荐

2025软考信息安全工程师真题

2025信息安全工程师软考真题

qq_40424393的博客 1707

Lustre File System (转)

Lustre File System 历史 Lustre是HP,Intel,Cluster File System公司联合美国能源部开发的Linux集群并行文件系统。它来源于卡耐基梅隆大学的NASD项目研究工作。Lustre文件系统2003年推出了1.0版,目前已经推出了1.4.7的发布版本。 Lustre在美国能源部(U.S.Department of Energy:DOE)、Lawren...

cooldatabase 395

施耐德 Modicon M580 ePAC 项目实战:从硬件选型到 Control Expert V15 组态

本文详细解析了施耐德 Modicon M580 ePAC 在工业自动化项目中的实战应用,从硬件选型到 Control Expert V15 组态的全流程。重点介绍了水处理站控制系统的硬件配置、网络架构设计、软件安装授权及程序框架开发,帮助工程师高效实施中大型控制系统项目。

weixin_33701617的博客 327

Lustre I/O性能特点与最佳实践

Lustre是面向集群的存储架构,它是基于Linux平台的开源集群(并行)文件系统,提供与POSIX兼容的文件系统接口。Lustre两个最大特征是高扩展性和高性能,能够支持数万客户端系统、PB级存储容量、数百GB的聚合I/O吞吐量。Lustre是Scale-Out存储架构,借助强大的横向扩展能力,通过增加服务器即可方便扩展系统总存储容量和性能。Lustre的集群和并行架构,非常适合众多客户端并发进行大文件读写的场合,但目前对于小文件应用非常不适用,尤其是海量小文件应用LOSF(Lots Of Small F

刘爱贵的专栏 3万+

[图解]SysML与EA实战:住宅安全系统接口块设计全解析

本文详细解析了使用SysML和EA工具进行住宅安全系统接口块设计的全流程。从系统上下文图入门到接口块实战技巧,涵盖块定义图与内部块图的视角转换,以及多图协同建模方法论。特别分享EA工具的高效操作指南和常见问题避坑建议,帮助工程师掌握精确信号定义、端口方向设置等关键技能,提升安防系统设计效率。

weixin_29234509的博客 333

一文了解英伟达(NVIDIA)所有显卡芯片

英伟达(NVIDIA)的产品线庞杂繁复,从面向游戏玩家的GeForce RTX系列,到数据中心的H100、B200,再到Jetson、DRIVE等边缘智能平台,一般人很难以厘清其全貌。这篇文章将用通俗而专业的语言,一文打通英伟达显卡芯片体系,让你彻底读懂这个GPU帝国是如何运转的。

bjdx_001的博客 6358

lustre文件系统详细介绍

总的来说,Lustre是一种功能强大的高性能并行分布式文件系统,适用于需要大规模数据处理和并行计算的各种科学和工程应用场景。

华仔的博客 1713

保姆级!n8n 公众号自动化:从 0 搭 “写文案 + 生图 + 发草稿” 全流程

【摘要】本文介绍如何利用n8n搭建全自动公众号内容发布流程,涵盖AI文案生成、封面图制作到自动发布的全链路解决方案。通过对接OpenRouter大模型、阿里云百炼生图API及微信官方接口,实现从内容创作到发布的自动化。重点包括:1)n8n微信节点安装配置;2)大模型API授权与提示词优化技巧;3)图片生成与格式转换处理;4)公众号接口授权注意事项;5)草稿自动生成参数设置要点。特别提醒首次配置时需关闭自动发布功能以检查效果,避免格式错误导致发布失败。该方案无需复杂编程,适合运营人员快速搭建自动化内容生产流程

Jacket0603的博客 1594

Lustre (file system)

Lustre (file system) Lustre (file system) - Wikipedia, the free encyclopediaLustre (file system) From Wikipedia, the free encycloped...

215

【Excel VBA 编程】表格内自动生成进度条

在表格中生成进度条,进度条需要自适应单元格的宽度,根据不同进度区间变换颜色,并且按照进度数据大小显示其长短

wei1019的专栏 1519

【测开求职】面试题:计算机网络 详细版整理

本篇文章是笔者为准备研究生复试和校招而写,因此主要针对问答,注重理解,而不在于细节计算。读者可以先查看上面的链接走一遍计算机网络的整体框架结构。其中,重点难点以及易混淆的知识点,笔者会用其他文章进行了详述,在知识点处贴好了链接,有需要的可以查阅。

vector的博客 5936

深入理解Lustre文件系统-第12篇 Lustre磁盘文件系统:ldiskfs

ldiskfs(有些时候被错误地称为Linux ext4文件系统)是对Linux ext3文件系统的打了很多补丁的一个版本,由Sun Microsystems公司开发和维护。ldiskfs是Linux ext3和ext4文件系统的超集。现在它只被Lustre文件系统用在服务器端,作为底层的本地文件系统。本节给出了对ldiskfs机器与ext3文件系统不同之处的简要介绍。 就各自的I/O路径而言,

李希的博客 5372

Flink Web UI 如何使用和调试保姆级教程(持续更新)

Running Jobs(运行中的作业):显示正在运行的所有 Flink 作业的列表。每个作业都有一个独特的 Job ID,可以点击进入查看作业的详细信息。Completed Jobs(已完成的作业):显示已经完成或取消的作业列表。:显示当前集群中所有 TaskManager 的健康状态,包括 CPU 使用率、内存使用情况、Slot 数量等。Job Manager Configuration(JobManager 配置):显示 JobManager 的一些配置参数,帮助调试和优化 Flink 集群。

大模型大数据攻城狮的专栏 3991

深入理解Lustre文件系统-第13篇 未来的工作

Lustre文件系统是由U.S. Department of Energy(DOE)Office of Science and National Nuclear Security Administration (NNSA)Laboratories于近十之前发起并提供基金支持的,旨在满足当时和以后的超级计算平台中对于开源、高可扩展性、高性能的并行文件系统的需求。在过去十年间,在满足了不同的超级计算平

李希的博客 2862

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: 深入理解Lustre文件系统-第7篇 MDC和Lustre元数据
下一篇: 深入理解Lustre文件系统-第9篇 Portal RPC
存储李希
博客等级 码龄15年 418粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值