Автоматическая установка ОС на выделенные серверы

Автоматическая установка ОС на выделенные серверы

В предыдущей статье мы уже рассказывали об управлении загрузкой выделенных серверов и обещали показать что-то ещё интереснее. Рады представить полностью автоматическую установку операционной системы на выделенные серверы.

Для многих наших клиентов установка ОС на сервер представляется делом хлопотным и при этом не сильно интересным. Обычно этим занимались наши инженеры, тратя все больше времени с ростом количества серверов и клиентов. Поэтому было решено полностью автоматизировать этот процесс, при этом сделать его максимально гибким и простым для клиента.

Также было решено немного разнообразить формат статей и показать весь процесс в виде скринкаста на примере установки недавно вышедшего CentOS 6.4.

Пожалуй самый простой howto по установке ОС

Начнем естественно с анкеты сервера — открываем список серверов, находим нужный сервер и переходим к нему. Обязательно назначаем серверу IPv4 адрес, если это не сделано ранее.

Автоматическая установка ОС на выделенные серверы

Далее переходим на страницу переустановки сервера и указываем данные, необходимые для установки:

  • Hostname сервера, по умолчанию прописывается уникальный номер сервера вида csNNNN;
  • Выбираем дистрибутив ОС в соответствии с вашими требованиями и личными предпочтениями;
  • Архитектуру (битность) ОС, рекомендуем x86_64, если у вас нет особых требований;
  • Версию ОС, рекомендуем самый последний релиз (для Ubuntu последий LTS релиз).

Установка ОС на выделенные серверы

Выбор типа программного RAID рассмотрим подробнее. На большинстве наших выделенных серверов присутствует два и более жестких диска, но при этом нет аппаратного RAID контроллера. Поэтому мы настойчиво рекомендуем нашим клиентам использовать программный RAID1 (зеркалирование) или RAID10 (зеркалирование плюс чередование, но на такой рейд требуется 4+ диска) для повышения надежности хранения данных. По этой же причине мы отказались от добавления опции RAID0 (чередование), так как при его использовании и выходе из строя одного из HDD будет потеряна вся информация, хранящаяся на сервере. Итого на данный момент доступны:

  • Без RAID, рекомендуем использовать при наличии в сервере только одного диска или при использовании аппаратного RAID-контроллера. Установка будет произведена на первый диск, остальные будут оставлены не размеченными;
  • RAID1 будет собран массив из первых 2 дисков, остальные диски будут оставлены не размеченными;
  • RAID10 используются первые 4 диска, остальные будут оставлены не размеченными;

Обращаем внимание, на то что не стоит пытаться собрать RAID10 на сервере с 1 диском, установщик ОС скорее всего этой шутки не поймет. Учесть все возможные комбинации серверов, не представляется возможным, особенно, принимая во внимание серверы произвольной конфигурации. Поэтому в этом вопросе мы полагаемся на ваше благоразумие.

Далее последний, но очень важный этап — выбор разметки дисков. Обязательные разделы: /boot (1 Гб), / (не менее 5 ГБ), swap (не менее 4 ГБ). Вы можете добавлять любое количество разделов и удалять их. Для каждого раздела указывается размер в ГБ, и один из разделов должен быть отмечен для заполнения места. В качестве файловой системы мы рекомендуем использовать по умолчанию ext4, также учтите, что некоторые ОС накладывают определенные ограничения на выбор ФС.

Автоматическая установка операционной системы на выделенные серверы

После выбора и проверки всех настроек нажимаем “Начать переустановку” и подтверждаем в диалоговом окне. Ещё раз обращаем внимание на то, что при переустановке все данные со всех дисков удаляются. Даже если вы выбрали разметку “Без RAID” на сервере с 4 дисками, все 4 диска будут затерты. Это необходимо так как большинство установщиков входят в ступор при нахождении остатков метаданных RAID/LVM на дисках во время их разметки.

Автоматическая установка ОС на выделенные серверы Selectel

Сразу после подтверждения сервер будет перезагружен через IPMI и начнет загрузку соответствующего установщика ОС по сети. Страница переустановки будет заблокирована на время установки ОС, на её месте будет выводиться соответствующее сообщение. Если вы поняли, что ошиблись сервером, то можете прервать установку в любой момент нажав кнопку “Отменить переустановку”. При этом сервер будет немедленно перезагружен, а загрузка по сети переключится на загрузку с первого жесткого диска. За процессом установки можно наблюдать через KVM-консоль, ссылка на которую находится на этой же странице.

ОС на выделенные серверы

Установка сервера занимает 5-10 минут, в зависимости от производительности сервера и дистрибутива ОС. Для сокращения времени установки и повышения надежности используется наше зеркало mirror.selectel.ru. Если во время установки сервера произошла какая-либо ошибка, например, прервался доступ в интернет, то для начала попробуйте перезагрузить сервер, установка начнется сначала. Если это не поможет, то обратитесь в техподдржку через тикет-систему, вам обязательно помогут.

Итак, сервер загрузился и готов к дальнейшей настройке и работе.

Автоматическая установка ОС на выделенные серверы

Все системы устанавливаются в минимально возможной конфигурации по умолчанию, никакие системные настройки не изменяются без крайней необходимости. На всех системах автоматически устанавливается и включается только ssh-сервер. Пароль при установке можно посмотреть после установки на странице переустановки сервера, при каждой переустановке генерируется новый пароль. При установке ОС Ubuntu пользователь root отключен, создается пользователь с логином ‘user’, во всех остальных системах пользователь один — ‘root’. Также мы всегда рекомендуем самостоятельно сменить пароль после установки сервера, создать нового пользователя и отключить доступ root пользователя по ssh.

Установка ОС на выделенные серверы Селектел

Технический FAQ

Как размечаются диски? При разметке дисков используется LVM и mdraid:

  • Без RAID
    • sda1 /boot 1GB;
    • sda2 PV for LVM;
    • все остальные разделы как LV внутри vg0;
  • RAID1
    • sda1, sdb1- md0 RAID1 /boot 1GB;
    • sda2, sdb2- md1 RAID1 PV for LVM;
    • все остальные разделы LV внутри vg0;
  • RAID10
    • sda1-sdd1- RAID1 /boot 1GB;
    • sda2-sdd2- RAID10 PV for LVM;
    • все остальные разделы как LV внутри vg0.

Почему LVM? Использование LVM добавляет гибкости при редактировании разделов, позволяет относительно легко изменять их размеры, объединять, добавлять и удалять разделы. Также использование LVM позволило унифицировать шаблоны установки и обойти некоторые проблемы при разметке дисков (отпала необходимость в использовании extended разделов и их нумерации).

Почему /boot отдельно и такой большой? Большинство ОС рекомендуют выносить /boot раздел отдельно при использовании LVM или RAID для корневого раздела. 1Гб совсем не много- это ~0.2% от 500Гб диска (минимальный не SSD диск доступный для наших серверов). При этом этого достаточно для хранения нескольких десятков обычных ядер с initrd или нескольких dev ядер, размер которых может превышать 200Мб. С учетом того что изменить размер /boot раздела- дело чрезвычайно хлопотное, мы решили не жадничать.

Хочу оставить свободное место на диске, но не могу снять галочку “заполнить место”. Это баг? Нет, это не баг, большинство установщиков требуют растягивать один из разделов на все свободное место. В качестве решения проблемы мы рекомендуем создавать раздел пустышку, отмечать его галочкой “заполнить место” и удалять после установки системы.

Как это работает? Все системы устанавливаются своими штатными установщиками с использованием preseed, kickstart или autoyast в зависимости от дистрибутива. На данный момент доступны:

  • Debian 6, 7;
  • Ubuntu от 12.04 до 13.04;
  • CentOS актуальные версии из веток 5.* и 6.*;
  • RedHat Enterprise Linux 6.4 без лицензии (приобретается отдельно);
  • OpenSUSE 12.3.