NoWeekOff
@NoWeekOff

Бездисковый сервер с загрузкой образа по сети

Вводные: есть вычислительный кластер (мощные сервера с infiniband сетью). Вычислительные узлы без дисков. Встала задача загрузить на них образ ОС, развернуть и оставить в оперативной памяти. Образ на базе ряда конкретного дистрибутива (RHEL).
Есть два рабочих решения:
1) монтирование root идет через nfs. Не хочется накладных сетевых расходов. Оперативки для образа не жалко.
2) раздраконить initramfs и руками прописать скачивание и развертывание образа руками. Это не особо красиво и плохо переносимо.

Направления которые кажутся перспективными:
1) Грузить образ системы в виде live cd
2) Грузить микролинукс, которому доверить загрузку основной системы.

Есть ощущение что самый простой и правильный вариант решения проблемы я упустил.
Восможно кто-то подскажет как сделать красиво?
  • Вопрос задан
  • 4958 просмотров
Пригласить эксперта
Ответы на вопрос 3
lesovsky
@lesovsky
System engineer and PostgreSQL DBA
Сделайте загрузку по PXE (запилите выделенный сервер загрузки))). На сервере PXE разверните свой образ системы
По своему опыту, делается это на раз-два
Ответ написан
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
еще посмотрите в сторону systemimager, был в debian-based дистрибутивах, в rpm скорее всего нечто похожее запилили.
Ответ написан
Комментировать
IlyaEvseev
@IlyaEvseev
Opensource geek
Как правило, базовое Линукс-ядро не содержит ни драйверов, ни утилит, необходимых для подключения к корневой ФС. Поэтому если не хотите его пересобирать, без initrd не обойтись.

Стандартный initrd не содержит ничего, кроме минимального набора драйверов и утилит, необходимых для подключения к корневой ФС. Поэтому если не хотите его пересобирать, без NFS не обойтись.

RHEL6 по умолчанию использует NFSv4, которая кэширует файлы на клиентской стороне, т.е. при достаточном ОЗУ у клиента данные с NFS-сервера будут передаваться не более одного раза.

Образ системы на NFS создаётся так:
access.redhat.com/knowledge/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/diskless-nfs-config.html

Если всё-таки хотите собрать собственный initrd, смотрите на dracut с модулем livenet. Вряд ли livenet собирает именно то, что нужно для узлов кластера, но по образу и подобию livenet и остальных модулей можно попробовать написать свой собственный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы