Задача [AES1]: Bare-metal-установщик ARTA Enterprise Server

Формулировка проблемы: имеющийся способ настройки ARTA Enterprise Server с нуля предполагает наличие у устанавливающего хороших знаний системного администрирования Linux, а также внимательности и дотошности, так как установка включает в себя много действий. В результате процесс установки ARTA Enterprise Server требует много времени и квалификации от устанавливающего.

Решение: необходимо разработать bare-metal установщик всего программного обеспечения ARTA Enterprise Server, требующий минимум вмешательства администратора в процесс установки.

Общие требования

Bare-metal-установщик должен представлять собой ISO-образ, пригодный для записи на CD, со следующими требованиями к нему:

  • Диск должен основываться последней стабильной версии дистрибутива Debian GNU/Linux

  • Диск должен содержать в себе все необходимые для работоспособности ARTA Enterprise Server пакеты и файлы, в том числе и дистрибутив ARTA Synergy. Соединение с Интернетом на этапе установки не должно требоваться.

  • Установка должна происходить в автоматическом режиме. От администратора на этапе установки должен требоваться ввод только следующих настроек:

    • Сетевые настройки (DHCP/вручную, имя хоста и т.п.)

    • Имя пользователя и пароль для пользователя-администратора (не root! root-аккаунт должен быть отключен, а администрирование должен осуществлять пользователь-администратор с помощью sudo)

    • Схема разбивки - автоматически или вручную. Автоматическая схема разбивки не требует от администратора дополнительных настроек и описана ниже

  • После установки, при первом входе в систему пользователя-администратора ему должен быть представлен мастер первоначальной настройки, описанный ниже

Автоматическая схема разбивки

Автоматическая схема разбивки должна включать в себя 4 возможных дисковых конфигурации:

  • Один жёсткий диск

  • Два жёстких диска

  • Три жёстких диска

  • Четыре жёстких диска

Под жёстких диском понимается HDD, SSD, а также аппаратное RAID-устройство.

Один жёсткий диск

В этой схеме на диске должны быть создана группа томов LVM, а в ней следующие разделы:

  • / - 10 Gb, ext4

  • swap - 1*RAM

  • /var - 40% оставшегося места, ext4

  • /srv - 60% оставшегося места, ext4

Разделы для /var и /srv должны быть подготовлены для использования в кластере (DRBD).

Два жёстких диска

В этой схеме возможно 3 исхода:

  1. Если 2 диска одинаковы по размеру (с погрешностью +/- 10%), то они должны быть объединены в RAID-массив уровня 1. Результирующее блочное устройство должно быть использовано для разбивки по схеме одного диска

  2. Если диски разного размера, и на меньшем из них хватает места для размещения / и swap, то меньший диск используется для них, а больший - для /var и /srv. (размеры те же, что и для схемы с одним диском).

  3. Если диски разного размера, и на меньшем из них не хватает места для / и swap, то больший диск разбивается по однодисковой схеме.

Три жёстких диска

Возможные исходы:

  1. Если все три, либо какие либо два диска одинаковы (+/- 10%), то два одинаковых диска разбиваются по двухдисковой схеме, вариант 1 минус swap и /, а оставшийся диск используется для swap и / (если на нём для этого не хватает места, то используется чистая двухдисковая схема разбивки).

  2. Если все три диска разного размера, то наибольший диск используется для /var и /srv/, а средний - для swap и /.

Четыре жёстких диска

Если 4 диска попарно равны по размеру (+/- 10%), то они попарно объединяются в RAID-массив уровня 1, и меньший из массивов используется для / и swap, а больший - для /var и /srv.

В ином случае используется 3-хдисковая разметка.

Мастер первоначальной настройки

Мастер первоначальной настройки должен запускаться после первого входа в систему пользователя-администратора.

При выходе из мастера (успешном либо неуспешном) администратору должен быть показан способ заново его запустить, например,

You can start this wizard again with aes-wizard

Мастер первоначальной настройки должен позволять указать следующее:

  • Роль сервера (master или slave)

  • Внутренний ip-адрес для slave и имя хоста (если на предыдущем шаге выбрана роль master) либо наоборот (внутренний ip-адрес и имя хоста master для выбранной роли slave)

  • Внешний ip-адрес Arta Enterprise Server и устройство, на которое он будет назначен (не должно совпадать с внутренней сетью)

  • Адрес или имя NTP-сервера (с возможностью пропуска)

Мастер должен иметь возможность инициализации конфигурации для узла master: это включит репликацию DRBD, роль в Pacemaker/corosync и так далее.

Мастер должен быть реализован в псевдографическом интерфейсе с использованием средств настройки Debconf.

Требуемый результат задачи

В итоге bare-metal-установщик ARTA Enterprise Server должен автоматизировать полный цикл установки, настройки и инициализации каждого из узлов ARTA Enterprise Server.

Для приёмки задачи потребуется предоставить:

  • Диск установщика

  • Сборочную среду для диска, а также руководство по её организации на чистом Debian GNU/Linux (с приложением всех необходимых конфигурационных файлов, скриптов)

  • Руководство по сборке нового образа установщика с заменой версии ARTA Synergy

Полезные ссылки