Загрузка модулей ядра lustre в AWS linux

Я пытаюсь загрузить модули блеска в экземпляр Linux под управлением Linux 4.15.0-1040-aws и образа диска Ubuntu 18.04 (18.04 AMI).

Я скачал и установил (т.е. dpkg -i) клиентские deb-файлы lustre для 18.04 из Ubuntu 18.04 — Lustre 2.12.2:

- 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, потому что они находятся за пределами пути поиска моего ядра по умолчанию: / библиотека/модули/4.15.0-1040-aws.

Есть ли способ загрузить их, или мое ядро ​​должно точно соответствовать тому, что предоставляется deb? Ожидается ли, что пользователи будут возиться с написанием пользовательских файлов люстры .conf для modprobe?

Изменить

Я думаю, что ответ, вероятно, заключается в том, что ядро ​​должно точно соответствовать модулям, что может потребовать перекомпиляции исходного кода модуля. В конце концов мне удалось установить клиент lustre на Linux 4.14.123-111.109.amzn2.x86_64, но он работает на образе «Amazon Linux 2» (не Ubuntu 18.04), и мне пришлось использовать команду amazon-linux-extras install -y lustre2.10.

Еще одна вещь, которую я изначально не понял, это то, что Lustre FSx от Amazon совместим только с клиентом Lustre 2.10.5 и 2.10.6 (см. примечание вверху этой страницы), если это имеет значение. Сложный.


person init_js    schedule 17.06.2019    source источник


Ответы (1)


Модули ядра клиента должны быть скомпилированы для конкретного ядра, работающего в системе, или, в случае ядер RHEL, по крайней мере, ядра из того же основного выпуска (например, ядро ​​RHEL7.5 3.10.0-862.x). Существует несколько руководств по созданию клиентов Lustre из исходного кода, см., например, Building Lustre — Руководство TLDR или Пересборка клиента Lustre RPM для нового ядра.

Клиенты Lustre 2.12.x обычно могут монтировать серверы с Lustre 2.10.x, если модули пересобраны для вашего конкретного ядра, чтобы их можно было загрузить. Lustre использует более сложный механизм (больше, чем просто номера версий) для обмена совместимостью функций между клиентами и серверами во время соединения, а обычные клиенты/серверы Lustre позволяют устанавливать соединение между различными выпусками, даже если более новые функции нельзя использовать.

Я не могу комментировать, ограничивает ли реализация AWS FSx клиентов запуском определенной версии. Ограничение клиентов тем, что они требуют определенную версию, возможно с исправлением кода сервера (клиент и сервер также обмениваются своими версиями выпуска Lustre во время подключения, в дополнение к списку поддерживаемых функций), но номер версии не используется ни для чего, кроме информационных целей, в стандартных выпусках Lustre 2.10.x или 2.12.x.

Вы можете проверить версию клиента и сервера, а также взаимно поддерживаемые функции (connect_flags) для каждого сервера, запустив «lctl get_param {mdc,osc}.*.import» на клиенте, или для каждого клиента, запустив «lctl get_param {mdt,obdfilter}.*.exports.*.export» на серверах версии 2.11 и более поздних (если вы можете войти в систему на серверы, что обычно невозможно с AWS FSx).

person LustreOne    schedule 24.06.2019
comment
Спасибо! Вы предполагаете, что клиент 2.12.x теоретически понизится до набора функций сервера 2.10.x, если только в реализации сервера AWS FSx нет чего-то особенного, что помешало бы этому? В документах AWS упоминается, что требуется версия 2.10. {5,6}, но, возможно, они слишком консервативны или устарели. - person init_js; 24.06.2019
comment
Совместимость идет в обе стороны (старые клиенты + новые серверы и наоборот), при этом каждая пара клиент/сервер использует подмножество функций, понятных обоим. Возможно, FSx использует новую функцию, для которой требуется клиент версии 2.10 или новее, например вики. lustre.org/Progressive_File_Layouts (PFL). Это сделает файлы, созданные клиентами версии 2.10+, недоступными для более старых клиентов (файлы, созданные более старыми клиентами, по-прежнему будут использоваться этими клиентами). Я подозреваю, что AWS означает, что вам нужен по крайней мере клиент 2.10.5, и не вредно попробовать клиент 2.12 (который поддерживает более новые ядра). - person LustreOne; 26.06.2019