Чтение онлайн

на главную

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

Если существует вероятность потерять данные в результате выхода из строя жесткого диска, то единственным выходом из данной ситуации является использование массивов жестких дисков 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]

10.6. Как найти, спрятать и безвозвратно уничтожить данные

Поделиться:
Популярные книги

По осколкам твоего сердца

Джейн Анна
2. Хулиган и новенькая
Любовные романы:
современные любовные романы
5.56
рейтинг книги
По осколкам твоего сердца

На границе империй. Том 7. Часть 2

INDIGO
8. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
6.13
рейтинг книги
На границе империй. Том 7. Часть 2

Провинциал. Книга 6

Лопарев Игорь Викторович
6. Провинциал
Фантастика:
космическая фантастика
рпг
аниме
5.00
рейтинг книги
Провинциал. Книга 6

Эфир. Терра 13

Скабер Артемий
1. Совет Видящих
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эфир. Терра 13

Её (мой) ребенок

Рам Янка
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Её (мой) ребенок

Темный Патриарх Светлого Рода 3

Лисицин Евгений
3. Темный Патриарх Светлого Рода
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Темный Патриарх Светлого Рода 3

Великий князь

Кулаков Алексей Иванович
2. Рюрикова кровь
Фантастика:
альтернативная история
8.47
рейтинг книги
Великий князь

Академия

Сай Ярослав
2. Медорфенов
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Академия

Вторая невеста Драконьего Лорда. Дилогия

Огненная Любовь
Вторая невеста Драконьего Лорда
Любовные романы:
любовно-фантастические романы
5.60
рейтинг книги
Вторая невеста Драконьего Лорда. Дилогия

Мир-о-творец

Ланцов Михаил Алексеевич
8. Помещик
Фантастика:
альтернативная история
5.00
рейтинг книги
Мир-о-творец

Невеста вне отбора

Самсонова Наталья
Любовные романы:
любовно-фантастические романы
7.33
рейтинг книги
Невеста вне отбора

Адепт: Обучение. Каникулы [СИ]

Бубела Олег Николаевич
6. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.15
рейтинг книги
Адепт: Обучение. Каникулы [СИ]

Мимик нового Мира 8

Северный Лис
7. Мимик!
Фантастика:
юмористическая фантастика
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 8

Утопающий во лжи 3

Жуковский Лев
3. Утопающий во лжи
Фантастика:
фэнтези
рпг
5.00
рейтинг книги
Утопающий во лжи 3