Как реализовать программный RAID 1 Array (mirror) в Ubuntu 16.04

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

Требования

  • Минимум 3 диска (первый — тот, на котором установлена ​​ОС, и два диска, на которых будет находиться копия первого диска). Важно отметить, что три диска должны иметь одинаковое количество IOPS и той же емкости.

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

1. Перечислите доступные диски и запомните их

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

lsblk

В терминале будут перечислены все диски, доступные в вашей системе. В этом примере у нас есть 3 диска, а именно xvda (основной диск), xvdf а также xvdg (диски, которые будут синхронизировать данные основного диска):

Список дисков на Ubuntu

Запомните названия дисков, так как они понадобятся вам для запуска команд для реализации RAID.

2. Убедитесь, что на 2 дополнительных дисках есть файловая система.

В качестве следующего вам нужно будет проверить, что 2 диска, на которых будет синхронизирована копия основного диска, имеют файловую систему. Чтобы узнать, есть ли на диске файловая система или нет в Ubuntu с sudo file -s [/dev/disk_name] команда, где вы должны изменить disk_name Аргумент с именем диска, который вы хотите проверить (в нашем случае вы должны сделать то же самое для обоих дополнительных дисков xvdf а также xvdg):

# sudo file -s [/dev/disk_name]
# e.g with our first copy disk
sudo file -s /dev/xvdf

Диск с файловой системой выведет что-то вроде:

/dev/xvdf: Linux rev 1.0 ext4 filesystem data, UUID=1701d228-e1bd-4094-a14c-8c64d6819362 (needs journal recovery) (extents) (large files) (huge files)

Но диск без файловой системы выведет что-то вроде:

/dev/xvdf: data

Если вы получили второй вывод с проверкой обоих дисков, вам необходимо предоставить файловую систему для дисков с помощью следующей команды (при условии, что вы будете использовать общий формат в Linux). ext4):

# Warning:
# This step assumes that you're mounting an empty volume. If you're mounting a volume that
# already has data on it, don't use this command.
# Otherwise, you'll format the volume and delete the existing data on it
# sudo mkfs -t ext4 [/dev/disk_name]
# Format second disk
sudo mkfs -t ext4 /dev/xvdf
# Then format second disk
sudo mkfs -t ext4 /dev/xvdg

После проверки вы сможете приступить к созданию RAID 1.

3. Создать RAID 1

Чтобы создать программный RAID, мы будем использовать инструмент mdadm, который уже доступен в Ubuntu. mdadm — это утилита GNU / Linux, используемая для управления и мониторинга программных устройств RAID, в основном используемая в современных дистрибутивах GNU / Linux вместо старых программных утилит RAID, таких как raidtools2 или raidtools. Команда для создания RAID имеет следующую структуру

  • --create: предоставить инструкцию по созданию рейда.
  • --verbose: показать все сгенерированные выходные данные.
  • /dev/md0: название рейда для создания
  • --level: определяет уровень рейда, который вы хотите создать, в этой статье мы будем использовать режим 1, который будет работать как зеркало основного диска.
  • --raid-devices: указывает количество дисков, на которых будет копия рейда, в нашем случае мы будем использовать 2, но вы можете использовать больше, если хотите. Как последнее, укажите массив дисков, который вы будете использовать, например, /dev/xvdf а также /dev/xvdg:
# Where /dev/md0 will be the name of the RAID 1
# sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 [/dev/second_disk_name] [/dev/third_disk_name]
# e.g :
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/xvdf /dev/xvdg

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

Создать выход RAID 1

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

cat /proc/mdstat

Это выведет текущий процесс создания RAID, поэтому вам нужно будет выполнить его несколько раз:

Процесс создания RAID 1

После завершения процесса вы подтвердите, что RAID был успешно создан, выполнив ту же команду, и вы увидите md0 RAID активен:

RAID 1 Закончено

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

4. Создайте и смонтируйте файловую систему

Теперь, когда RAID существует, вам нужно создать файловую систему на массиве дисков, используя следующую команду:

sudo mkfs.ext4 -F /dev/md0

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

sudo mkdir -p /mnt/md0

И смонтировать его со следующим:

sudo mount /dev/md0 /mnt/md0

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

df -h -x devtmpfs -x tmpfs

Это сгенерирует вывод как:

Монтировать RAID Доступное пространство

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

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

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

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

Затем вы можете обновить исходную файловую систему RAM (initramfs). Таким образом, массив будет доступен во время процесса загрузки:

sudo update-initramfs -u

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

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

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

6. Проверьте информацию о RAID 1

Теперь, когда ваша реализация RAID 1 завершена, вы можете проверить ее состояние с помощью следующей команды:

sudo mdadm --detail /dev/md0

Это сгенерирует вывод с подробной информацией о реализованном рейде, как показано ниже:

Детали рейда

Удачного управления сервером!

Ссылка на основную публикацию
Adblock
detector