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

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

Идея надежности хранения данных волновала, волнует и будет волновать не одно поколение системных администраторов и пользователей. Используемые в ОС Linux файловые системы ext2 и ext3 обладают достаточной степенью надежности, но зачастую этого мало.

Если существует вероятность потерять данные в результате выхода из строя жесткого диска, то единственным выходом из данной ситуации является использование массивов жестких дисков RAID. RAID (Redundant Array of Independent Disk или Redundant Array of Expensive Disk) — матрица независимых дисков с избыточностью. Под избыточностью подразумевается резервирование и дублирование данных. В зависимости от уровня RAID, предоставляются различные способы объединения дисков в массив (см. табл. 4.17).

Наиболее часто используются массивы уровней 0,1 и 5. Иногда встречаются комбинированные способы объединения данных в массив, например, 5+1.

Уровни RAID Таблица 4.17

Уровень RAID Описание
0 Обеспечивает распределение блоков данных по нескольким дискам. Предназначен для хранения больших объемов данных, не умещающихся на одном диске. Этот уровень не обеспечивает избыточности, при использовании этого массива диски просто объединяются в цепочку. Емкость массива равна суммарной емкости всех дисков, образующих массив
1 Обеспечивает технологию зеркального копирования. Диски дублируют друг друга. Емкость массива равна емкости самого меньшего из дисков
2 Запись на разные диски производится методом битового чередования малых блоков данных с добавлением кодов исправления ошибок
3 То же, что и уровень RAID 2, но контрольные коды записываются на отдельный диск
4 Представляет собой совокупность взаимосвязанных данных, которые записываются на один диск, а контрольные коды — на другой
5 На этом уровне используются контрольные суммы и данные записываются «вперемешку» на все диски. При выходе из строя одного из дисков потерянные данные восстанавливаются с помощью контрольной суммы. Общая емкость массива вычисляется по формуле min_size*(n-1), где min_size — объем наименьшего из дисков, an— количество дисков в массиве. Минимальное количество дисков равно трем

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

ОС Linux поддерживает программные контроллеры RAID. Применение программных контроллеров имеет как свои преимущества, так и недостатки. К достоинствам относится возможность использования дисков с различными интерфейсами, например, SCSI и IDE, для организации массива — программному контроллеру все равно, с чем работать. Недостатком является дополнительная нагрузка на центральный процессор — он выполняет всю работу по обеспечению функционирования массива RAID.

Итак, приступим к созданию массива RAID. Вам потребуется любой дистрибутив с поддержкой программного контроллера RAID (Software RAID). Такой возможностью обладают практически все современные дистрибутивы. Для включения поддержки RAID вам нужно перекомпилировать ядро. Если ваше ядро поддерживает RAID, при загрузке системы вы должны увидеть примерно следующее:

md driver 0.90.0 MAX_MD_DEVS=256, MAX_REAL=12

raid5 : measuring checksumming speed

raid5: MMX detected, trying high-speed MMX checksum routines

 pII_mmx : 980.694 MB/sec

 p5_mmx : 999.744 MB/sec

 8regs : 753.237 MB/sec

 32regs : 444.246 MB/sec

using fastest function: p5_mmx (999.744 MB/sec)

md.c: sizeof(mdp_super_t) = 4096

Partition check:

hda: hda1 hda2 < hda5 hda6 hda7 hda8 >

autodetecting RAID arrays

autorun . ..

. . . autorun DONE.

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

dmesg | less

Программа dmesg выводит на стандартный вывод сообщения ядра во время загрузки системы.

Включить поддержку RAID можно в разделе Block device конфигуратора ядра (make menuconfig). Данная опция называется RAID n support, где n — это номер уровня массива RAID. После этого нужно установить пакет raidtools, в состав которого входят программы raidhotadd, raidhotremove, mkraid и другие.

Для организации массива уровня RAID 1 нужно выделить два раздела и изменить тип этих разделов на Linux raid autodetect. Обратите внимание, я написал «два раздела», а не «два диска», так как конфигурируется программный контроллер. Конечно, лучше, чтобы эти разделы располагались на разных дисках, в противном случае от нашего массива будет мало толку.

Теперь отредактируйте файл /etc/raidtab (см. листинг 4.3).

Листинг 4.3. Файл/etc/raidtab (уровень 1)

# Имя устройства RAID

raiddev /dev/md0

# Уровень

raid-level 1 chunk-size 8 persistent-superblock 1

# Число дисков в массиве

nr-raid-disk 2

# Число дисков, которые будут использоваться в качестве замены, если

# один из дисков выйдет из строя

nr-spare-disk 0

# Определяем первый диск RAID

device /dev/hdb1

raid-disk 0

# Определяем второй диск RAID

device /dev/hdc1

raid-disk 1

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

mkraid /dev/md0

В некоторых случаях нужно будет использовать дополнительные параметры, о которых вы можете прочитать в справочной системе (man mkraid). В случае, если инициализация прошла успешно, в файле /proc/mdstat вы увидите примерно следующее:

Personalities: [raid1]

read_ahead 1024 sectors

md0: active raid1 hdc1[1] hdb1[0]

Теперь рассмотрим, как создать массив уровня RAID 5. Для этого используйте конфигурационный файл, текст которого приведен в листинге 4.4.

Листинг 4.4. Файл/etc/raidtab (уровень 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/hdb1

raid-disk 0

device /dev/hdc1

raid-disk 1

device /dev/hdd1

raid-disk 2

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

Для извлечения диска из массива используется команда raidhotremove. Извлечение может понадобиться, если один из дисков вышел из строя. В этом случае я рекомендую использовать диски с возможностью «горячей» замены. В противном случае вам придется останавливать машину для замены диска. После замены на новом диске следует создать разделы так же как и на диске, который вышел из строя, и только после этого выполнить команду raidhotadd. В качестве параметров программы raidhotremove и raidhotadd используют имя массива (/dev/md0) и номер диска, извлекаемого из массива.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

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

Из книги AutoCAD 2009 автора Орлов Андрей Александрович

Создание массивов Массивом называют множество однородных предметов, образующих единое целое. Массивы программы AutoCAD – это совокупность копий одного объекта, расположенных на равном расстоянии друг от друга. Так как массивы связаны со смещением координат, они могут быть


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

Из книги AutoCAD 2010 автора Орлов Андрей Александрович

Создание массивов Массивом называют множество однородных предметов, образующих единое целое. Массивы программы AutoCAD – это совокупность копий одного объекта, расположенных на равном расстоянии друг от друга. Так как массивы связаны со смещением координат, они могут быть


9.1 Массивы RAID

Из книги Серверные технологии хранения данных в среде Windows® 2000 Windows® Server 2003 автора Дайлип Наик

9.1 Массивы RAID Аббревиатура RAID расшифровывается как. Redundant Лггау of independent Disks – избыточный массив независимых дисков. Массивы RAID были разработаны в Калифорнийском университете и описаны в знаменитом документе The Berkeley Paper в 1988 году. Сейчас системы RAID предлагаются многими


8.1.4. Сравнение массивов

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

8.1.4. Сравнение массивов При сравнении массивов возможны неожиданности — будьте осторожны!Для сравнения массивов служит метод экземпляра <=>. Он работает так же, как в других контекстах, то есть возвращает -1 (меньше), 0 (равно) или 1 (больше). Методы == и != опираются на


Обзор Pegasus R4, компактного RAID-массива с Thunderbolt Фёдор Кустов

Из книги Цифровой журнал «Компьютерра» № 125 [11.06.2012 — 17.06.2012] автора Журнал «Компьютерра»

Обзор Pegasus R4, компактного RAID-массива с Thunderbolt Фёдор Кустов Опубликовано 15 июня 2012 года Это устройство называется Pegasus, и выпускает его компания Promise. Эти массивы RAID могут быть основаны на четырёх или шести жёстких дисков общей ёмкостью от 4 Тб до 12 Тб


10.5. Дублирование данных: введение в RAID

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

10.5. Дублирование данных: введение в RAID Идея надежности хранения данных волновала, волнует и будет волновать не одно поколение системных администраторов и пользователей. Используемые ОС Linux файловые системы ext2 и ext3 обладают достаточной степенью надежности, но зачастую


Создание массивов и работа с ними

Из книги Macromedia Flash Professional 8. Графика и анимация автора Дронов В. А.

Создание массивов и работа с ними Массив — это пронумерованный набор переменных одного типа, называемых элементами массива. Доступ к нужному элементу массива выполняется по его порядковому номеру, называемому индексом. А общее число элементов массива называется его


УКАЗАТЕЛИ МАССИВОВ

Из книги Язык Си - руководство для начинающих автора Прата Стивен

УКАЗАТЕЛИ МАССИВОВ      Как было сказано в гл. 9, указатели позволяют нам работать с символическими адресами. Поскольку в реализуемых аппаратно командах вычислительной машины интенсивно используются адреса, указатели предоставляют возможность применять адреса


Глава 3 RAID и восстановление информации

Из книги Восстановление данных на 100% автора Ташков Петр Андреевич

Глава 3 RAID и восстановление информации • Принципы работы RAID• Причины потерь данных• Тактика восстановления данных• Программные средства восстановления данных• Отдельные случаи восстановления• РезюмеАббревиатура RAID расшифровывается как Redundant Array of Independent Disks –


Принципы работы RAID

Из книги C++ для начинающих автора Липпман Стенли

Принципы работы RAID В основе работы RAID лежат несколько принципов организации записи данных на массив дисков. Реализация этих принципов позволяет ускорить запись и извлечение данных, а также увеличить степень надежности их хранения.• Данные в процессе записи


Уровни RAID

Из книги автора

Уровни RAID Уровни RAID – способ организации дисков внутри массива. В 1993 году промышленный консорциум по стандартизации RAID (RAID Advisory Board – RAB) определил семь типовых уровней RAID: от 0 до 6. Термин «уровни RAID» (RAID levels) является официальным и прочно вошел в лексику компьютерных


Контроллеры и конфигурирование RAID

Из книги автора

Контроллеры и конфигурирование RAID Первоначально RAID-контроллеры выполнялись только в виде самостоятельных плат расширения PCI. Такой контроллер включает в себя микропроцессор, буферную память, flash-память с микропрограммой и областью для хранения сведений о конфигурации


Программный RAID-массив

Из книги автора

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


Извлечение данных из RAID-0

Из книги автора

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


8.4.3. Динамическое создание и уничтожение массивов

Из книги автора

8.4.3. Динамическое создание и уничтожение массивов Оператор new может выделить из хипа память для размещения массива. В этом случае после спецификатора типа в квадратных скобках указывается размер массива. Он может быть задан сколь угодно сложным выражением. new