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

Создание RAID 5 (чередование с распределенной четностью) в Linux. Часть 4


В RAID 5 данные распределяются по нескольким дискам с распределенной проверкой четности. Распределение с распределенной четностью означает, что информация о четности и данные распределяются по нескольким дискам, что обеспечивает хорошую избыточность данных.

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

Что такое паритет?

Четность – это самый простой и распространенный метод обнаружения ошибок в хранилище данных. Информация о четности хранится на каждом диске. Допустим, у нас есть 4 диска, на четырех дисках одно дисковое пространство будет разделено на все диски для хранения информации о четности. Если какой-либо из дисков все равно выйдет из строя, мы можем получить данные, восстановив информацию о четности после замены неисправного диска.

Плюсы и минусы RAID 5

  1. Обеспечивает лучшую производительность
  2. Поддержка резервирования и отказоустойчивости.
  3. Поддержка вариантов горячего резерва.
  4. Потеряется одна емкость диска для использования информации о четности.
  5. Никакой потери данных в случае выхода из строя одного диска. Мы можем восстановить четность после замены неисправного диска.
  6. Подходит для среды, ориентированной на транзакции, поскольку чтение будет быстрее.
  7. Из-за накладных расходов на четность запись будет медленной.
  8. Восстановление занимает много времени.

Требования

Для создания Raid 5 требуется минимум 3 жестких диска, но вы можете добавить больше дисков, только если у вас есть выделенный аппаратный RAID-контроллер с несколькими портами. Здесь мы используем программный RAID и пакет «mdadm» для создания рейда.

mdadm — это пакет, который позволяет нам настраивать RAID-устройства и управлять ими в Linux. По умолчанию файл конфигурации для RAID недоступен. После создания и настройки RAID файл конфигурации необходимо сохранить в отдельном файле с именем mdadm.conf.

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

  1. Основные понятия RAID в Linux – Часть 1
  2. Создание RAID 0 (Stripe) в Linux – Часть 2
  3. Настройка RAID 1 (зеркалирование) в Linux – Часть 3
Настройка моего сервера
Operating System :	CentOS 6.5 Final
IP Address	 :	192.168.0.227
Hostname	 :	rd5.tecmintlocal.com
Disk 1 [20GB]	 :	/dev/sdb
Disk 2 [20GB]	 :	/dev/sdc
Disk 3 [20GB]	 :	/dev/sdd

Эта статья представляет собой Часть 4 серии из 9 руководств по RAID. Здесь мы собираемся настроить программное обеспечение RAID 5 с распределенной четностью в системах Linux или серверах, используя три диска по 20 ГБ. с именами /dev/sdb, /dev/sdc и /dev/sdd.

Шаг 1. Установка mdadm и проверка дисков

1. Как мы уже говорили ранее, мы используем финальную версию CentOS 6.5 для этой настройки рейда, но те же шаги можно выполнить для настройки RAID в любом дистрибутиве на базе Linux.

lsb_release -a
ifconfig | grep inet

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

yum install mdadm		[on RedHat systems]
apt-get install mdadm 	[on Debain systems]

3. После установки пакета «mdadm» давайте перечислим три диска по 20 ГБ, которые мы добавили в нашу систему с помощью команды «fdisk».

fdisk -l | grep sd

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

mdadm -E /dev/sd[b-d]
mdadm --examine /dev/sdb /dev/sdc /dev/sdd

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

Шаг 2. Разбиение дисков на разделы для RAID

5. Прежде всего, нам нужно разбить диски (/dev/sdb, /dev/sdc и / dev/sdd) перед добавлением в RAID. Итак, давайте определим раздел с помощью команды «fdisk», прежде чем перенаправить его к следующим шагам.

fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
Создать раздел /dev/sdb

Следуйте инструкциям ниже, чтобы создать раздел на диске /dev/sdb.

  1. Нажмите «n» для создания нового раздела.
  2. Затем выберите «P» для основного раздела. Здесь мы выбираем «Основной», поскольку разделы еще не определены.
  3. Затем выберите «1» в качестве первого раздела. По умолчанию это будет 1.
  4. Здесь, что касается размера цилиндра, нам не нужно выбирать указанный размер, поскольку нам нужен весь раздел для RAID, поэтому просто нажмите Enter два раза, чтобы выбрать полный размер по умолчанию.
  5. Затем нажмите «p», чтобы распечатать созданный раздел.
  6. Измените тип. Если нам нужно знать все доступные типы, нажмите «L».
  7. Здесь мы выбираем «fd», так как мой тип — RAID.
  8. Затем нажмите «p», чтобы распечатать определенный раздел.
  9. Затем снова используйте «p», чтобы напечатать внесенные нами изменения.
  10. Используйте «w», чтобы записать изменения.

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

Создать раздел /dev/sdc

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

fdisk /dev/sdc

Создать раздел /dev/sdd
fdisk /dev/sdd

6. После создания разделов проверьте изменения на всех трех дисках: sdb, sdc и sdd.

mdadm --examine /dev/sdb /dev/sdc /dev/sdd

or

mdadm -E /dev/sd[b-d]

Примечание: на рисунке выше. изобразите тип - fd т.е. для RAID.

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

Шаг 3. Создание устройства md md0

8. Теперь создайте RAID-устройство «md0» (т. е. /dev/md0) и включите уровень RAID во все вновь созданные разделы (sdb1, sdc1 и sdd1), используя приведенную ниже команду.

mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1

or

mdadm -C /dev/md0 -l=5 -n=3 /dev/sd[b-d]1

9. После создания RAID-устройства проверьте RAID, включенные в него устройства и уровень RAID на основе выходных данных mdstat.

cat /proc/mdstat

Если вы хотите отслеживать текущий процесс сборки, вы можете использовать команду «watch», просто пройдите через «cat /proc/mdstat» с помощью команды watch, которая будет обновляйте экран каждые 1 секунду.

watch -n1 cat /proc/mdstat

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

mdadm -E /dev/sd[b-d]1

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

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

mdadm --detail /dev/md0

Шаг 4. Создание файловой системы для md0

12. Перед монтированием создайте файловую систему для устройства «md0», используя ext4.

mkfs.ext4 /dev/md0

13. Теперь создайте каталог «/mnt», затем смонтируйте созданную файловую систему в /mnt/raid5 и проверьте файлы в точке монтирования, вы увидите каталог lost+found.

mkdir /mnt/raid5
mount /dev/md0 /mnt/raid5/
ls -l /mnt/raid5/

14. Создайте несколько файлов в точке монтирования /mnt/raid5 и добавьте текст в любой из файлов, чтобы проверить содержимое.

touch /mnt/raid5/raid5_tecmint_{1..5}
ls -l /mnt/raid5/
echo "tecmint raid setups" > /mnt/raid5/raid5_tecmint_1
cat /mnt/raid5/raid5_tecmint_1
cat /proc/mdstat

15. Нам нужно добавить запись в fstab, иначе наша точка монтирования не будет отображаться после перезагрузки системы. Чтобы добавить запись, нам нужно отредактировать файл fstab и добавить следующую строку, как показано ниже. Точка монтирования будет отличаться в зависимости от вашей среды.

vim /etc/fstab

/dev/md0                /mnt/raid5              ext4    defaults        0 0

16. Затем выполните команду «mount -av», чтобы проверить наличие ошибок в записи fstab.

mount -av

Шаг 5. Сохраните конфигурацию Raid 5

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

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

mdadm --detail --scan --verbose >> /etc/mdadm.conf

Примечание. Сохранение конфигурации обеспечит стабильный уровень RAID на устройстве md0.

Шаг 6. Добавление запасных дисков

18. Какая польза от добавления запасного диска? это очень полезно, если у нас есть запасной диск: если какой-либо из дисков в нашем массиве выйдет из строя, этот запасной диск станет активным, перестроит процесс и синхронизирует данные с других дисков, поэтому мы можем увидеть здесь избыточность.

Дополнительные инструкции о том, как добавить запасной диск и проверить отказоустойчивость Raid 5, см. в разделах #Шаг 6 и #Шаг 7 в следующей статье.

  1. Добавьте запасной диск в настройку Raid 5

Заключение

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