Денис Колисниченко - Linux-сервер своими руками Страница 37
Денис Колисниченко - Linux-сервер своими руками читать онлайн бесплатно
Наиболее часто используются массивы уровней 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) и номер диска, извлекаемого из массива.
4.20. Форматирование дискет в Linux
В других книгах, посвященных ОС Linux, этой теме обычно уделяется мало внимания. Хотя эта тема никак не относится к организации сервера, я решил все-таки рассмотреть процесс форматирования дискет более подробно, потому что в ближайшее время они еще будут использоваться.
Я использую программу kfloppy, которая входит в состав KDE и в особых комментариях не нуждается. В качестве альтернативы вы можете использовать программы fdformat и superformat. Первая из них (fdformat) форматирует дискеты только в Linux-формате (ext2fs). Вызов программы осуществляется следующим образом:
fdformat [-n] device
Опция –n запрещает проверку дискеты при форматировании.
device — это или /dev/fd0 (А:) или /dev/fd1 (В:).
Более гибкой является программа superformat. Она может форматировать дискету как в Linux-формате, так и создавать файловую систему DOS. На самом деле она вызывает mformat из mtools для создания файловой системы msdos. Параметры программы superformat указаны в табл. 4.18. Формат использования программы superformat следующий:
superformat параметры
Параметры программы superformat Таблица 4.18
Параметр Описание -2 Форматирование дисков большой емкости для работы с программой 2mf -B Проверка диска с помощью программы mbadblocks -d устройство Форматирование диска в указанном устройстве. По умолчанию используется /dev/fd0 -dd Форматирование дисков двойной плотности (Double Density) -D устройство Указание устройства в формате DOS для передачи программе mformat (а: или b:) -f Запрет проверки диска -Н n Установка количества головок (по умолчанию 2) -hd Форматирование дисков высокой плотности (High Density) -l Не использовать 2m -no2m Не использовать 2m -s n Установка количества секторов. Аргумент n обозначает не количество физических секторов, а количество логических 512-байтных секторов -t n Установка количества дорожек. Значение по умолчанию — 40 или 80 в зависимости от устройства и плотности диска -v n Установка уровня отладки. Допустимые значения 1, 2, 3, 6 и 9 -V Проверка диска после завершения форматирования всего диска. По умолчанию после форматирования каждой дорожки производится ее проверкаС помощью этой программы можно увеличить емкость дискет, используя нестандартные форматы (см. табл. 4.19). Однако за качество работы этих дискет я не ручаюсь. К тому же я очень не рекомендую использовать дискеты нестандартных форматов в качестве загрузочных.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.