Ubuntu Server. Настраиваем программный RAID.

  • Автор:

ubuntu-soft-RAID-000.jpg

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

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

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

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

Основой программного RAID в Ubuntu является логический диск, именно из них создаются массивы, имеющие названия md-устройств, т.е. создание массива происходит не поверх физической структуры (жестких дисков), а поверх существующей разметки (логических дисков). Ниже показан пример такого массива:

ubuntu-soft-RAID-001.jpgДва жестких диска sda и sdb содержат логические диски sda1 и sdb1, на базе которых создан программный массив md0, отформатированный под ext4 и содержащий корневую файловую систему. Важная особенность: одно md-устройство может содержать один логический диск. Если вы хотите создать массив содержащий корневой раздел, раздел подкачки и, допустим, /home вам придется создать три md-устройства.

Эта же особенность позволяет использовать один набор физических дисков для создания на них разных типов массивов (аналогично технологии Intel® Matrix Storage). Используя те-же самые два диска можно создать скоростной массив RAID0 для системы и отказоустойчивый RAID1 для данных:

ubuntu-soft-RAID-002.jpgТакже это позволяет более рационально использовать дисковое пространство, использовав под RAID массив только часть диска, оставшиеся части вы можете разметить и использовать на собственное усмотрение. Как видим, программный RAID гораздо более гибок и предоставляет весьма много возможностей.

Однако есть ложка дегтя в бочку меда. Стоит помнить, что RAID0 не является отказоустойчивым и при отказе одного из дисков произойдет полный отказ массива. При некритическом отказе диска RAID0, в отличие от остальных уровней RAID, не позволяет извлечь сбойный диск и заменить его исправным, вам потребуется создать аналогичный исправный массив и скопировать на него раздел с аварийного массива.

Перейдем от теории к практике. В качестве базовой системы мы использовали Ubuntu Server 10.04 LTS, цель - настроить программный RAID1 (зеркало) и обеспечить с него загрузку системы.Начинаем установку системы обычным образом, пока не дойдем до этапа разметки дисков. Отказываемся от автоматической разметки и выбираем ручной метод:

ubuntu-soft-RAID-003.jpgНа следующем экране выбираем один из жестких дисков и нажимаем Enter:

ubuntu-soft-RAID-004.jpgПрограмма разметки предложит создать на диске новую, чистую таблицу разделов. Соглашаемся. Ту же самую операцию проделываем для второго диска. Чтобы не создавать лишнее md-устройство обойдемся без раздела подкачки, Ubuntu вполне может использовать для этих целей специальный файл (как Windows и MacOS). Его созданием мы займемся сразу после установки. Теперь выбираем свободное место и создаем один раздел на весь размер диска, повторяем эти же действия и для второго HDD.

ubuntu-soft-RAID-005.jpgВ данном случае несущественно какие разделы, с какой файловой системой и точкой монтирования вы создадите, все равно созданный массив придется форматировать заново. Главное идентично разметить оба диска. В данном примере мы создали два корневых раздела на весь размер диска.

Следующим шагом выбираем пункт Настройка программного RAID, затем Создать MD-устройство, после чего выберите желаемый тип RAID массива:

ubuntu-soft-RAID-006.jpgПотом укажите количество дисков в создаваемом массиве (для зеркала минимум 2) и количество резервных дисков, которые будут использоваться при отказе основных (укажите 0). Теперь укажите разделы из которых вы хотите создать массив:

ubuntu-soft-RAID-007.jpgПо окончании создания массива вы снова окажетесь в окне разметки дисков, так как наш массив не содержит никаких разделов их нужно создать. Для этого выбираем свободное место (указано просто как емкость массива) и жмем Enter:

ubuntu-soft-RAID-008.jpgУказываем, каким образом мы хотим использовать данный раздел. В данном случае это будет корневой раздел с файловой системой ext4:

ubuntu-soft-RAID-009.jpgВ конце этапа разметки вы получите сообщение об отсутствии раздела подкачки, продолжаем без его создания, после этого вы получите предупреждение на английском, суть которого сводится к следующему: разрешить или нет загрузку с отказавшего массива? В целях обеспечения беспрерывной работы следует ответить утвердительно, но следует помнить, что это потенциальная угроза сохранности данных и необходимо обеспечить регулярный контроль за состоянием массива.

ubuntu-soft-RAID-010.jpgНа этом создание массива можно считать законченным, можно продолжать установку, никаких отличий от установки на одиночный диск нет. Закончив установку, первым делом займемся файлом подкачки.

Прежде всего создадим пустой файл нужного размера, для современных систем начального уровня вполне будет достаточно 1 ГБ (1024 МБ):

sudo dd if=/dev/zero of=/swap bs=1M count=1024

Теперь отформатируем его как файл подкачки:

sudo mkswap /swap

Готово, осталось прописать опции монтирования при загрузке системы, для этого откроем /etc/fstab и в самый конец допишем строку:

/swap none swap sw 0 0

Перезагружаемся. Проверить состояние массива можно командой:

cat /proc/mdstat

Если все в порядке вы увидите примерно следующий вывод:

ubuntu-soft-RAID-011.jpgИнформации немного, но вполне достаточно. Мы видим состояние массива, его тип и входящие в него диски, размер и прочие данные.Теперь можно настраивать необходимые серверные роли и вводить сервер в эксплуатацию. Вопросы обеспечения отказоустойчивости и замены отказавших дисков выходят за объем данной статьи, поэтому мы рассмотрим их в отдельном материале.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Дополнительные материалы:


  1. Ubuntu Server. Настраиваем программный RAID
  2. Ubuntu Server. Администрирование программного RAID
  3. Ubuntu Server. Настраиваем уведомления программного RAID
  4. Особенности настройки программного RAID в Debian 8
  5. Как увеличить размер программного RAID-массива в Linux
  6. Настраиваем программный RAID на UEFI-системах в Debian и Ubuntu

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments