Raid массив linux что это



Raid массив linux что это

Библиотека сайта rus-linux.net

Десять лет назад никто не мог поспорить с утверждением о том, что аппаратный RAID-массив является более удачным решением, но положение дел изменилась после оптимизации таких технологий, как mdadm, lvm или даже zfs с целью упрощения методики управления используемыми дисками. Хотя программные RAID-массивы и оказывают значительную нагрузку на центральный процессор, следует принимать во внимание и тот факт, что в течение последних лет производительность центральных процессоров неуклонно возрастала.

10.2. Уровни RAID-массивов

10.2.1. Дисковый массив RAID 0

В рамках дискового массива RAID 0 используются два или большее количество дисков, а сам массив обычно называется дисковым массивом с чередованием (stripping, stripe set или stripe volume). Данные разделяются на фрагменты, которые равномерно распределяются по каждому из дисков массива. Главное преимущество дискового массива RAID 0 заключается в возможности создания виртуальных дисков большего размера. Дисковый массив RAID 0 является единственным стандартизированным типом дискового массива RAID без избыточного копирования данных.

10.2.2. Дисковый массив RAID типа JBOD

В рамках дискового массива RAID типа JBOD используются два или большее количество дисков, а сам массив обычно называется дисковым массивом со связыванием (concatenating, spanning, spanned set или spanned volume). Данные записываются на первый диск до момента его полного заполнения. После этого данные записываются на следующий диск и так далее. Главное достоинство дискового массива RAID типа JBOD (расшифровывается как Just a Bunch of Disks — просто связка дисков) заключается в возможности создания виртуальных дисков большего размера. Дисковый массив RAID типа JBOD не предусматривает возможности избыточного копирования данных.

10.2.3. Дисковый массив RAID 1

В рамках дискового массива RAID 1 используются ровно два диска, а сам массив обычно называется дисковым массивом с зеркалированием (mirroring, mirror set или mirrored volume). Все данные, записываемые в дисковый массив, записываются на каждый диск. Главное достоинство дискового массива RAID 1 заключается в избыточной записи данных . Главный недостаток дискового массива данного типа заключается в потере как минимум половины доступного дискового пространства (другими словами, общая стоимость дисковых устройств возрастает как минимум вдвое).

10.2.4. А что насчет дисковых массивов RAID 2, 3 и 4?

Дисковый массив RAID 2 использует чередование данных на уровне битов, RAID 3 — на уровне байт, а RAID 4 работает аналогично RAID 5 , но использует отдельный диск для хранения данных четности. Дисковый массив последнего типа обычно медленнее массива RAID 5 , так как при каждой операции записи данных также осуществляется операция записи данных четности на выделенный для этих целей (замедляющий работу массива) диск. Вероятность обнаружения этих уровней RAID в составе систем, предназначенных для промышленной эксплуатации, чрезвычайно мала.

10.2.5. Дисковый массив RAID 5

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

10.2.6. Дисковый массив RAID 6

Дисковый массив RAID 6 очень похож на дисковый массив RAID 5 , но в нем используются по две копии данных четности, следовательно дисковый массив RAID 6 защищает данные даже в случае отказа двух дисковых устройств. В рамках файловой системы zfs из состава операционной системы Oracle Solaris данный тип дискового массива носит имя raidz2 (также в рамках упомянутой файловой системы реализован тип дискового массива с названием raidz3 , предусматривающий трехкратное копирование данных четности).

10.2.7. Дисковый массив RAID 0+1

Дисковый массив RAID 0+1 является зеркалируемым дисковым массивом (1) с чередованием данных (0). Это означает, что в первую очередь вам придется создать два дисковых массива с чередованием данных RAID 0 , после чего объединить их в рамках одного зеркалируемого дискового массива RAID 1 . К примеру, в том случае, если у вас имеется шесть дисков объемом в 100 ГБ, каждый из дисковых массивов с чередованием данных будет иметь объем в 300 ГБ. После объединения этих дисковых массивов в рамках одного дискового массива общий объем последнего будет равен 300 ГБ. Дисковый массив RAID 0+1 может пережить выход из строя одного из дисковых устройств. При этом он переживет выход из строя второго диска только в том случае, если этот диск содержит тот же набор фрагментов данных, что и вышедший из строя диск.

10.2.8. Дисковый массив RAID 1+0

Дисковый массив RAID 1+0 является дисковым массивом с чередованием данных (0), состоящим из зеркалируемых дисковых массивов (1). К примеру, в том случае, если у вас имеется шесть дисков объемом в 100 ГБ каждый, в первую очередь вам придется создать три зеркалируемых дисковых массива объемом в 100 ГБ каждый. После этого вы можете объединить их в рамках одного дискового массива с разделением данных объемом в 300 ГБ. В случае использования описанной структуры дискового массива, он может пережить выход из строя до трех дисков с тем условием, что все вышедшие из строя диски не находятся в составе одного из зеркалируемых дисковых массивов.

10.2.9. Дисковый массив RAID 50

Дисковый массив RAID 50 является дисковым массивом с чередованием данных, состоящим из дисковых массивов RAID 5 . Если у вас имеется девять дисков объемом в 100 ГБ каждый, вы можете создать три массива RAID 5 объемом в 200 ГБ каждый. После этого вы можете скомбинировать их в рамках одного большого дискового массива с чередованием данных.

10.2.10. Множество других типов дисковых массивов

Также на практике может использоваться множество других комбинаций описанных типов дисковых массивов RAID , таких, как RAID 30 , 51 , 60 , 100 , 150 ,

10.3. Создание программного массива RAID 5

10.3.1. Имеются ли в наличии три диска?

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

10.3.2. Тип раздела fd

Следующий шаг заключается в создании раздела типа fd на каждом из подключенных дисков. Тип раздела fd позволяет задействовать технологию автоматического обнаружения разделов дисковых массивов RAID в Linux (Linux RAID autodetect). Рассмотрите приведенный ниже (сокращенный) пример:

10.3.3. Проверка корректности создания разделов на дисках

Теперь все три диска готовы к работе в составе дискового массива RAID 5 , поэтому нам остается лишь передать системе информацию о том, как работать ними.

10.3.4. Создание дискового массива RAID 5

Обычно следующий шаг заключается в создании таблицы разделов RAID в рамках файла /etc/raidtab . Но на сегодняшний день вы можете ограничиться только вызовом утилиты mdadm с передачей корректных параметров.

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

В примере ниже приведен сокращенный вывод команды fdisk -l, содержащий информацию о созданном дисковом массиве RAID 5 .

Мы можем использовать созданный дисковый массив RAID 5 при рассмотрении следующей темы: LVM .

10.3.5. Файл /proc/mdstat

Информация о состоянии устройств из состава дискового массива RAID может быть получена из файла /proc/mdstat . В данном примере показано содержимое этого файла, при рассмотрении которого можно сделать вывод о том, что в текущий момент идет процесс пересборки дискового массива RAID 5 .

А в этом примере показано содержимое этого же файла, соответствующее активному состоянию дискового массива RAID 5 .

10.3.6. Команда mdadm —detail

Используйте команду mdadm —detail для получения информации о виртуальном устройстве дискового массива RAID.

10.3.7. Деактивация программного дискового массива RAID

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

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

10.3.8. Дополнительное чтение

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

10.4. Практическое задание: RAID

1. Добавьте три виртуальных диска объемом в 1 ГБ каждый в виртуальную машину.

2. Создайте программный дисковый массив RAID 5 на основе этих трех дисков. (Не обязательно создавать файловую систему на результирующем виртуальном диске.)

3. С помощью утилиты fdisk и файловой системы /proc удостоверьтесь в корректности создания дискового массива RAID 5 .

4. Деактивируйте дисковый массив RAID 5 и удалите созданные разделы с дисков.

5. Создайте дисковый массив RAID 1 для зеркалирования данных на двух дисках.

10.5. Корректная процедура выполнения практического задания: RAID

1. Добавьте три виртуальных диска объемом в 1 ГБ каждый в виртуальную машину.

2. Создайте программный дисковый массив RAID 5 на основе этих трех дисков. (Не обязательно создавать файловую систему на результирующем виртуальном диске.)

3. С помощью утилиты fdisk и файловой системы /proc удостоверьтесь в корректности создания дискового массива RAID 5 .

4. Деактивируйте дисковый массив RAID 5 и удалите созданные разделы с дисков.

5. Создайте дисковый массив RAID 1 для зеркалирования данных на двух дисках.

Источник

Работа с mdadm в Linux для организации RAID

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

Установка mdadm

Утилита mdadm может быть установлена одной командой.

Если используем CentOS / Red Hat:

yum install mdadm

Если используем Ubuntu / Debian:

apt-get install mdadm

Сборка RAID

Перед сборкой, стоит подготовить наши носители. Затем можно приступать к созданию рейд-массива.

Подготовка носителей

Сначала необходимо занулить суперблоки на дисках, которые мы будем использовать для построения RAID (если диски ранее использовались, их суперблоки могут содержать служебную информацию о других RAID):

mdadm —zero-superblock —force /dev/sd

* в данном примере мы зануляем суперблоки для дисков sdb и sdc.

Если мы получили ответ:

mdadm: Unrecognised md component device — /dev/sdb
mdadm: Unrecognised md component device — /dev/sdc

. то значит, что диски не использовались ранее для RAID. Просто продолжаем настройку.

Далее нужно удалить старые метаданные и подпись на дисках:

wipefs —all —force /dev/sd

Создание рейда

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

mdadm —create —verbose /dev/md0 -l 1 -n 2 /dev/sd

  • /dev/md0 — устройство RAID, которое появится после сборки;
  • -l 1 — уровень RAID;
  • -n 2 — количество дисков, из которых собирается массив;
  • /dev/sd — сборка выполняется из дисков sdb и sdc.

Мы должны увидеть что-то на подобие:

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 1046528K

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

Continue creating array? y

Мы увидим что-то на подобие:

mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

. и находим информацию о том, что у наших дисков sdb и sdc появился раздел md0, например:

.
sdb 8:16 0 2G 0 disk
??md0 9:0 0 2G 0 raid1
sdc 8:32 0 2G 0 disk
??md0 9:0 0 2G 0 raid1
.

* в примере мы видим собранный raid1 из дисков sdb и sdc.

Создание файла mdadm.conf

В файле mdadm.conf находится информация о RAID-массивах и компонентах, которые в них входят. Для его создания выполняем следующие команды:

echo «DEVICE partitions» > /etc/mdadm/mdadm.conf

mdadm —detail —scan —verbose | awk ‘/ARRAY/ ‘ >> /etc/mdadm/mdadm.conf

DEVICE partitions
ARRAY /dev/md0 level=raid1 num-devices=2 metadata=1.2 name=proxy.dmosk.local:0 UUID=411f9848:0fae25f9:85736344:ff18e41d

* в данном примере хранится информация о массиве /dev/md0 — его уровень 1, он собирается из 2-х дисков.

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

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

* данной командой мы создаем на md0 файловую систему ext4.

Примонтировать раздел можно командой:

mount /dev/md0 /mnt

* в данном случае мы примонтировали наш массив в каталог /mnt.

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

/dev/md0 /mnt ext4 defaults 1 2

Для проверки правильности fstab, вводим:

Мы должны увидеть примонтированный раздел md, например:

/dev/md0 990M 2,6M 921M 1% /mnt

Информация о RAID

Посмотреть состояние всех RAID можно командой:

В ответ мы получим что-то на подобие:

md0 : active raid1 sdc[1] sdb[0]
1046528 blocks super 1.2 [2/2] [UU]

* где md0 — имя RAID устройства; raid1 sdc[1] sdb[0] — уровень избыточности и из каких дисков собран; 1046528 blocks — размер массива; [2/2] [UU] — количество юнитов, которые на данный момент используются.
** мы можем увидеть строку md0 : active(auto-read-only) — это означает, что после монтирования массива, он не использовался для записи.

Подробную информацию о конкретном массиве можно посмотреть командой:

* где /dev/md0 — имя RAID устройства.

Version : 1.2
Creation Time : Wed Mar 6 09:41:06 2019
Raid Level : raid1
Array Size : 1046528 (1022.00 MiB 1071.64 MB)
Used Dev Size : 1046528 (1022.00 MiB 1071.64 MB)
Raid Devices : 2
Total Devices : 2
Persistence : Superblock is persistent

Update Time : Wed Mar 6 09:41:26 2019
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Consistency Policy : resync

Name : proxy.dmosk.local:0 (local to host proxy.dmosk.local)
UUID : 304ad447:a04cda4a:90457d04:d9a4e884
Events : 17

Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc

  • Version — версия метаданных.
  • Creation Time — дата в время создания массива.
  • Raid Level — уровень RAID.
  • Array Size — объем дискового пространства для RAID.
  • Used Dev Size — используемый объем для устройств. Для каждого уровня будет индивидуальный расчет: RAID1 — равен половине общего размера дисков, RAID5 — равен размеру, используемому для контроля четности.
  • Raid Devices — количество используемых устройств для RAID.
  • Total Devices — количество добавленных в RAID устройств.
  • Update Time — дата и время последнего изменения массива.
  • State — текущее состояние. clean — все в порядке.
  • Active Devices — количество работающих в массиве устройств.
  • Working Devices — количество добавленных в массив устройств в рабочем состоянии.
  • Failed Devices — количество сбойных устройств.
  • Spare Devices — количество запасных устройств.
  • Consistency Policy — политика согласованности активного массива (при неожиданном сбое). По умолчанию используется resync — полная ресинхронизация после восстановления. Также могут быть bitmap, journal, ppl.
  • Name — имя компьютера.
  • UUID — идентификатор для массива.
  • Events — количество событий обновления.
  • Chunk Size (для RAID5) — размер блока в килобайтах, который пишется на разные диски.

Подробнее про каждый параметр можно прочитать в мануале для mdadm:

Также, информацию о разделах и дисковом пространстве массива можно посмотреть командой fdisk:

Источник

You may also like...