Поиск по сайту:

Как создавать массивы RAID с помощью mdadm в Ubuntu 18.04


Введение

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

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

Предпосылки

Чтобы выполнить действия, описанные в этом руководстве, вам потребуется:

  • Пользователь без полномочий root с правами sudo на сервере Ubuntu 18.04. Чтобы узнать, как настроить учетную запись с этими привилегиями, следуйте нашему руководству по первоначальной настройке сервера Ubuntu 18.04.
  • Основное понимание терминологии и концепций RAID. Чтобы узнать больше о RAID и о том, какой уровень RAID подходит именно вам, прочитайте нашу статью «Введение в RAID».
  • На вашем сервере доступно несколько необработанных устройств хранения. Примеры в этом руководстве демонстрируют, как настраивать различные типы массивов на сервере. Таким образом, вам потребуется несколько дисков для настройки.
  • В зависимости от типа массива вам потребуется от двух до четырех устройств хранения. Эти диски не нужно форматировать перед тем, как следовать этому руководству.

Информация: из-за неэффективности настроек RAID на виртуальных частных серверах мы не рекомендуем развертывать настройку RAID на дроплетах DigitalOcean. Эффективность репликации дисков центра обработки данных делает преимущества RAID незначительными по сравнению с настройкой на чистом оборудовании. Это руководство предназначено для использования в качестве справочника по обычной настройке RAID.

Сброс существующих устройств RAID (необязательно)

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

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

Начните с поиска активных массивов в файле /proc/mdstat:

  1. cat /proc/mdstat
Output
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: <none>

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

  1. sudo umount /dev/md0

Теперь остановитесь и удалите массив:

  1. sudo mdadm --stop /dev/md0

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

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

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
NAME SIZE FSTYPE TYPE MOUNTPOINT sda 100G linux_raid_member disk sdb 100G linux_raid_member disk sdc 100G disk sdd 100G disk vda 25G disk ├─vda1 24.9G ext4 part / ├─vda14 4M part └─vda15 106M vfat part /boot/efi vdb 466K iso9660 disk

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

  1. sudo mdadm --zero-superblock /dev/sda
  2. sudo mdadm --zero-superblock /dev/sdb

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

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

Кроме того, закомментируйте или удалите определение массива из файла /etc/mdadm/mdadm.conf:

  1. sudo nano /etc/mdadm/mdadm.conf
. . .
# ARRAY /dev/md0 metadata=1.2 name=mdadmwrite:0 UUID=7261fb9c:976d0d97:30bc63ce:85e76e91

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

  1. sudo update-initramfs -u

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

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

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

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

Идентификация составных устройств

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

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
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 vdb 466K iso9660 disk

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

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

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

  1. sudo mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb

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

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid0 sdb[1] sda[0] 209584128 blocks super 1.2 512k chunks unused devices: <none>

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

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

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

  1. sudo mkfs.ext4 -F /dev/md0

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

  1. sudo mkdir -p /mnt/md0

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

  1. sudo mount /dev/md0 /mnt/md0

После этого проверьте, доступно ли новое пространство:

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 196G 61M 186G 1% /mnt/md0

Теперь новая файловая система смонтирована и доступна.

Сохранение макета массива

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

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

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

  1. sudo update-initramfs -u

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

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

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

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

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

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

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

Идентификация составных устройств

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

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
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 vdb 466K iso9660 disk

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

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

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

  1. sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb

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

Output
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:

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid1 sdb[1] sda[0] 104792064 blocks super 1.2 [2/2] [UU] [====>................] resync = 20.2% (21233216/104792064) finish=6.9min speed=199507K/sec unused devices: <none>

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

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

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

  1. sudo mkfs.ext4 -F /dev/md0

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

  1. sudo mkdir -p /mnt/md0

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

  1. sudo mount /dev/md0 /mnt/md0

Проверьте, доступно ли новое пространство:

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 99G 60M 94G 1% /mnt/md0

Новая файловая система смонтирована и доступна.

Сохранение макета массива

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

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

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

  1. sudo update-initramfs -u

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

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

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

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

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

Тип массива RAID 5 реализуется путем чередования данных по доступным устройствам. Один компонент каждой полосы представляет собой рассчитанный блок четности. Если устройство выходит из строя, блок четности и оставшиеся блоки можно использовать для вычисления недостающих данных. Устройство, которое получает блок четности, чередуется так, чтобы каждое устройство имело сбалансированный объем информации о четности.

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

Идентификация составных устройств

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

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
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 vdb 466K iso9660 disk

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

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

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

  1. sudo mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sda /dev/sdb /dev/sdc

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

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdc[3] sdb[1] sda[0] 209582080 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [UU_] [>....................] recovery = 0.9% (957244/104791040) finish=18.0min speed=95724K/sec unused devices: <none>

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

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

Вы можете продолжить руководство, пока этот процесс завершится.

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

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

  1. sudo mkfs.ext4 -F /dev/md0

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

  1. sudo mkdir -p /mnt/md0

Вы можете смонтировать файловую систему следующим образом:

  1. sudo mount /dev/md0 /mnt/md0

Проверьте, доступно ли новое пространство:

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

Новая файловая система смонтирована и доступна.

Сохранение макета массива

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

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

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

  1. cat /proc/mdstat
Output
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: <none>

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

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

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

  1. sudo update-initramfs -u

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

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

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

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

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

Тип массива RAID 6 реализован путем чередования данных по доступным устройствам. Два компонента каждой полосы являются вычисляемыми блоками четности. Если одно или два устройства выходят из строя, блоки четности и оставшиеся блоки можно использовать для вычисления недостающих данных. Устройства, которые получают блоки контроля четности, меняются так, чтобы каждое устройство имело сбалансированный объем информации контроля четности. Это похоже на массив RAID 5, но допускает отказ двух дисков.

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

Идентификация составных устройств

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

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
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 vdb 466K iso9660 disk

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

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

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

  1. sudo mdadm --create --verbose /dev/md0 --level=6 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

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

  1. cat /proc/mdstat
Output
Personalities : [linear] [multipath] [raid0] [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.6% (668572/104792064) finish=10.3min speed=167143K/sec unused devices: <none>

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

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

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

  1. sudo mkfs.ext4 -F /dev/md0

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

  1. sudo mkdir -p /mnt/md0

Вы можете смонтировать файловую систему следующим образом:

  1. sudo mount /dev/md0 /mnt/md0

Проверьте, доступно ли новое пространство:

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

Новая файловая система смонтирована и доступна.

Сохранение макета массива

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

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

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

  1. sudo update-initramfs -u

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

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

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

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

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

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

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

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

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

Вы можете узнать больше об этих макетах, просмотрев раздел RAID10 этой man страницы:

  1. man 4 md

Вы также можете найти эту man страницу онлайн.

Идентификация составных устройств

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

  1. lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
Output
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 vdb 466K iso9660 disk

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

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

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

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

  1. sudo mdadm --create --verbose /dev/md0 --level=10 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

Если вы хотите использовать другой макет или изменить количество копий, вам придется использовать параметр --layout=, который принимает идентификатор макета и копии. Макеты: n для ближнего, f для дальнего и o для смещения. Количество копий для хранения добавляется позже.

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

  1. sudo mdadm --create --verbose /dev/md0 --level=10 --layout=o3 --raid-devices=4 /dev/sda /dev/sdb /dev/sdc /dev/sdd

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

  1. cat /proc/mdstat
Output
Personalities : [raid6] [raid5] [raid4] [linear] [multipath] [raid0] [raid1] [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 = 18.1% (37959424/209584128) finish=13.8min speed=206120K/sec unused devices: <none>

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

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

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

  1. sudo mkfs.ext4 -F /dev/md0

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

  1. sudo mkdir -p /mnt/md0

Вы можете смонтировать файловую систему следующим образом:

  1. sudo mount /dev/md0 /mnt/md0

Проверьте, доступно ли новое пространство:

  1. df -h -x devtmpfs -x tmpfs
Output
Filesystem Size Used Avail Use% Mounted on /dev/vda1 25G 1.4G 23G 6% / /dev/vda15 105M 3.4M 102M 4% /boot/efi /dev/md0 197G 60M 187G 1% /mnt/md0

Новая файловая система смонтирована и доступна.

Сохранение макета массива

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

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

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

  1. sudo update-initramfs -u

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

  1. echo '/dev/md0 /mnt/md0 ext4 defaults,nofail,discard 0 0' | sudo tee -a /etc/fstab

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

Заключение

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

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