Lustre坎坷20载,依然坚挺,占据HPC市场一定的份额。今天就来盘点一下,Lustre在过去20年版本发布情况,以及各版本的特性。以下表格采用编年体,展示Lustre各个版本情况,汇总一下Lustre版本发布历史和未来的RoadMap。
详细的版本释出路线图:https://www.lustre.org/latest-news/
年份 | 版本号 | 版本特性 |
2003年12月 | 1.0.0 | 1. 文件系统基本功能 2. 服务器故障切换和恢复 |
2004年3月 | 1.2.0 | 1. 支持Linux内核2.6 2. size glimpse功能避免了撤销正在进行写入文件的锁 3. 实现了客户端的数据回写缓存的计量(grant) |
2004年11月 | 1.4.0 | 1.提供版本之间协议兼容性 2.支持InfiniBand网络 3.可利用ldiskfs磁盘文件系统中的extents/mballoc |
2007年4月 | 1.6.0 | 1. 允许使用”mkfs”和”mount”进⾏挂载配置(”mountconf”), 2. 允许动态添加对象存储目标(OST), 3. 实现了Lustre分布式锁管理器(LDLM )在对称多处理(SMP)服务器上的可扩展性 4. 为对象分配提供了空闲空间管理 |
2009年5月 | 1.8.0 | 1. 提供了OSS读取缓存 2. 提供了在多种故障下的恢复能力 3. 通过OST池增加了基本的异构存储管理,自适应网络超时和基于版本的恢复 4. 这是个过渡版本,可与Lustre 1.6和Lustre 2.0兼容 |
2010年8月 | 2.0.0 | 1. 进行了重要的内部代码重构,为主要的架构改进做好了准备 2. Lustre2.x客户端无法与1.8或更早版本的服务器进行交互 3. 1.8的元数据目标(MDT)和OST磁盘格式可以升级到2.0及更高版本,无需重新格式化文件系统 |
2011年9月 | 2.1 | 1. 这个版本是整个社区对Oracle暂停Lustre 2.x开发的回应 2. 它增加了在Red Hat Linux 6上运行服务器的能力,并将基于ext4的OST的最大容量从24TB增加到了 128TB,同时还提供了性能和稳定性 |
2012年3月 | 2.2 | 其重点在于改进元数据性能和加了新功能: 1. 增加了并行目录操作,允许多个客户端同时遍历和修改单个大目录 2. 能更快地从服务器故障中恢复 3. 单个文件的条带数增加(最多可达2000个OST) 4. 改进了单客户端目录遍历性能 |
2012年10月 | 2.3 | 1. 改进了元数据服务器代码,以消除具有多个CPU核心(超过16个)的节点上的内部锁定瓶颈 2. 对象存储层初步具备了使用ZFS作为后端文件系统的能力 3. 文件系统检查(LFSCK)功能可以在文件件级备份/恢复之后、或MDS损坏的情况下、或当文件系统正在使用时,进行MDS对象索引(OI)的验证和修复 4. 服务器端IO统计信息功能得到了增强,允许与批处理作业调度程序(如SLURM)集成,以跟踪每个作业的统计信息 5. 客户端软件已经升级到可以使用3.0版本的Linux内核 |
2013年5月 | 2.4 | 1. 允许单个名称空间的子目录树位于单独的MDT上 2. 分布式名称空间(DNE)实现了元数据容量和性能的线性可扩展性 3. ZFS可用作MDT和OST存储的后端文件系统 4. LFSCK功能添加了扫描和验证MDT FID和LinkEA属性的内部⼀致性的功能 网络请求调度程序(NRS)添加策略来优化客户端请求处理,以进行磁盘排序或提高公平性 5. 客户端可以选择发送大小为4 MB的批量RPC 6. 客户端软件已经升级到可以使用3.6版本的Linux内核 |
2013年10月 | 2.5 | 增加了备受期待的功能——分级存储管理 (HSM),HSM是企业环境中的核心要求,它使得客户可以在其操作环境中轻松实施分层存储解决⽅案。 |
2014年7月 | 2.6 | 2.6版本功能上讲是一个朴素的版本: 增加了LFSCK功能来对OST进行本地一致性检查,以及MDT和OST对象之间的一致性检查 与以前的版本相比,单客户端IO性能得到了提升 此版本还添加了DNE分条目录的预览,使得将单个大目录可以存储在多个MDT上,以提高性能和可扩展性 |
2015年3月 | 2.7 | 1. 增加了LFSCK功能来验证多个MDT之间远程目录和条带目录的DNE一致性 2. 动态LNet配置添加了在运⾏时配置和修改LNet网络接口,路由和路由器的能力 3. 为具有不同管理域的客户端的UID/GID映射添加了新的评估功能,同时还改进了DNE条带化目录功能 |
2016年3月 | 2.8 | 1. 完成了DNE条带目录功能,包括支持在MDT之间迁移目录,以及跨MDT硬链接和重命名。 2. 对客户端上安全增强型Linux身份验证和RPC加密以及LFSCK的性能改进 |
2016年12月 | 2.9 | 包含了许多与安全性和性能有关的功能: 1. 共享密钥安全特性使用与Kerberos相同的GSSAPI机制,来提供客户机和服务器节点身份验证,以及RPC消息完整性和安全性(加密) 2. Nodemap功能允许将客户端节点分组,然后映射这些客户端的UID/GID,使得远程管理的客户端可以透明地使用共享文件系统,而无需为所有客户端节点都配置一组UID/GID。 3. 子目录挂载功能允许客户端从MDS挂载文件系统命名空间的一个子集 4. 增加了对最大16MiB RPC的支持,以便实现更高效的磁盘I/O 5. 添加了ladvise接口,以允许客户端向服务器提供I/O提示,以便将文件数据预取到服务器缓存,或从服务器刷新文件数据缓存 6. 改进了对指定文件系统范围的默认OST池的支持,并改进了OST池继承以及其他文件布局参数 |
2017年7月 | 2.10 | 有了许多重大改进: 1. LNet Multi-Rail功能允许在客户端和服务器上绑定多个网络接口(InfiniBand,OPA和/或以太网),以增加总的I/O带宽 2. 文件格式现在可以由多个组件构成,基于文件偏移量,允许根据文件大小确定不同的参数,例如条带数,OST池等 3. NRS令牌桶过滤器(TBF)服务器端调度器已经实现了新的规则类型,包括RPC类型的调度,以及指定多个参数的能力,例如用于规则匹配的JobID和NID 4. 添加了用于管理Lustre文件系统的ZFS快照的工具,它作为单独的Lustre加载点,简化了MDT和OST ZFS快照的创建,安装和管理。 |
2019年5月 | 2.10.8 | 1. 修复 SGID 目录中的非目录创建 2. CentOS 7.6 + MOFED 4.6 上的 Lustre 客户端编译失败 |
2021年2月 | 2.14.0 | Lustre 2.14.0 Changelog – Lustre Wiki |
2021年7月 | 2.12.7 | Lustre 2.12.7 Changelog – Lustre Wiki |
Now | 2.15.0 | 开发中 Lustre 2.15.0 Changelog – Lustre Wiki |
Lustre未来演进的路线图
上一篇:01 Lustre坎坷的历史
《02 Lustre版本发布历史》有2个想法