Skip to content

Home Носители данных Создание RAID-массива и повышение надежности хранения данных
Создание RAID-массива и повышение надежности хранения данных

RAID (Redundant Array of Independent Disk) — матрица независимых дисков с избыточностью. Массивы RAID обеспечивают более надежное хранение ваших данных. Как? Например, у нас есть два винчестера. Мы объединим их в один RAID-массив. Все, что будет записано на первый винчестер, будет автоматически продублировано на второй. Если с первым винчестером что-то случится (у жестких дисков есть свойство периодически выходить со строя — это может быть 1 раз в 5 лет, но все равно терять данные не хочется), то мы сможем восстановить свои данные со второго винчестера. Описанный способ является далеко не единственным способом организации RAID-массива. Алгоритм работы RAID-массива зависит от уровня RAID. Всего существует 6 уровней, перечисленных в таблице:

0
Предназначен не для обеспечения надежности, а для увеличения суммарного объема диска. Предположим, у нас есть два винчестера по 200 Гбайт. Объединив их в один винчестер, мы получим один диск на 400 Гбайт. Очень удобно, если мы работаем с видео (имеется в виду профессиональный видеомонтаж, а не просто просмотр фильмов)
1
Простое зеркальное копирование, как было описано выше. Все, что записано на первый жесткий диск, будет продублировано на второй. Желательно, чтобы диски были одного размера. Если это не так, то размер RAID-массива будет равен размеру меньшего диска
2
Используется метод битового чередования блоков данных, при этом добавляются коды коррекции ошибок
3
Усовершенствованный уровень 2: коды коррекции ошибок записываются на другой диск
4
Усовершенствованный уровень 3: практически то же самое, но изменен метод записи контрольных кодов
5 Самый надежный уровень. Использует контрольные суммы, и данные записываются вместе с контрольными кодами на все диски. Если с одним из дисков что-то случилось, то данные можно восстановить с помощью контрольной суммы. Общий размер массива вычисляется по формуле M x (N - 1), N— это количество дисков в массиве, а М - размер наименьшего диска. Минимальное значение N= 3

На практике обычно используются уровни 5, 1, 0. Некоторые материнские платы поддерживают RAID-массивы на аппаратном уровне. Раньше поддержкой RAID-массивов обладали только дорогие серверные материнские платы. Сейчас поддержку RAID можно встретить в относительно недорогих материнских платах среднего ценового диапазона. О создании и поддержке аппаратных RAID-массивов вы можете прочитать в документации по вашей материнской плате.

Но в Linux можно создавать программные RAID-массивы, даже если ваша материнская плата не поддерживает их на аппаратном уровне. У программных массивов есть один маленький недостаток— они работают немного медленнее аппаратных, но у программных RAID-массивов есть одно неоспоримое преимущество. Так как обработка данных происходит на программном уровне, совсем необязательно, чтобы жесткие диски, входящие в состав массива, были совместимы между собой. Например, можно создать массив уровня 5, который будет состоять из дисков ЕГОЕ, SATA и SCSI. Это три разных интерфейса, объединить которые в аппаратный массив просто невозможно.

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

md: md driver 0.90.2 MAX_MD_DEVS=256, MD_SB_DISKS=27 
md: bitmap version 3.39
...
md: Autodetecting RAID arrays.
 md: autorun ...
md: ... autorun DONE.

Если вы увидели их (если при загрузке вы не успели их заметить, введите команду dmesg), значит, ваше ядро поддерживает RAID. He поддерживать RAID могут компактные ядра некоторых дистрибутивов, которые мы  не будем рассматривать. Fedora Core, ASPLinux, Mandrake, Mandriva, ALT Linux поддерживают RAID-массивы по умолчанию.

Если же поддержки RAID почему-то в вашем дистрибутиве не оказалось, то включить ее можно в разделе Block device конфигуратора make menuconfig. После этого нужно будет перекомпилировать ядро. После загрузки с новым ядром нужно установить пакет raidtools, содержащий необходимые нам программы: raidhocadd, raidhotremove, mkraid. Последняя команда создает RAID-массив, первая добавляет в него диск, а вторая — удаляет диск из массива.

В этом совете мы научимся создавать массивы уровней 1 и 5. Уровень 0 нам не нужен, поскольку обрабатывать видео в Linux мы не будем.

Начнем с массива уровня 1. Создайте два раздела типа "Linux raid autodetect". Разделы можно создать как на одном, так и на разных дисках. Лучше, если вы создадите разделы на разных дисках — так будет надежнее. После этого отредактируйте файл /etc/raidtab.

# Имя устройства RAID-массива
raiddev /dev/md0
# Указываем уровень
гаid- level 1
# Число дисков в RAID-массиве 

nr-raid-disk 2
# Число дисков "на подхвате" — они будут использованы, если 1 из дисков
# выйдет из строя
nr-spare-disk 0
# Другие параметры
chunk-size 8
persistent-superblock 1

# Первый диск RAID
device /dev/hdc3
raid-disk 0
# Второй диск RAID
device /dev/sda7
raid-disk 1

Теперь нужно создать устройство /dev/md0, которое мы упомянули в конфигурационном файле. Для этого используем команду:

mkraid /dev/md0

После этого вы можете использовать устройство /dev/md0 как самый обычный жесткий диск — создавать на нем разделы, монтировать разделы, создавать данные и т. д.

Конфигурационный файл для уровня 5 выглядит немного иначе.

raiddev /dev/md0
raid-level 5
nr-raid-disk 3
nr-spare-disk 0
persistent-superblock 1
parity-algorithm left-symmetric
chunk-size 64
device /dev/hdcl
raid-disk 0
device /dev/sda7
raid-disk 1
device /dev/hdd3
raid-disk 2

Если один из дисков вышел из строя, то нужно использовать команду raidhotremove, чтобы извлечь его из массива. Затем на другом жестком диске создать разделы для RAID-массива (размер и количество разделов должны быть такими же, как у извлеченного диска), а затем добавить новый диск командой raidhotadd.

Комментарии (0)

RSS feed Comments

Написать комментарий

smaller | bigger

busy
 

Регистрация




Top