Меню Рубрики

Установка дебиан на рейд

Записки IT специалиста

Технический блог специалистов ООО»Интерфейс»

Особенности настройки программного RA >

  • Автор: Уваров А.С.
  • 17.11.2015

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

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

Настройка программного RAID в процессе установки ОС

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

Затем выберем жесткий диск:

И разметим его необходимым образом:

При этом точки монтирования и тип файловой системы не имеют значения, главное — создать разделы необходимого размера. После чего данные действия следует повторить для оставшихся дисков. Учтите, что для успешной сборки программного RAID размеры разделов должны совпадать посекторно. Так как Linux отлично умеет работать с файлом подкачки соответствующий раздел можно не создавать, что несколько упростит разметку. Если нет каких-либо особых требований по разметке мы предпочитаем использовать один раздел на весь размер диска.

Затем переходим к Настройка программного RAID — Создать MD устройство и выбираем необходимый тип массива, в нашем случае RAID1 (зеркало).

Следующими шагами указываем количество активных (для зеркала — 2) и резервных (если необходимо) разделов, после чего выбираем их.

На этом действия по созданию MD-устройства следует закончить. Созданные ранее разделы теперь определяются как RAID и появился новый, ненастроенный раздел программного RAID устройства.

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

После чего продолжаем установку ОС привычным образом. В конце нас поджидает еще одна особенность: в отличие от Ubuntu, которая автоматически ставила загрузчик на все диски, Debian предлагает выбрать какой-то один диск. Вполне логично будет выбрать первый — sda, хотя принципиальной разницы нет, максимум — придется изменить в BIOS порядок загрузки.

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

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

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

Запустится псевдографический интерфейс утилиты, принимаем значения по умолчанию пока не появится экран с выбором дисковых устройств. Указываем все диски, входящие в массив, на MD-устройство устанавливать загрузчик не надо.

Настройка файла подкачки

По умолчанию Linux использует для подкачки специальный раздел, но может прекрасно использовать для этих целей файл, что неудивительно, если вспомнить, что в Linux системах всё есть файл.

Создадим в корне пустой файл с именем swap размером в 2ГБ:

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

и добавим строку для автомонтирования в /etc/fstab

Перезагружаемся и убеждаемся, что swap работает:

Если все сделано правильно вы должны увидеть примерно следующее:

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

Устраняем ошибку «Alert! dev/disk/by-uuid . does not exist» при загрузке с поврежденного массива

Перед тем, как производить дальнейшую настройку и эксплуатацию системы на программном RAID проверим его на отказоустойчивость, для этого выключим систему и физически отключим один из дисков. Система должна выдать сообщение о поврежденном массиве и выполнить загрузку с исправного диска. Но мы неожиданно получили сообщение об ошибке: «Alert! dev/disk/by-uuid . does not exist»

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

Важно! Данная ошибка исправлена в Debian 8.3

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

Перейдем в домашнюю директорию и скачаем архив со скриптом:

Сохраним на всякий случай оригинальный файл, переместив его в домашнюю директорию и добавив расширение bak.

Теперь скопируем на его место исправленный файл:

Обновим образ начальной загрузки:

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

Проверим состояние массива:

Как видим в строю остался только один диск — sdb, но система, как и положено, работает. Вернем диск на место и снова проверим состояние массива.

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

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

И снова проверим статус, диск должен добавиться и начнется ресинхронизация:

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

источник

Предложение от 8host.com

Создание RAID-массивов с помощью mdadm в Debian 9

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

Данный мануал ознакомит вас с различными конфигурациями RAID, которые можно настроить на сервере Debian 9.

Требования

  • Сервер Debian 9, настроенный по этому мануалу (с пользователем sudo).
  • Базовые знания понятий и технологии RAID (больше информации вы найдете в статье Введение в RAID: основные термины и подходы).
  • Несколько неформатированных устройств хранения на сервере (чтобы попробовать настроить различные типы массивов). В зависимости от типа массива вам потребуется от двух до четырех устройств минимум. Эти диски нужно форматировать согласно данному мануалу.
Читайте также:  Установка бортовых камней бетонных расценка

Установка инструментов управления RAID

Для начала нужно установить mdadm, инструмент для управления массивами RAID в Linux. Его можно найти в стандартном репозитории Debian.

Обновите индекс пакетов, а затем установите mdadm:

sudo apt update
sudo apt install mdadm

Команда установит mdadm вместе с зависимостями. Убедитесь, что утилита установлена:

sudo mdadm -V
mdadm — v3.4 — 28th January 2016

На экране вы увидите версию пакета.

Сброс существующих RAID-устройств

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

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

Просмотреть активные массивы можно в файле /proc/mdstat, введя:

cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid0 sdc[1] sdd[0]
209584128 blocks super 1.2 512k chunks
unused devices:

Размонтируйте массив из файловой системы:

Затем остановите и удалите массив:

С помощью следующей команды можно определить устройства, которые были использованы для построения массива:

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk
sdb 100G disk
sdc 100G linux_raid_member disk

sdd 100G linux_raid_member disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi

Важно! Имейте в виду, что имена /dev/sd* могут меняться при каждом перезагрузке! Проверяйте имена каждый раз, чтобы убедиться, что вы работаете на правильных устройствах.

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

sudo mdadm —zero-superblock /dev/sdc
sudo mdadm —zero-superblock /dev/sdd

Вы должны удалить любые постоянные ссылки на массив. Отредактируйте файл /etc/fstab и закомментируйте или удалите ссылку на ваш массив:

sudo nano /etc/fstab
. . .
# /dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0

Также нужно удалить или закомментировать определение массива в файле /etc/mdadm/mdadm.conf.

sudo nano /etc/mdadm/mdadm.conf
. . .
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UU >

Наконец, обновите initramfs, чтобы процесс загрузки не пытался вывести недоступный массив в Интернет.

На этом этапе устройства хранения готовы к повторному использованию: вы можете настроить их отдельно или как компоненты нового массива.

Создание массива RAID 0

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

  • Требования: минимум 2 устройства хранения данных.
  • Главное преимущество: производительность.
  • Следует иметь в виду: сбой одного устройства уничтожит все данные в массиве. Убедитесь, что у вас есть рабочие резервные копии.

Определение устройств массива

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk

sdb 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi

Как вы можете видеть выше, у нас есть два диска без файловой системы, каждый размером 100G. В этом примере этим устройствам были присвоены идентификаторы /dev/sda и /dev/sdb для текущего сеанса. Это неформатированные компоненты, которые мы будем использовать для построения массива.

Создание массива

Чтобы создать массив RAID нулевого уровня из этих компонентов, передайте их команде mdadm —create. Вам нужно указать имя устройства, которое вы хотите создать (например, /dev/md0), уровень RAID и количество устройств:

sudo mdadm —create —verbose /dev/md0 —level=0 —ra >

Чтобы убедиться, что массив RAID был успешно создан, проверьте файл /proc/mdstat:

cat /proc/mdstat
Personalities : [raid0]
md0 : active raid0 sdb[1] sda[0]
209584128 blocks super 1.2 512k chunks
unused devices:

В выделенной строке указано, что с помощью устройств /dev/sda и /dev/sdb было создано устройство /dev/md0 в конфигурации RAID 0.

Создание и монтирование файловой системы

Затем создайте в массиве файловую систему:

Создайте точку монтирования:

А теперь смонтируйте файловую систему:

Убедитесь, что новое пространство доступно:

df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0

Сохранение топологии массива

Чтобы убедиться, что при загрузке сервера массив загружается автоматически, нужно отредактировать файл /etc/mdadm/mdadm.conf. Вы можете автоматически сканировать активный массив и добавить данные в файл:

sudo mdadm —detail —scan | sudo tee -a /etc/mdadm/mdadm.conf

После этого вы можете обновить initramfs или исходную файловую систему RAM, чтобы массив был доступен во время загрузки:

Добавьте новые параметры монтирования файловой системы в файл /etc/fstab для поддержки автоматического монтирования при загрузке:

echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

Теперь массив RAID 0 будет автоматически смонтирован при загрузке системы.

Создание массива RAID 1

Массивы RAID 1 реализуются путем зеркалирования данных по всем доступным дискам. Каждый диск в массиве RAID 1 получает полную копию данных, обеспечивая избыточность в случае сбоя устройства.

  • Требования: минимум 2 устройства хранения данных.
  • Главное преимущество: избыточность данных.
  • Следует иметь в виду: поскольку массив сохраняет две копии данных, вы сможете использовать только половину дискового пространства

Определение устройств массива

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk

sdb 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi

Как вы можете видеть выше, у нас есть два диска без файловой системы, каждый размером 100G. В этом примере этим устройствам были присвоены идентификаторы /dev/sda и /dev/sdb для текущего сеанса. Это неформатированные компоненты, которые мы будем использовать для построения массива.

Создание массива

Чтобы создать массив RAID 1 из этих компонентов, передайте их команде mdadm —create. Вам нужно указать имя устройства, которое вы хотите создать (например, /dev/md0), уровень RAID и количество устройств:

sudo mdadm —create —verbose /dev/md0 —level=1 —ra >

Если используемые вами компонентные устройства не являются разделами с включенным флагом boot, вероятно, вы увидите следующее предупреждение. Можно просто ввести y и продолжить.

mdadm: Note: this array has metadata at the start and
may not be suitable as a boot device. If you plan to
store ‘/boot’ on this device please ensure that
your boot-loader understands md/v1.x metadata, or use
—metadata=0.90
mdadm: size set to 104792064K
Continue creating array? y

Читайте также:  Установка кожуха для кондиционера

Инструмент mdadm начнет зеркалировать диски. Это может занять некоторое время, но в течение этого времени массив можно использовать. Вы можете отслеживать ход зеркалирования, проверяя файл /proc/mdstat:

cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdb[1] sda[0]
104792064 blocks super 1.2 [2/2] [UU]
[>. ] resync = 1.5% (1629632/104792064) finish=8.4min speed=203704K/sec
unused devices:

В первой выделенной строке указано, что с помощью устройств /dev/sda и /dev/sdb было создано устройство /dev/md0 в конфигурации RAID 1. Вторая выделенная строка показывает прогресс зеркалирования. Вы можете продолжить работу в системе во время выполнения этого процесса.

Создание и монтирование файловой системы

Создайте в массиве файловую систему:

Создайте точку монтирования:

А затем смонтируйте файловую систему:

Убедитесь, что новое пространство доступно:

df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 98G 61M 93G 1% /mnt/md0

Сохранение топологии массива

Чтобы убедиться, что при загрузке сервера массив загружается автоматически, нужно отредактировать файл /etc/mdadm/mdadm.conf. Вы можете автоматически сканировать активный массив и добавить данные в файл:

sudo mdadm —detail —scan | sudo tee -a /etc/mdadm/mdadm.conf

После этого вы можете обновить initramfs, чтобы массив был доступен во время загрузки:

Добавьте новые параметры монтирования файловой системы в файл /etc/fstab для поддержки автоматического монтирования при загрузке:

echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

Теперь массив RAID 1 будет автоматически смонтирован при загрузке системы.

Создание массива RAID 5

Массив RAID 5 реализуется путем чередования данных по доступным устройствам. Один компонент каждой полосы — это вычисленный блок четности. Если устройство выходит из строя, блок четности и остальные блоки могут использоваться для вычисления недостающих данных. Каждое устройство имеет сбалансированную информацию четности.

  • Требования: минимум 3 устройства хранения данных.
  • Главное преимущество: избыточность данных с большей мощностью.
  • Следует иметь в виду: RAID 5 может иметь очень низкую производительность при ухудшении состояния. Пока распределяется информация о четности, для контроля четности будет использоваться емкость одного диска.

Определение устройств массива

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk

sdb 100G disk

sdc 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi

Как вы можете видеть выше, у нас есть три диска без файловой системы, каждый размером 100G. В этом примере этим устройствам были присвоены идентификаторы /dev/sda, /dev/sdb и /dev/sdc для текущего сеанса. Это неформатированные компоненты, которые мы будем использовать для построения массива.

Создание массива

Чтобы создать массив RAID 5 из этих компонентов, передайте их команде mdadm —create. Вам нужно указать имя устройства, которое вы хотите создать (например, /dev/md0), уровень RAID и количество устройств:

sudo mdadm —create —verbose /dev/md0 —level=5 —ra >

Инструмент mdadm начнет настраивать массив (фактически по соображениям производительности он использует процесс восстановления для построения массива). Это может занять некоторое время, но массив можно использовать в течение этого времени. Вы можете отслеживать ход зеркалирования в файле /proc/mdstat:

cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_]
[>. ] recovery = 0.9% (1031612/104792064) finish=10.0min speed=171935K/sec
unused devices:

В первой выделенной строке указано, что с помощью устройств //dev/sda, /dev/sdb и /dev/sdc было создано устройство /dev/md0 в конфигурации RAID 5. Вторая выделенная строка показывает прогресс сборки.

Важно! Из-за того, что mdadm создает массивы RAID 5 во время сборки массива, количество запасных компонентов в массиве будет отображаться неточно. Это означает, что вы должны дождаться завершения сборки массива перед обновлением файла /etc/mdadm/mdadm.conf. Если вы обновите файл конфигурации во время сборки, система будет иметь неправильную информацию о состоянии массива и не сможет корректно собирать его автоматически при загрузке.

Вы можете продолжить работу в системе во время выполнения этого процесса.

Создание и монтирование файловой системы

Создайте в массиве файловую систему:

Создайте точку монтирования:

А затем смонтируйте файловую систему:

Убедитесь, что новое пространство доступно:

df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0

Сохранение топологии массива

Чтобы убедиться, что при загрузке сервера массив загружается автоматически, нужно отредактировать файл /etc/mdadm/mdadm.conf.

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

cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 sdc[3] sdb[1] sda[0]
209584128 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]
unused devices:

Этот вывод говорит, что сборка завершена. Вы можете автоматически сканировать активный массив и добавить данные в файл:

sudo mdadm —detail —scan | sudo tee -a /etc/mdadm/mdadm.conf

После этого вы можете обновить initramfs, чтобы массив был доступен во время загрузки:

Добавьте новые параметры монтирования файловой системы в файл /etc/fstab для поддержки автоматического монтирования при загрузке:

echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

Теперь массив RAID 5 будет автоматически смонтирован при загрузке системы.

Создание массива RAID 6

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

  • Требования: минимум 4 устройства хранения данных.
  • Главное преимущество: двойная избыточность данных с большей мощностью.
  • Следует иметь в виду: RAID 6 может иметь очень низкую производительность при ухудшении состояния. Пока распределяется информация о четности, для контроля четности будет использоваться мощность двух дисков.

Определение устройств массива

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk

sdb 100G disk

sdc 100G disk

sdd 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi

Как вы можете видеть выше, у нас есть четыре диска без файловой системы, каждый размером 100G. В этом примере этим устройствам были присвоены идентификаторы /dev/sda, /dev/sdb, /dev/sdc и /dev/sdd для текущего сеанса. Это неформатированные компоненты, которые мы будем использовать для построения массива.

Создание массива

Чтобы создать массив RAID 6 из этих компонентов, передайте их команде mdadm —create. Вам нужно указать имя устройства, которое вы хотите создать (например, /dev/md0), уровень RAID и количество устройств:

Читайте также:  Установка 2 утм на одном компьютере

sudo mdadm —create —verbose /dev/md0 —level=6 —ra >

Инструмент mdadm начнет настраивать массив (фактически по соображениям производительности он использует процесс восстановления для построения массива). Это может занять некоторое время, но в течение этого времени массив можно использовать. Вы можете отслеживать ход зеркалирования, проверяя файл /proc/mdstat:

cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid6 sdd[3] sdc[2] sdb[1] sda[0]
209584128 blocks super 1.2 level 6, 512k chunk, algorithm 2 [4/4] [UUUU]
[>. ] resync = 0.3% (353056/104792064) finish=14.7min speed=117685K/sec
unused devices:

В первой выделенной строке указано, что с помощью устройств /dev/sda, /dev/sdb, /dev/sdc и /dev/sdd было создано устройство /dev/md0 в конфигурации RAID 6. Вторая выделенная строка показывает прогресс сборки. Вы можете продолжить работу в системе во время выполнения этого процесса.

Создание и монтирование файловой системы

Создайте в массиве файловую систему:

Создайте точку монтирования:

А затем смонтируйте файловую систему:

Убедитесь, что новое пространство доступно:

df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0

Сохранение топологии массива

Чтобы убедиться, что при загрузке сервера массив загружается автоматически, нужно отредактировать файл /etc/mdadm/mdadm.conf. Вы можете автоматически сканировать активный массив и добавить данные в файл:

sudo mdadm —detail —scan | sudo tee -a /etc/mdadm/mdadm.conf

После этого вы можете обновить initramfs, чтобы массив был доступен во время загрузки:

Добавьте новые параметры монтирования файловой системы в файл /etc/fstab для поддержки автоматического монтирования при загрузке:

echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

Теперь массив RAID 6 будет автоматически смонтирован при загрузке системы.

Создание массива RAID 10

Массив RAID 10 традиционно реализуется путем создания чередующегося массива RAID 0, состоящего из наборов массивов RAID 1. Вложение массивов дает как избыточность, так и высокую производительность за счет больших объемов дискового пространства. У утилиты mdadm есть собственный тип RAID 10, который обеспечивает те же преимущества с повышенной гибкостью. Он не создается путем создания вложенных массивов, но предлагает много тех же характеристик и гарантий. Здесь мы будем использовать mdadm RAID 10.

  • Требования: минимум 3 устройства хранения данных.
  • Главное преимущество: повышенная производительность и избыточность данных.
  • Следует иметь в виду: Объем уменьшения емкости массива определяется количеством копий данных, которые вы хотите сохранить. Количество копий, которые хранятся в массиве mdadm RAID 10, можно настраивать.

По умолчанию две копии каждого блока данных будут храниться в так называемом макете «near». Здесь доступны следующие топологии, которые определяют, как хранится каждый блок данных:

  • near: топология по умолчанию. Копии каждого фрагмента записываются последовательно при чередовании; это означает, что копии блоков данных будут записаны примерно в одной и той же части нескольких дисков.
  • far: Первая и последующие копии записываются в разные части устройств в массиве. Например, первый фрагмент может быть записан рядом с началом диска, а второй фрагмент будет записан в середине на другом диске. Это может дать прирост производительности для традиционных дисков.
  • offset: Каждый фрагмент смещается на последующем диске. Это означает, что копии смещены, но все еще близко расположены. Это помогает минимизировать поиск во время обработки некоторых рабочих нагрузок.

Больше информации об этом типе RAID10 можно найти в справке:

Эту страницу можно также прочитать онлайн.

Определение устройств массива

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

lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
NAME SIZE FSTYPE TYPE MOUNTPOINT
sda 100G disk

sdb 100G disk

sdc 100G disk

sdd 100G disk
vda 25G disk
├─vda1 24.9G ext4 part /
├─vda14 4M part
└─vda15 106M vfat part /boot/efi

Как вы можете видеть выше, у нас есть четыре диска без файловой системы, каждый размером 100G. В этом примере этим устройствам были присвоены идентификаторы /dev/sda, /dev/sdb, /dev/sdc и /dev/sdd для текущего сеанса. Это неформатированные компоненты, которые мы будем использовать для построения массива.

Создание массива

Чтобы создать массив RAID 10 из этих компонентов, передайте их команде mdadm —create. Вам нужно указать имя устройства, которое вы хотите создать (например, /dev/md0), уровень RAID и количество устройств:

sudo mdadm —create —verbose /dev/md0 —level=10 —ra >

Если вы хотите использовать другую топологию или изменить количество копий, вам нужно использовать параметр —layout =. Опция n определяет топологию near, f – far, а o – offset. После этого нужно указать количество копий.

Например, чтобы создать массив, который хранит 3 копии в топологии offset, нужно использовать команду:

sudo mdadm —create —verbose /dev/md0 —level=10 —layout=o3 —ra >

Инструмент mdadm начнет настраивать массив (фактически по соображениям производительности он использует процесс восстановления для построения массива). Это может занять некоторое время, но в течение этого времени массив можно использовать. Вы можете отслеживать ход зеркалирования, проверяя файл /proc/mdstat:

cat /proc/mdstat
Personalities : [raid0] [linear] [multipath] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid10 sdd[3] sdc[2] sdb[1] sda[0]
209584128 blocks super 1.2 512K chunks 2 near-copies [4/4] [UUUU]
[>. ] resync = 1.3% (2832768/209584128) finish=15.8min speed=217905K/sec
unused devices:

В первой выделенной строке указано, что с помощью устройств /dev/sda, /dev/sdb, /dev/sdc и /dev/sdd было создано устройство /dev/md0 в конфигурации RAID 10. Вторая выделенная строка показывает топологию текущего массива (в данном случае это 2 копии и near). Третья строка отображает прогресс сборки. Вы можете продолжить работу в системе во время выполнения этого процесса.

Создание и монтирование файловой системы

Создайте в массиве файловую систему:

Создайте точку монтирования:

А затем смонтируйте файловую систему:

Убедитесь, что новое пространство доступно:

df -h -x devtmpfs -x tmpfs
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 25G 1003M 23G 5% /
/dev/md0 196G 61M 186G 1% /mnt/md0

Сохранение топологии массива

Чтобы убедиться, что при загрузке сервера массив загружается автоматически, нужно отредактировать файл /etc/mdadm/mdadm.conf. Вы можете автоматически сканировать активный массив и добавить данные в файл:

sudo mdadm —detail —scan | sudo tee -a /etc/mdadm/mdadm.conf

После этого вы можете обновить initramfs, чтобы массив был доступен во время загрузки:

Добавьте новые параметры монтирования файловой системы в файл /etc/fstab для поддержки автоматического монтирования при загрузке:

echo ‘/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0’ | sudo tee -a /etc/fstab

Теперь массив RAID 10 будет автоматически смонтирован при загрузке системы.

Заключение

В этом мануале вы научились создавать различные уровни RAID массивов с помощью утилиты mdadm. RAID-массивы обеспечивают избыточность данных и повышают производительность.

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

источник

Добавить комментарий

Adblock
detector