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

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

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

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

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

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

Чаще всего используются массивы уровней 0, 1 и 5. Иногда встречаются комбинированные способы объединения данных в массив, например RAID-10 (RAID 0+1) — это чередование блоков данных на двух парах дублирующих друг друга дисководов.

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

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

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

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

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

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

Если ваше ядро поддерживает 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.

Теперь отредактируйте файл /etc/raidtab.

Листинг 10.2. Примерный файл /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]

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

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

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

1.1. Введение в VBA. Типы данных

Из книги Офисное программирование автора Фризен Ирина Григорьевна

1.1. Введение в VBA. Типы данных Введение в VBAНастоящий курс является начальным руководством по разработке программ, написанных на языке Visual Basic for Application (для приложений).VBA представляет собой набор средств программирования для создания собственных программ и подгонки


Дублирование и объединение слоев

Из книги Photoshop CS3: Обучающий курс автора Тимофеев Сергей Михайлович

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


Глава 22 Дублирование данных

Из книги Новейший самоучитель работы на компьютере автора Белунцов Валерий

Глава 22 Дублирование данных Современные носители информации обладают высокой надежностью, однако нельзя быть полностью застрахованным от возможных сбоев оборудования. Проблемы с программами, даже операционными системами можно решить путем их переустановки, но если


Дублирование дескрипторов

Из книги Системное программирование в среде Windows автора Харт Джонсон М

Дублирование дескрипторов Родительскому и дочернему процессам может требоваться различный доступ к объекту, идентифицируемому дескриптором, который наследует дочерний процесс. Кроме того, процессу вместо псевдодескриптора, получаемого с помощью функции GetModuleFileName или


9.1 Массивы RAID

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

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


Введение в генерируемое содержимое. Базы данных

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Введение в генерируемое содержимое. Базы данных Генерируемое содержимое Web-страницы, как следует из определения, — это фрагменты ее содержимого, которые не описываются в HTML-коде, а создаются программно, особым Web-сценарием. Содержимое может генерироваться как при


Введение в семантическую разметку данных

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Введение в семантическую разметку данных Мы собираемся создать на всех Web-страницах раздел "См. также". Этот раздел будет включать гиперссылки на Web-страницы, хранящие описания тегов HTML и атрибутов стиля CSS, имеющих аналогичное назначение, и тексты примеров использования


Введение в генерируемое содержимое. Базы данных

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

Введение в генерируемое содержимое. Базы данных Генерируемое содержимое Web-страницы, как следует из определения, — это фрагменты ее содержимого, которые не описываются в HTML-коде, а создаются программно, особым Web-сценарием. Содержимое может генерироваться как при


Введение в семантическую разметку данных

Из книги Понимание SQL автора Грубер Мартин

Введение в семантическую разметку данных Мы собираемся создать на всех Web-страницах раздел "См. также". Этот раздел будет включать гиперссылки на Web-страницы, хранящие описания тегов HTML и атрибутов стиля CSS, имеющих аналогичное назначение, и тексты примеров использования


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

Из книги Продвижение порталов и интернет-магазинов автора Гроховский Леонид О.

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


Уровни RAID

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

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


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

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

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


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

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

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


Глава 1. ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ БАЗУ ДАННЫХ

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

Глава 1. ВВЕДЕНИЕ В РЕЛЯЦИОННУЮ БАЗУ ДАННЫХ SQL (ОБЫЧНО ПРОИЗНОСИМАЯ КАК "SEEQUEL" ["СЭКВЭЛ"]) символизирует собой Структурированный Язык Запросов. Это - язык который дает вам возможностьсоздавать и работать в реляционных базах данных, которые являются наборами связанной


Дублирование, аффилиаты, ошибки

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

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