Установка Ubuntu Server 18 на RAID

Приветствую уважаемых посетителей и подписчиков моего сайта. Я хочу рассказать о том, как установить Ubuntu Server 18 на сервер, рассмотрев отдельно разбивку диска и установку на raid. Рассказ я подкреплю своими комментариями и примерами, а в конце покажу подробное видео всего процесса.

Цели статьи

  1. Кратко рассказать об Ubuntu Server.
  2. Показать, как сделать загрузочную флешку.
  3. Подробно описать все этапы установки Ubuntu на сервер.
  4. Объяснить, как выбрать разметку диска.
  5. Выполнить установку ubuntu server на программный raid на тех серверах, где нет аппаратного raid контроллера. Показать, что делать при поломке диска, выполнив его замену.

Введение

Ubuntu на сегодняшний день один из самых популярных, если не самый, дистрибутивов Linux. Подробный обзор, а так же сравнение с другими дистрибутивами я сделал в отдельной статье — Ubuntu Server — обзор для начинающих, сравнение, отзывы. Рекомендую ознакомиться. Там преимущественно мои мысли и соображения, как системного администратора, на заданную тему.

В этой статье я подробно рассмотрю вопрос установки ubuntu на сервер — непосредственно на железо или виртуальную машину. В случае с железным сервером я предложу вариант установки на программный raid mdadm. Покажу как это сделать, проверить работу, а потом смоделирую выход из строя жесткого диска и расскажу, как его заменить.

В общем случае, ставить систему на железо я не рекомендую, используйте виртуальные машины. Это упрощает управление, администрирование, бэкап и восстановление. Но есть ситуации, когда нужна установка именно на железо. Например, если вы настраиваете непосредственно гипервизор, либо вводите в работу ноду Kubernetes, ноду Ceph и т.д. В общем, ситуации, когда все еще нужно железо, существуют и с ними иногда приходится сталкиваться.

Инструкция по установке ubuntu на raid будет актуальна не только для серверов. Если вам нужна система, устойчивая к отказу жесткого диска, рекомендую настраивать рейд и на обычных компьютерах и ноутбуках. Вам всего-то нужно два жестких диска, можно ssd, и вы можете не беспокоиться о выходе из строя одного из них. Я обычно использую в работе ноутбуки с двумя жесткими дисками. Это очень кстати для создания программного рейда. Мне не приходится переживать о поломке одного из хардов.

Системные требования

Прежде чем приступать к установке ubuntu, рассмотрим системные требования. Нужно понимать, что это очень условные показатели, так как требования к железу напрямую зависят от того, какой функционал будет работать на сервере. Вряд ли вам понадобится голая система. Так что перечисленные характеристики оборудования будут относиться к голой системе, позволяя понять, можно ли в принципе на него установить ubuntu server.

Системные требования Ubuntu Server 18
Тип установки Архитектура Процессор Память Диск
Standart Intel x86, AMD64, ARM 1 GHz 512 MB 1.75 GB
Minimal Intel x86, AMD64, ARM 300 MHz 256 MB 1.4 GB

Я рекомендую использовать виртуальную машину с 1 CPU и 1 Gb оперативной памяти, 10 Gb диск. Этого в общем случае хватит для небольшого web сервера. Если же вам нужен более простой функционал, например, openvpn сервер для личного пользования, то хватит и 512 мб памяти.

Где скачать

Скажу пару слов о том, где можно скачать Ubuntu Server 18, чтобы вам не пришлось искать самим. Очевидно, что сделать это проще всего на официальном сайте, в соответствующем разделе — https://ubuntu.com/download/server. Но лично я предпочитаю для этого использовать зеркало яндекса — https://mirror.yandex.ru/ubuntu-releases/. У меня оттуда скорость загрузки выше. В зеркале есть все актуальные дистрибутивы, находящиеся на поддержке.

Где скачать ubuntu server 18

Если вдруг вам понадобятся старые версии Убунты, которые уже не поддерживаются, то можно воспользоваться разделом old-releases официального сайта. Там можно скачать все когда-либо выпущенные релизы Ubuntu. В обычных репозиториях их скорее всего не будет.

Будем считать, что вы выполнили загрузку iso образа ubuntu-18.04.3-live-server-amd64.iso дистрибутива Ubuntu Server 18. Двигаемся дальше и подготовим загрузочную флешку для установки.

Загрузочная флешка Ubuntu

Если вы собираетесь устанавливать ubuntu server на железо, вам понадобится загрузочная флешка ubuntu. Раньше можно было воспользоваться загрузочным диском, но сейчас не вижу смысла держать даже usb-cdrom, не говоря уже об обычных сидюках, которые в сервера давно не устанавливают. Гораздо проще воспользоваться live usb и установить систему с флешки.

Если у вас операционная система Windows, то для записи iso образа на флешку можно воспользоваться программой Rufus. Она легко гуглится и загружается. Запускаете программу, выбираете флешку, iso образ и жмете записать.

Загрузочная флешка ubuntu

Дальше расскажу, как сделать загрузочную флешку, если у вас система Linux. В Ubuntu можно воспользоваться программой Startup Disk Creator, которая идет в комплекте с системой. Как ей пользоваться подробно рассказано на официальном сайте с tutorials. В общем случае, на любой linux системе сделать загрузочную флешку с ubuntu можно с помощью утилиты dd.

# sudo dd if=/isos/ubuntu-18.04.3-live-server-amd64.iso of=/dev/sdb bs=1M status=progress

В данном примере устройство /dev/sdb это флешка. По созданию загрузочной флешки с убунтой все, переходим к непосредственно установке.

Установка Ubuntu 18

В своем примере я расскажу, как установить систему на ssd диск. Установщик Ubuntu 18 Server встречает нас стандартным приветствием, где надо выбрать Install Ubuntu Server.

Установка ubuntu 18 server

При этом, прежде чем установить ubuntu, вы можете проверить оперативную память сервера, либо загрузиться с локального диска. В ubuntu 18 обновился консольный установщик и мне он откровенно нравится. Все четко, понятно и по делу. Интерфейс не тормозит. После старта установки нам предлагают выбрать язык будущей системы. Я всегда по-умолчанию выбираю английский. Потом можно добавить любые другие языки, если понадобятся.

Выбор языка

То же самое с раскладкой — выбираю English (US).

Выбор раскладки

Далее следует настройка сети. Если у вас есть dhcp сервер, то настраивать ничего не надо, ip адрес будет получен автоматически и можно сразу продолжать установку. Если же вам надо вручную ввести сетевые параметры, то сделать это можно, выбрав сетевой интерфейс и раскрыв его настройки.

Сетевые настройки

Следующим шагом вам предложат указать адрес proxy сервера. Если вы его используете, вводите адрес, если нет, то оставляйте поле пустым. Потом вам предложат ввести адрес зеркала, из которого будут загружаться пакеты и обновления. В общем случае, можно оставить дефолтный адрес.

Выбор зеркала ubuntu

Перемещаемся в самый интересный раздел, где нужно выбрать разметку диска.

Разметка диска

Выбор разметки диска в ubuntu — тема отдельного повествования, источник споров и обменов мнениями. Лично я считаю, что это не принципиальный момент и весь свободный объем предпочитаю выделять под корневую точку монтирования /, выделив лишь раздел /boot размером в 1 Gb. Отдельные разделы под swap, home и т.д. я не делаю. Принципиальными являются следующие моменты — используете ли вы:

  1. LVM.
  2. Raid mdadm.

Именно на это надо в первую очередь обращать внимание. Сейчас в основном все сервера устанавливаются на виртуальные машины, а там моменты с выбором разметки не так важны, так как ее можно относительно свободно менять. Хотя я и не рекомендую это делать без крайней необходимости. Лучше разметку и использование диска спланировать заранее.

Итак, если вы решили использовать LVM, то на этапе с выбором разметки выбирайте — Use An Entire Disk And Set Up LVM.

Разметка диска при установке системы на сервер

Далее выбираете свой диск и видите автоматическую разметку, которую предложил установщик ubuntu server для ssd диска в 10 Gb.

Дефолтная разметка

Считаю ее не очень удачной. В данном случае у нас диск разбит следующим образом:

  • / — корневой раздел на 4 Gb в составе группы томов lvm.
  • /boot — загрузочный раздел на 1 Gb вне lvm.
  • 5 Gb свободного места в группе томов lvm.

Я предлагаю это свободное место сразу отдать под корень. Для этого надо выделить устройство ubuntu-lv и изменить его размер. Приводим итоговую разметку к следующему виду.

Финальная разметка диска в ubuntu server

Соглашайтесь с такой разметкой диска и продолжайте установку ubuntu server 18. Далее вам нужно будет указать логин и пароль вашей учетной записи. Так как по-умолчанию в ubuntu не создается учетная запись root, заходить на сервер после установки вы будете под своей учетной записью.

Создание пользователя

Дальше вам будет предложено установить OpenSSH server. Он нужен для того, чтобы подключаться к серверу по ssh. Я не представляю себе сервера, где бы это было не нужно, так что выбираем Install OpenSSH server.

Установка ssh server

Тут же вы можете импортировать ssh ключ и запретить авторизацию по паролю. Я не вижу смысла делать это сейчас. Гораздо удобнее будет потом подключиться к серверу и настроить все, как надо. Первый раз можно будет зайти и по паролю.

Далее выбираем набор пакетов для установки. Представлен богатый выбор готовых конфигураций. В общем случае, достаточно минимальной базовой системы, что я и предлагаю оставить. Весь остальной софт можно установить позже из тех репозиториев, что вы посчитаете наиболее подходящими. Так что я не выбираю ничего дополнительного.

Набор дополнительных пакетов

После этого пункта, начинается непосредственно установка Ubuntu Server 18 на сервер, которым в данном примере выступает виртуальная машина. Весь процесс скачивания и установки компонентов будет протекать перед вашими глазами в логе. Завершение процесса будет ознаменовано появлением сообщения — Installation Complete.

Установка ubuntu на сервер закончена

Теперь сервер можно перезагрузить, только перед этим не забудьте отключить установочный диск, iso образ или загрузочную флешку, с которой выполнялась инсталляция системы.

Установка Ubuntu Server на raid

Отдельно рассмотрю установку Ubuntu Server на программный рейд mdadm. Этот процесс ничем не отличается от стандартной установки, кроме выбора разметки диска. Там мы должны будем создать разделы mdadm и установить систему на них. Давайте сделаем это.

Для этого нам понадобится альтернативный установочный образ со старым инсталлятором. В новом описанные выше действия сделать не получится. Образ качаем отсюда — ubuntu-18.04.3-server-amd64.iso. В названии этого образа отсутствует слово live. Я не понял, зачем так сделали — создали 2 образа. И зачем из первого убрали возможность нормально разбить диски для установки сервера на raid 1 с установкой загрузчика на оба диска.

Запускаем стандартную установку ubuntu со скачанного образа и доходим до этапа выбора разметки диска. Там мы нажимаем — Manual.

Установка ubuntu server на raid

В моем примере я буду использовать 2 виртуальных жестких диска по 10 Gb каждый. Для примера этого достаточно. Для дисков большего размера все действия будут аналогичные. Логика разметки диска под установку на raid mdadm следующая:

  1. Создаем 2 пустых раздела primary на дисках без файловой системы и точек монтирования. Один в 1 Гб под /boot, второй все остальное пространство под корень /. Тип указываем — physical volume for RAID.
  2. Объединяем эти разделы в raid mdadm через интерфейс установщика.
  3. Создаем на mdadm разделах точки монтирования и выбираем файловые системы.

Должно получиться примерно так:

Разбивка диска на массивы mdadm

Дальше продолжаем стандартную установку. После того, как она завершится, логинимся на сервер и проверяем статус raid массива.

Проверка рейда

Все в порядке, система установлена на raid.  Выполним несколько шагов для завершения работы.

  1. Зайдите в систему и подключите swap раздел.
  2. Установите загрузчик на оба диска.
  3. Протестируем поломку жесткого диска.

Думаю, с созданием swap вопросов быть не должно. В интернете материалов на эту тему масса. Установим GRUB2 на оба диска, чтобы в случае поломки одного из них, сервер мог загрузиться и продолжать работу. Для этого выполняем команду:

# dpkg-reconfigure grub-pc

Выскочат пару запросов на указание параметров загрузчика. Можно все оставить как предложено. В конце указывайте оба диска, если выбраны не оба. По идее, установщик ubuntu server сразу ставит загрузчик на оба диска, но я на всякий случай всегда перепроверяю.

Установка загрузчика на все диски

Installing for i386-pc platform.
Installation finished. No error reported.
Installing for i386-pc platform.
Installation finished. No error reported.
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.15.0-55-generic
Found initrd image: /boot/initrd.img-4.15.0-55-generic
done

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

Проверяем состояние рейда mdadm.

Состояние развалившегося массива

Все в порядке, система загрузился и нормально работает, просто в составе рейда не хватает одного диска. Давайте подключим новый чистый диск и добавим его в наш raid 1. Для этого выключаем сервер и добавляем к нему еще один такой же чистый диск.

Загружаем Ubuntu Server и проверяем список дисков.

Подключение нового диска

Появился чистый диск /dev/sda. Нам нужно на него скопировать все разделы 1 в 1, как на старом диске и добавить его в состав массива mdadm. Делаем это.

# sfdisk -d /dev/sdb | sfdisk /dev/sda

Проверяем структуру разделов.

Копируем структуру разделов

Разделы идентичные на обоих дисках. Теперь добавляем разделы диска sda в массивы mdadm.

# mdadm --add /dev/md0 /dev/sda1
# mdadm --add /dev/md1 /dev/sda2

Проверяем статус рейда.

# cat /proc/mdstat

Просмотр ребилда массива

Разделы подключены, идет ребилд массива. После того, как он закончится, можно проверять работу сервера, перезагрузив его. Но перед этим надо не забыть установить загрузчик на вновь добавленный диск. Для этого выполните команду и убедитесь, что загрузчик установлен на оба диска.

# dpkg-reconfigure grub-pc

После этого перезагружайте сервер и проверяйте. Все должно быть в порядке. Мы корректно выполнили замену сломавшегося диска в ubuntu server, минимизировав простой. Нам, по сути, понадобился только один reboot на все работы. В остальное время сервер был полностью работоспособен и доступен.

Видео

Для того, чтобы вы убедились в корректности и работоспособности представленного материала, предлагаю посмотреть видео про установку Ubuntu Server 18 на raid mdadm своими глазами. Если у кого-то что-то не получается, посмотрите, как это делал я.

Заключение

На этом моя статья по установке на сервер и проверке Ubuntu Server 18 закончена. Надеюсь, вам было полезно и понятно. Буду рад замечаниям и дополнениям в комментариях.