company_banner

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

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

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

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

Также было решено немного разнообразить формат статей и показать весь процесс в виде скринкаста (в конце статьи) на примере установки недавно вышедшего 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 на дисках во время их разметки.

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

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

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

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

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

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

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

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

Скринкаст





Технический 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.
Selectel
214,00
ИТ-инфраструктура для бизнеса
Поделиться публикацией

Комментарии 20

    –4
    Клиенты селектела наконец получили функционал, который клиенты большинства нормальных датацентов имеют уже уж точно пару лет. Очень рад за них!
      +4
      Российских?
        0
        Если сами знаете ответ на этот вопрос, зачем тогда спрашиваете? =)
        Нет конечно.
          +4
          Тогда стоит порадоваться за Селектел, не так ли?
            –3
            Я больше рад за клиентов селектела (текущих и будущих), они получили бонус, а Селектел просто делает свою работу (воздержусь от оценок насколько хорошо или плохо).
            Очень простая аналогия, прямо почти сказка К. И. Чуковского (если аналогия покажется неуместной — извините).
            Вот у оторвали кому-то лапки (ну или вообще их не было по каким-то причинам), тут появляется Айболит и лапки пришивает. Я всё-таки за зверюшку больше рад, нежели за Айболита (хотя он и нереально крут).
              +3
              Скажу, что мы точно никому ничего не отрывали =) Скорее раньше зайчики катались на общественном транспорте или ходили пешком, а теперь у каждого есть свой автомобиль, и при этом они по прежнему могут прогуляться пешком.
      +1
      FreeBSD, как всегда, проигнорили.
        +4
        Нет, не игнорировали. Изначально FreeBSD была одной из первых в очереди на автоустановку, но к сожалению, мы так и не смогли найти полный официальный гайд по установке по сети с использованием Jumpstart. Костылить что-то свое (или по чужим примерам) очень не хочется по причинам временных затрат на первоначальную настройку и, главное, на дальнейшую поддержку. Исходя из всего этого вынуждены были отложить её в долгий ящик.
        Для справедливости отмечу, что и Fedora тоже отложена из-за критических багов в её установщике (последний баг пофикшен, ждем пока докатится до релиза в 18 и 19 ветках).
        0
        А Windows 2012 так можно установить?
        А то иногда я думал об этом, но на днях смотрел — нельзя.

        Если нет, то в планах есть?
          +1
          В планах есть, скажу больше, активно используем для внутренних нужд. Основной вопрос в лицензировании, думаю, решим его и откроем установку для клиентов.
          –1
          К чему эти велосипеды? Есть же готовые решения, с установкой всех типов осей.
            0
            Да, есть, и мы конечно же их рассматривали. Но как всегда дело в деталях, большинство из них нацелены на корпоративные решения и плохо подходят для провайдеров услуг: недостаточная гибкость в шаблонах, нацеленность на развертывание десятков одинаковых конфигураций, слабый контроль над каждым сервером в отдельности, отсутствие изоляции пользователей (все видят все шаблоны) и т.д.
            Не исключаю, что мы могли проглядеть интересный продукт, буду рад услышать ваши примеры.
              –1
              DSmanager или его новая версия IFXmanager от ISPsystem.
                +1
                Судя по документации тот еще велосипед: шаблон представляет из себя мастер-образ плюс скрипт развертывания и настройки, à la VDS-style установка. Нет управления разметкой диска, шаблоны самому готовить, да вообще практически ничего нет, и при этом денежку стоит =)
                  0
                  Там много разных способов инсталиции, как мастер образ так и нативные способы (типа kickstart, preceed, допиленный bsdinstall). Шаблоны есть готовые, для нативных описано как допилить под себя. Разметкой точно можно управлять. А денежку один раз проще заплатить, чем самим реализовывать. Уверен, что у вас гораздо больше денег на зарплату ушло, тому кто это ваял. А еще сопровождать и дорабатывать. Ну да ладно, свое роднее =)
                  Можете, кстати, инсталяцию фряхи стырить…
                0
                Правильно ли я понимаю, что софт, работающий поверх механизмов preseed, kickstart, etc., скрывающий в себе детали конкретной реализации и предоставляющий более высокоуровневые абстракции, у вас самописный? Я не далее, чем сегодня, искал подобное опенсорсное решение для bootstrap'а парка dev-виртуалок на работе, из вменяемого нашёл только FAI.
                  0
                  Не совсем, в нашем случае установка систем производится их собственными штатными установщиками (debian-installer, anaconda, autoyast), в отличии от FAI. Системы управления шаблонами, генерации конфигов установщиков (preseed, kickstart, etc) и интеграция с IPMI свои, самописные.
            0
            -
              0
              А кому может реалистически быть нужен /boot размером в *гиг*?

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое