【问题标题】:Loading lustre kernel modules on AWS linux在 AWS linux 上加载 luster 内核模块
【发布时间】:2019-10-31 13:12:00
【问题描述】:

我正在尝试将 luster 模块加载到运行 Linux 4.15.0-1040-aws 和 18.04 Ubuntu 磁盘映像(18.04 AMI)的 Linux 实例中。

我已从Ubuntu 18.04 - Lustre 2.12.2 下载并安装(即 dpkg -i)18.04 的 luster 客户端 deb:

- lustre-client-modules-4.15.0-45-generic_2.12.2-1_amd64.deb
- lustre-client-utils_2.12.2-1_amd64.deb

.ko 模块文件安装在 /lib/modules/4.15.0-45-generic/updates/fs/ 中,但默认情况下 modprobe 不会拾取它们,因为它们不在我的内核的默认查找范围内路径:/lib/modules/4.15.0-1040-aws。

有没有办法让它们加载,或者我的内核是否需要与 deb 提供的完全匹配?用户是否会为 modprobe 编写自定义光泽 .conf 文件而烦恼?

编辑

我认为答案可能是内核需要精确匹配模块——这可能需要重新编译模块源代码。我最终设法在 linux 4.14.123-111.109.amzn2.x86_64 上安装了 luster 客户端,但它运行在“Amazon Linux 2”映像(不是 ubuntu 18.04)上,我不得不使用命令 amazon-linux-extras install -y lustre2.10

我最初没有意识到的另一件事是,亚马逊的 Lustre FSx 仅与 Lustre 客户端 2.10.5 和 2.10.6 兼容(请参阅this page 顶部的注释),以防万一。棘手。

【问题讨论】:

    标签: kernel-module lustre


    【解决方案1】:

    客户端内核模块需要针对系统上运行的特定内核进行编译,或者对于 RHEL 内核,至少需要一个来自同一主要版本的内核(例如 RHEL7.5 内核 3.10.0-862.x) .有几个从源代码构建 Lustre 客户端的指南,例如参见 Building Lustre - TLDR GuideRebuilding the Lustre client RPMs for a new kernel

    Lustre 2.12.x 客户端通常能够挂载运行 Lustre 2.10.x 的服务器,只要为您的特定内核重新构建模块以便可以加载它们。 Lustre 使用更复杂的机制(不仅仅是版本号)在连接时交换客户端和服务器之间的功能兼容性,并且普通的 Lustre 客户端/服务器允许在不同版本之间进行连接,即使无法使用新功能。

    我无法评论 AWS FSx 实施是否限制客户端运行特定版本。 可能将客户端限制为需要特定版本,并为服务器代码提供补丁(除了支持的功能列表之外,客户端和服务器还在连接时交换其 Lustre 版本),但是版本号仅用于标准 Lustre 2.10.x 或 2.12.x 版本中的信息用途。

    您可以通过在客户端上运行“lctl get_param {mdc,osc}.*.import”或在每个客户端上运行“lctl get_param {mdt,obdfilter}.*.exports.*.export”来检查客户端和服务器版本以及相互支持的功能 (connect_flags) 2.11 及更高版本的服务器(如果您可以登录服务器,而 AWS FSx 通常无法登录)。

    【讨论】:

    • 谢谢!您建议 2.12.x 客户端理论上会降级到 2.10.x 服务器的功能集,除非 AWS 的 FSx 服务器实施中有特定的东西会阻止这种情况? AWS docs 提到需要 2.10.{5,6} 客户端,但也许他们过于保守或过时了。
    • 兼容性是双向的(旧客户端+新服务器,反之亦然),每个客户端/服务器对都使用双方都理解的功能子集。 FSx 可能使用需要 2.10 或更高版本 客户端的新功能,例如 wiki.lustre.org/Progressive_File_Layouts (PFL)。这将使旧客户端无法访问由 2.10+ 客户端创建的文件(旧客户端创建的文件仍可供这些客户端使用)。我怀疑 AWS 的意思是您需要至少一个 2.10.5 客户端,并且尝试一个 2.12 客户端(它支持较新的内核)并无害。
    猜你喜欢
    • 2022-11-11
    • 2016-10-12
    • 2023-03-20
    • 2015-07-20
    • 2012-03-14
    • 2020-12-31
    • 1970-01-01
    • 2021-10-31
    • 1970-01-01
    相关资源
    最近更新 更多