8 Производительность, утилиты и общие ключевые вопросы 25



Скачать 255.48 Kb.
Pdf просмотр
страница1/3
Дата22.11.2016
Размер255.48 Kb.
Просмотров501
Скачиваний0
ТипРеферат
  1   2   3

Software-RAID HOWTO
Linas Vepstas, linas@linas.org Переводчик: Максим Дзюманенко max@april.kiev.ua v0.54, 21
Ноября 1998г Дата перевода: 24 октября 2000г
RAID обозначает ”Redundant Array of Inexpensive Disks”, ”Массив недорогих дисков с избыточностью”
- это путь создания быстрых и надежных дисковых систем из отдельных дисков. RAID может проти- водействовать отказам дисков, а также увеличивать производительность по сравнению с одиночным диском. Этот документ - tutorial/HOWTO/FAQ для пользователей расширения MD ядра Linux, соответ- ствующих утилит, и их применения. Расширение MD программно реализует RAID-0 (striping), RAID-1
(mirroring), RAID-4 и RAID-5. Это значит - с MD не требуется специального оборудования или дисковых контроллеров для получения многих преимуществ RAID.
Содержание
1
Введение
2
2
Понимание RAID
4
3
Установка и установочные соображения
7
4
Восстановление ошибок
13
5
Поиск неисправностей при установке
18
6
Поддерживаемая аппаратура и программы
21
7
Модификация существующей инсталяции
22
8
Производительность, утилиты и общие ключевые вопросы
25
9
Высокая готовность RAID
32
10 Вопросы ожидающие ответов
33
11 Список пожеланий для MD и сопутствующего ПО
33
Предисловие
Этот документ распространяется под GPL лицензией. Авторские права принадлежат Linas
Vepstas (linas@linas.org). Разрешается свободно использовать, копировать, распространять этот документ для любых целей, при условии указания имени автора/редактора и этой заметки во всех копиях и/или поддерживаемых документах и немодифицированных версиях этого доку- мента. Этот документ распространяется в надежде, что он будет полезен, но БЕЗ ВСЯКОЙ
ГАРАНТИИ, явной или неявной. Были предприняты все усилия для уверенности в правильно- сти приведенной информации, автор /редактор / хранитель и переводчик НЕ НЕСУТ ОТВЕТ-
СТВЕННОСТИ за любые ошибки, или повреждения, прямые или косвенные, причиненные в результате использования информации приведенной в этом документе.
Не смотря на то, что RAID разработан для увеличения надежности системы путем введе-
ния избыточности, он может создавать ложное чувство безопасности и уверенности, если
используется неправильно. Эта ложная уверенность может привести к большой беде. В
частности заметьте, что RAID разработан для защиты от *дисковых* отказов, а не отказов
*питания* или ошибок *оператора*. Отказы питания, ошибки при разработке ядра, или ошиб-
ки оператора/администратора могут привести к невосстановимому повреждению данных!

1. Введение
2
RAID *не* заменяет подобающего резервирования Вашей системы. Знайте что Вы делаете,
тестируйте, будьте осведомлены и сознательны!
Домашняя страница перевода - http://dmv.webjump.com/HOWTOs/. Обновленные версии, в первую очередь, появляются тут.
1
Введение
1. В: Что такое RAID?
О
: RAID означает "Redundant Array of Inexpensive Disks", - путь создания быстрых и надежных дисковых подсистем из отдельных дисков. В мире PC, "I"понимают как "Независимые"("Independent"), где маркетинговыми усилиями продолжают различать
IDE и SCSI. В оригинальном понимании, "I"означает "Недорогие (Inexpensive) по срав- нению мейнфреймом 3380 DASD, размером с холодильник". Хорошие дома выглядят дешевыми по сравнению с его монстрообразными устройствами, а бриллиантовые кольца - безделушками.
2. В: Что это за документ?
О
: Этот документ - tutorial/HOWTO/FAQ для пользователей MD расширения ядра
Linux, соответствующих утилит, и их применения. Расширение MD программно ре- ализует RAID-0 (striping), RAID-1 (mirroring), RAID-4 и RAID-5. Это означает, что для
MD не требуется специального оборудования или дисковых контроллеров для дости- жения многих преимуществ RAID.
Этот документ НЕ введение в RAID; вы должны искать его в другом месте.
3. В: Какие уровни RAID реализует ядро Linux?
О
: Striping (RAID-0) и линейное соединение являются частью 2.x серии ядер. Его код - продукт производственного качества; он хорошо понятен и хорошо поддержи- вается. Он используется в некоторых очень больших USENET серверах новостей.
RAID-1, RAID-4 и RAID-5 - часть ядра 2.1.63 и выше. Для ранних 2.0.x и 2.1.x ядер, существуют патчи, которые реализуют эту функцию. Не считайте обязатель- ным обновиться до ядра 2.1.63; обновление ядра - процесс трудный; *намного* проще пропатчить ранние ядра. Большинство пользователей RAID работают с 2.0.x ядра- ми, и там сфокусирована большая часть исторической разработки RAID. Текущие снимки - производственного качества; т.е. нет известных ошибок, но есть некоторые грубые места и не проверенные системные установки. Большое количество людей используют программный RAID в производственном окружении.
Горячее восстановление на RAID-1 было представлено недавно (Август 1997) и должно рассматриваться как альфа качества. Горячее восстановление RAID-5 должно быть альфа качества сейчас.
Предостережение о 2.1.x нестабильных ядрах: они менее стабильны во многих отношениях. Некоторые из новейших дисковых контроллеров (таких как Promise
Ultra) поддерживаются только в 2.1.x ядрах. Однако, 2.1.x ядра часто меняются в ча- сти драйверов блочных устройств, в коде DMA и прерываний, в PCI, IDE и SCSI коде,
и в драйверах дисковых контроллеров. Комбинация этих факторов в совокупности с дешевыми жесткими дисками и/или низкого качества кабелями могут привести к значительным неприятностям. Утилита ckraid как и fsck и mount создают значи- тельную нагрузку на RAID подсистему. Это может привести к блокировке дисков при загрузке, где даже магическая alt-SysReq клавишная комбинация не сохранит день.
Будьте осторожны с 2.1.x ядрами, и ожидайте проблем. Или вернитесь к 2.0.34 ядру.
4. В: Я использую старое ядро. Где я могу получить патчи?

1. Введение
3
О
: Программный RAID-0 и линейный режим - присутствуют во всех верси- ях текущих ядер Linux. Патчи для программных RAID-1,4,5 имеются на
<
http:
//luthien.nuclecu.unam.mx/miguel/raid
>
. См. также квази-зеркало
<
ftp://
linux.kernel.org/pub/linux/daemons/raid/
>
для патчей, инструментов и дру- гих интересных вещей.
5. В: Есть ли другие Linux RAID ссылки?
О
:
• Общий обзор RAID: <
http://www.dpt.com/uraiddoc.html
>
• Общие опции Linux RAID: <
http://linas.org/linux/raid.html
>
• Последняя версия этого документа:
<
http://linas.org/linux/
Software-RAID/Software-RAID.html
>
• Linux-RAID
архив почтовой переписки:
<
http://www.linuxhq.com/
lnxlists/
>
• Домашняя страница Linux Software RAID: <
http://luthien.nuclecu.unam.mx/
miguel/raid
>
• Инструменты Linux Software RAID:
<
ftp://linux.kernel.org/pub/linux/
daemons/raid/
>
• Как установить linear/stripped Software RAID:
<
http://www.ssc.com/lg/
issue17/raid.html
>
• Bootable
RAID
mini-HOWTO:
<
ftp://ftp.bizsystems.com/pub/raid/
bootable-raid
>
• Root
RAID
HOWTO:
<
ftp://ftp.bizsystems.com/pub/raid/
Root-RAID-HOWTO
>
• Linux
RAID-Geschichten:
<
http://www.infodrom.north.de/joey/Linux/
raid/
>
6. В: Кто ответственен за этот документ?
О
: Linas Vepstas собрал это все вместе. Однако, большая часть информации, и некоторые фразы были предоставлены
• Bradley Ward Allen <ulmo@Q.Net>
• Luca Berra <bluca@comedia.it>
• Brian Candler <B.Candler@pobox.com>
• Bohumil Chalupa <bochal@apollo.karlov.mff.cuni.cz>
• Rob Hagopian <hagopiar@vu.union.edu>
• Anton Hristozov <anton@intransco.com>
• Miguel de Icaza <miguel@luthien.nuclecu.unam.mx>
• Marco Meloni <tonno@stud.unipg.it>
• Ingo Molnar <mingo@pc7537.hil.siemens.at>
• Alvin Oga <alvin@planet.fef.com>
• Gadi Oxman <gadio@netvision.net.il>
• Vaughan Pratt <pratt@cs.Stanford.EDU>
• Steven A. Reisman <sar@pressenter.com>
• Michael Robinton <michael@bzs.org>
• Martin Schulze <joey@finlandia.infodrom.north.de>
• Geoff Thompson <geofft@cs.waikato.ac.nz>
• Edward Welbon <welbon@bga.com>
• Rod Wilkens <rwilkens@border.net>

2. Понимание RAID
4
• Johan Wiltink <j.m.wiltink@pi.net>
• Leonard N. Zubkoff <lnz@dandelion.com>
• Marc ZYNGIER <zyngier@ufr-info-p7.ibp.fr>
Copyrights
• Copyright (C) 1994-96 Marc ZYNGIER
• Copyright (C) 1997 Gadi Oxman, Ingo Molnar, Miguel de Icaza
• Copyright (C) 1997, 1998 Linas Vepstas
• По закону об авторском праве, дополнительные авторские права принадлежат помощникам, указанным выше.
Спасибо всем за приведенное здесь!
2
Понимание RAID
1. В: Что такое RAID? Почему я всегда его использую?
О
: RAID - путь комбинирования нескольких дисков в одно целое для увеличения скорости и/или надежности. Существует несколько различных типов и реализаций
RAID, каждый со своими преимуществами и недостатками. Например, помещая ко- пию одинаковых данных на два диска (называется зеркализация дисков, или RAID
уровня 1), скорость чтения может быть повышена поочередным считыванием с каж- дого диска зеркала. В среднем, каждый диск менее занят, т.к. он обрабатывает только половину операций чтения (для двух дисков), или 1/3 (для трех дисков), и т.д. В до- полнение, зеркало может повышать надежность: если один диск выходит из строя,
другой диск содержит копию данных. Различные пути комбинирования дисков в один, обозначаются уровнями RAID, могут обеспечить большую эффективность хра- нения, чем просто зеркализация, или могут изменить производительность по задерж- кам (времени доступа), или производительность пропускной способности (скорости передачи), для чтения или записи, в то же время поддерживается избыточность - это полезно для противодействия отказам. Хотя RAID может защитить от отказа, он не
защищает от ошибок оператора и администратора (человека), или потерь вызван-
ных ошибками программ (возможно и ошибками собственно программной реализа-
ции RAID). Сеть изобилует трагическими историями о системных администраторах,
которые неправильно устанавливали RAID, и потеряли все свои данные. RAID - не
заменяет необходимость частого, регулярного планового резервного копирования.
RAID может быть реализован аппаратно, в виде специальных дисковых контрол- леров, или программно, как модуль ядра который связывает низкоуровневый драйвер диска, и файловую систему, которая находится на нем. Аппаратный RAID - всегда "дисковый контроллер", - это устройство к которому могут подсоединяться диски.
Обычно он представляет собой плату, которая вставляется в слот ISA/EISA/PCI/S-
Bus/MicroChannel. Однако, некоторые RAID контроллеры - в виде ящика, который соединяется кабелями с используемым дисковым контроллером, и дисками. Мень- шие из них помещаются в дисковой стойке; большие могут быть встроены в дис- ковый шкаф со своими собственными стойками и источником питания. Последние аппаратные RAID используют с последними и быстрейшими процессорами, что обес- печивает обычно лучшую общую производительность, несмотря на значительную це- ну. Это потому, что большинство RAID контроллеров поставляются с встроенными процессорами на борту и кеш-памятью, которые могут значительно разгрузить сум- марную обработку главного процессора, насколько позволяет скорость поступления данных в большой кеш контроллера. Старые аппаратные RAID могут работать как "тормоз"когда используются с новейшими процессорами: вчерашние модные встро- енные процессоры и кеш могут быть бутылочным горлышком, и их производитель- ность часто превосходится чисто-программными RAID и новыми, но простыми в дру-

2. Понимание RAID
5
гих отношениях, дисковыми контроллерами. Аппаратные RAID могут иметь преиму- щество над чисто-программными RAID, если используют синхронизацию шпинделей дисков и знают позицию дисковых пластин относительно головок диска и желаемого дискового блока. Однако, большинство современных (дешевых) дисков не предостав- ляют эту информацию, во всяком случае, средства управления этим и т.о., большин- ство аппаратных RAID не имеет этих преимуществ. Аппаратные RAID различных производителей, версий и моделей обычно не совместимы: если RAID контроллер отказывает, он должен быть заменен на другой контроллер того-же самого типа. На момент написания (Июнь 1998), широкое разнообразие аппаратных контроллеров ис- пользуется под Linux; однако, никакой из них, на текущий момент, не поставляется с утилитами конфигурации и управления, которые запускаются под Linux.
Software-RAID - набор модулей ядра, вместе с утилитами управления, которые реализуют чисто программный RAID, и не требуют необычной аппаратуры. Подси- стема Linux RAID реализована в ядре, как уровень над низкоуровневыми драйвера- ми дисков (для IDE, SCSI и Paraport устройств), и интерфейсом блочных устройств.
Файловая система, будь то ext2fs, DOS-FAT, или другая, работает поверх блочного интерфейса. Программный RAID, по своей программной природе, склонен быть бо- лее гибким, чем аппаратная реализация. Обратная сторона этого - требуется больше процессорного времени, по сравнению с аппаратной реализацией. Конечно, цена не превзойденная. Кроме того программный RAID имеет одну важную отличительную особенность: он оперирует базируясь на разделах, где несколько отдельных диско- вых разделов собираются вместе для создания разделов RAID. В этом отличие от большинства аппаратных решений RAID, которые объединяют вместе целые диски в массив. В аппаратных RAID, факт, что массив RAID - прозрачен для операционной системы, упрощает управление. В программном, гораздо больше конфигурационных опций и вариантов, что запутывает дело.
На момент написания (Июнь 1998), администрирование RAID под Linux далеко
от простоты, и это лучше пробовать опытным системным администраторам. Теория
функционирования сложна. Системные инструменты требуют модификации загру-
зочных скриптов. И восстановление дискового отказа непростая задача, и способ-
ствует ошибкам человека. RAID не для новичков, и полученный прирост в надеж-
ности и производительности, может запросто перевеситься излишней сложностью.
Действительно, современные диски - невероятно надежны и современные процес-
соры и контроллеры вполне мощные. Вы можете более просто получить желаемую
надежность и производительность купив диск высшего качества и/или быструю
аппаратуру.
2. В: Что такое уровни RAID? Почему так много? Чем различаются?
О
: Различные уровни RAID имеют различную производительность, избыточность,
емкость, надежность и ценовые характеристики. Большинство, но не все, из уров- ней RAID предоставляют повышенную защиту от отказов диска. Из тех, которые предоставляют избыточность, RAID-1 и RAID-5 более популярны. RAID-1 предлагает лучшую производительность, в то же время RAID-5 применяется для более продук- тивного использования имеющихся емкостей накопителей. Однако, настройка про- изводительности - совсем иное дело, так как производительность зависит от мно- жества различных факторов, от типа приложения, до размеров stripe-ов, блоков, и файлов. Более трудные аспекты настройки производительности откладываются до более поздних разделов этого HOWTO. Далее описывается разница между уровнями
RAID в контексте реализации программного RAID в Linux.
RAID-linear простое объединение разделов для создания большого виртуального раздела. Это применяется если у Вас несколько маленьких дисков, и Вы хоти- те создать один большой раздел. Это объединение не предлагает избыточности,

2. Понимание RAID
6
и фактически уменьшает общую надежность: если один из дисков выходит из строя, весь раздел выходит из строя.
RAID-1 так же называемый "зеркализацией"("mirroring"). Два (или более) разде- ла, все одинакового размера, каждый содержит точную копию всех данных, блок в блок. Зеркализация дает сильную защиту от отказов диска: если один диск отказывает, есть другой с точной копией данных. Зеркализация также может по- мочь увеличить производительность подсистемы ввода-вывода, так как запросы на чтение могут быть разделены между несколькими дисками. К несчастью, зер- кализация также менее эффективна в смысле емкости: два зеркальных раздела могут вместить не больше данных, чем один раздел.
Striping - базовая концепция всех других уровней RAID. stripe - непрерывная по- следовательность дисковых блоков. stripe может быть размером с один дисковый блок, или может состоять из тысяч. Устройства RAID разделяют содержащие их разделы дисков на stripe-ы; различные уровни RAID различаются в том, как они организуют stripe-ы, и как данные размещаются на них. Взаимодействие между размером stripe-ов, типичными размерами файлов в системе, и их положением на диске - определяет общую производительность подсистемы RAID.
RAID-0 подобна RAID-linear, исключая то, что компоненты разделов делятся на strip-ы и затем чередуются. Подобно RAID-linear, результат - один большой вир- туальный раздел. Так же как и в RAID-linear, это не предполагает избыточности, и тоже уменьшает общую надежность: отказ одного диска ударит по всему. RAID-0
часто претендует на увеличение производительности по сравнению RAID-linear.
Однако, это может быть или не быть справедливо, в зависимости от характе- ристик файловой системы, типичного размера файла по сравнению с размером stripe, и типа рабочей нагрузки. Файловая система ext2fs уже рассеивает файлы по разделу, стараясь минимально фрагментировать. Итак, на простейшем уровне,
любой доступ может быть выполнен к одному из нескольких дисков, и таким образом, чередование stripe-ов по многим дискам предоставляет реальные пре- имущество. Однако, существует разница в производительности, она зависит от данных, рабочей загрузки, и размера stripe.
RAID-4 чередует stripe-ы подобно RAID-0, но требуется дополнительный раздел для размещения информации о четности. Четность используется для получения избыточности: если один из дисков отказывает, данные на оставшихся дисках могут быть использованы для воссоздания данных на отказавшем диске. Получа- ем N дисков с данными, и один диск с четностью, stripe четности вычисляется так - берется один stripe из каждого диска с данными, и XOR-ятся вместе. Итак,
емкость (N+1)-дисков массива RAID-4 равна N, что намного лучше чем зерка- лизация (N+1) дисков, и почти так же хорошо, как RAID-0 на N. Заметьте, что для N=1, где один диск с данными, и один паритетный, RAID-4 эквивалентен зеркализации, при этом каждый из двух дисков копирует друг друга. Однако,
RAID-4 НЕ дает производительности чтения зеркализации, и имеет пониженную производительность записи. По просту, это потому, что обновление паритета тре- бует чтения старого паритета, перед тем, ка новый паритет может быть вычислен и записан. При большом количестве операций записи, паритетный диск может стать "бутылочным горлышком", т.к. каждая операция записи должна обращаться к паритетному диску.
RAID-5 освободжден от "бутылочного горлышка"при записи на RAID-4 размеще- нием паритетных stripe вперемешку на каждом диске. Однако, производитель- ность записи все еще не столь хороша, как при зеркализации, так как паритет- ный stripe все же должен быть считан и XOR-ен перед записью. Производитель- ность чтения тоже не так хороша, как при зеркализации, так как, после этого,
есть только одна копия данных, не две или более. Принципиальное преимуще- ство RAID-5 над зеркализацией то, что он предоставляет избыточность и защиту

3. Установка и установочные соображения
7
от отказа одного диска, в то же время предоставляет намного больше емкости,
когда используется с тремя или более дисками.
RAID-2 и RAID-3 редко используются, и в некоторой степени стали устаревшими для современных дисковых технологий. RAID-2 подобен RAID-4, но размещает
ECC информацию вместо паритетной. С тех пор как все современные диски реализуют ECC в себе, это предоставляет маленькую дополнительную защиту.
RAID-2 может дать большую целостность данных, если пропало питание в про- цессе записи; однако, резервные аккумуляторы и чистое завершение работы мо- гут дать ту же выгоду. RAID-3 подобен RAID-4, исключая то, что он использует наименьший возможный размер stripe. Как результат, любая операция чтения будет включать в себя все диски, делая перекрытие запросов ввода-вывода труд- ным/невозможным. Для избежания задержек при ожидания вращения, RAID-
3 требует синхронизации всех шпинделей дисков. Большинство современных дисков не имеют способности синхронизировать шпиндели, или, если и имеют,
не имеют нужных соединителей, кабелей, и документации производителей. Ни
RAID-2 ни RAID-3 не поддерживаются драйверами программного RAID в Linux.
Прочие уровни RAID определены различными исследователями и поставщика- ми. Многие из них представляют наложение одного типа raid поверх другого.
Некоторые требуют специального оборудования, а другие защищены патентами.
Нет единой схемы именования этих уровней. Иногда преимущества этих систем небольшие, или по крайне мере не проявляются пока система не слишком нагру- жена. Исключая размещение RAID-1 поверх RAID-0/linear, Программный RAID
Linux не поддерживает никакие друге варианты.
3
Установка и установочные соображения
1. В: Как лучше сконфигурировать программный RAID?
О
: Я обнаружил, что планирование файловой системы одна из труднейших задач конфигурирования Unix. Для ответа на Ваш вопрос, я могу написать, что мы сделаем.
Мы планируем следующую установку:
• два EIDE диска, 2.1Гб каждый.
диск раздел т.монтирования размер устройство
1 1
/
300M
/dev/hda1 1
2
swap
64M
/dev/hda2 1
3
/home
800M
/dev/hda3 1
4
/var
900M
/dev/hda4 2
1
/root
300M
/dev/hdc1 2
2
swap
64M
/dev/hdc2 2
3
/home
800M
/dev/hdc3 2
4
/var
900M
/dev/hdc4
• Каждый диск на отдельном контроллере (и отдельном кабеле). Теоретически от- каз контроллера и/или отказ кабеля не запретит доступ к обоим дискам. Также,
мы возможно сможем получить повышение производительности от параллельных операций на двух контроллерах/кабелях.
• Установим ядро Linux в корневой (/) раздел /dev/hda1. Пометим этот раздел как загрузочный.
• /dev/hdc1 должен содержать “холодную” копию /dev/hda1. Это НЕ raid копия,
просто один-в-один копия. Только для использования в качестве восстановитель- ного диска в случая отказа основного диска; пометим /dev/hdc1 как загрузоч- ный, и используем его для хранения без переустановки системы. Вы можете так-

3. Установка и установочные соображения
8
же поместить копию /dev/hdc1 ядра в LILO для упрощения загрузки в случае отказа.
Теоретически, в случае отказа, так я все еще могу загрузить систему вне зави- симости от повреждения суперблока raid или других видов отказов и случаев,
которые мне не понятны.
• /dev/hda3 и /dev/hdc3 будут зеркалами /dev/md0.
• /dev/hda4 и /dev/hdc4 будут зеркалами /dev/md1.
• мы выбрали /var и /home для зеркализации, и в разных разделах, основываясь на следующей логике:
/
(корневой раздел ) будет содержать относительно статическую, не изменя- ющуюся информацию: для всех практических применений, он должен быть только для чтения, без фактической отметки и монтирования только для чте- ния.



Поделитесь с Вашими друзьями:
  1   2   3


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал