Здравствуйте, гость ( Вход | Регистрация )
|
|
![]() ![]() |
| Fletch |
22 {3} 2004, 20:43
Сообщение
#1
|
|
Местный индееЦ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 4118 Регистрация: 11-{3} 2004 Из: Тула, Москва. Ранее Губкин. Пользователь №: 2 |
Просьба голосовать только после прочтения статьи
Что такое Raid-массивы и с чем их едят. В 1987 г. три американских исследователя Паттерсон, Гибсон и Катц из Калифорнийского университета Беркли написали статью "A Case for Redundant Arrays of Inexpensive Discs (RAID)". В статье описывалось, каким образом можно несколько дешевых жестких дисков объединить в одно логическое устройство таким образом, что в результате объединения повышаются емкость и быстродействие системы, а отказ отдельных дисков не приводит к отказу всей системы. Возможность недорого (inexpensive) построить дисковый массив большой емкости, повышенного быстродействия и, к тому же, отказоустойчивый, с этого времени постоянно беспокоит умы компьютерщиков. Однако широкое распространение такие системы получили только сейчас. Это связано с тем, что с недороговизной (inexpensiveness) получилась маленькая неувязочка. Всем ведь известно, что не всякие комплектующие подходят, чтобы вышла «конфетка». В самые первые RAID-ы, чтобы они действительно работали, пришлось устанавливать очень дорогие дисковые устройства от мэйнфреймов. Поэтому и аббревиатуру RAID стали расшифровывать как "Redundant Arrays of Independent Discs" – избыточный массив независимых дисков. Сейчас достаточно хорошие диски имеют разумную стоимость, и RAID становится основным элементом современного сервера любого уровня (а часто и не только сервера). Тем не менее, когда мы говорим о RAID, то о дешевизне лучше сразу забыть. Стоимость полных RAID-систем не снижается так же быстро, как цены на базовые диски, из-за «накладных расходов»: контроллеры, коннекторы, специализированное программное обеспечение и т.п. Массивы RAID становятся вместительнее, дешевле и приобретают новые возможности. Однако покупателям по-прежнему приходится определять приоритеты и искать компромиссы: между функциональностью и ценой; между производительностью и объемом дисковой памяти. Вариантов построения систем с RAID существует много. Все они гарантируют отличную работу при умеренных затратах. Реальное же применение такой перспективной технологии очень часто приносит совершенно необъяснимые трудности. Отчасти это связано и с тем, что во множестве публикаций о RAID упускаются очень существенные детали относительно различных уровней RAID. Например, в качестве основного различия RAID-уровней 3 и 5 чаще всего указывается, что в RAID уровня 3 контрольная информация хранится на выделенном диске. Как следствие, это трактуется как недостаток («узкое горлышко»). На самом деле механизм взаимодействия дисков в RAID намного сложнее, способ размещения контрольной информации на дисках не является определяющим фактором, да и выделенный диск в RAID уровня 3 не является «узким горлышком». Давайте более детально рассмотрим хотя бы самые основные особенности систем, использующих RAID, чтобы если и не облегчить свою жизнь, то хотя бы понять, почему она так трудна. Общие принципы функционирования. Основные задачи, которые позволяют решить RAID, это обеспечение отказоустойчивости дисковой системы и повышение ее производительности. Отказоустойчивость достигается тем, что вводится избыточность. В RAID объединяется больше дисков, чем это необходимо для получения требуемой емкости. Производительность дисковой системы повышается за счет того, что современные интерфейсы (в частности, SCSI) позволяют осуществлять операции записи и считывания фактически одновременно с несколькими дисками. Поэтому в первом приближении можно рассчитывать, что скорость записи или чтения, в случае применения RAID, увеличивается пропорционально количеству дисков, объединяемых в RAID. Возможность одновременной работы с несколькими дисками можно реализовать двумя способами: с использованием параллельного доступа (parallel-access array) и с использованием независимого доступа (independent-access array). Для организации параллельного доступа рабочее пространство дисков размечается на зоны определенного размера (блоки) для размещения данных и избыточной информации. Информация, подлежащая записи на диски (запрос на обслуживание), разбивается на такие же по величине блоки, и каждый блок записывается на отдельный диск. При поступлении запроса на чтение, необходимая информация собирается из нескольких блоков. Понятно, что в этом случае скорость записи (равно как и скорость чтения) увеличивается пропорционально количеству дисков, объединенных в RAID. Для организации независимого доступа рабочее пространство дисков также размечается на зоны определенного размера (блоки). Однако, в отличие от предыдущего случая, каждый запрос на запись или чтение обслуживается только одним диском. Естественно, в этом случае скорость записи будет не выше, чем при работе с одним диском. Однако массив с независимым доступом в каждый момент времени может обслуживать одновременно несколько запросов, каждый диск обслуживает свой запрос. Таким образом, оба архитектурных решения способствуют повышению производительности, но механизм повышения производительности у этих решений различен. Соответственно, свойства RAID существенно зависят от того, какой из этих двух механизмов в нем используется. Именно поэтому при сравнении RAID различного уровня в первую очередь необходимо сравнивать размер логических блоков. Точнее говоря, не собственно размер, а соотношение размера блока и величины запроса на обслуживание (объем информации, подлежащей записи или считыванию). Другим фактором, влияющим на производительность, является способ размещения избыточной информации. Избыточная информация может храниться на специально выделенном для этого диске и может распределяться по всем дискам. И, наконец, в RAID различного уровня применяются различные способы вычисления избыточной информации. Это также влияет на характеристики RAID (надежность, в первую очередь, производительность и стоимость). Основные способы: полное дублирование информации, применение кодов с коррекцией ошибок (применяется код с коррекцией одиночных ошибок и обнаружением двойных ошибок ECC – код Хемминга) и вычисление четности (Parity). Уровни RAID Для стандартизации продуктов RAID в 1992 году был организован промышленный консорциум – Комиссия советников по RAID (RAID Advisory Board: RAB). В настоящее время комиссией стандартизировано 8 вариантов (уровней) объединения дисков в массивы: от RAID-0 до RAID-7. Номера уровней определены просто в порядке, в котором были предложены различные варианты и не связаны с характеристиками RAID. Применяются также комбинированные уровни, например, уровень 0+1 означает RAID уровня 0, но в этот RAID объединены не одиночные диски, а несколько RAID уровня 1 (несколько зеркальных дисков). Уровни с 1-го по 5-й включительно были представлены в упомянутой выше статье Калифорнийского университета в Беркли, и эта систематика RAID была принята как стандарт «де факто». Именно эти уровни и будут рассмотрены ниже, причем основное внимание будет уделено наиболее распространенным уровням: 1, 3 и 5. RAID уровня 0, строго говоря, вообще не является избыточным массивом (RAID); тем не менее, данный термин широко применяется и поэтому разрешен RAB. Уровни 6 и 7 по различным причинам применяются очень редко. Например, RAID 7® является зарегистрированной торговой маркой Storage Computer Corporation (SCC), поэтому применяется исключительно в изделиях этой фирмы. Более того, многие производители RAID-контроллеров уровнями 6 и 7 обозначают нестандартизированные или комбинированные уровни. Например, в контроллерах фирмы Mylex под RAID уровня 6 понимается комбинированный уровень 0+1, а под RAID уровня 7 – простое объединение нескольких дисков в один логический. RAID уровня 1 (Mirrored disk) предназначен в основном для обеспечения отказоустойчивости системы. За счет полного дублирования информации обеспечивается очень высокий уровень надежности. Однако и стоимость хранения информации получается немалой. RAID уровня 2 (Memory-Style ECC) характеризуется очень высокой надежностью. В RAID уровня 2 применяется код с коррекцией одиночных ошибок и обнаружением двойных ошибок ECC. Такой же метод, кстати, применяется и для коррекции ошибок в оперативной памяти серверов. В RAID уровня 2 расслоение данных для записи или чтения осуществляется на уровне битов. Однако, вследствие применения кода с коррекцией ошибок, RAID уровня 2 требует для хранения контрольной информации более одного диска. Большинство контрольных дисков, используемых в RAID уровня 2, нужны для определения положения неисправного разряда. Но в этом сейчас уже нет нужды, так как большинство контроллеров в состоянии самостоятельно определить, когда диск отказал при помощи специальных сигналов, или дополнительного кодирования информации, записанной на диск и используемой для исправления случайных сбоев. В связи с этим RAID уровня 2 не нашел практического применения. В RAID уровней 3, 4 и 5 применяется простое вычисление четности путем применения к записываемым блокам операции «исключающее или» – XOR (Parity), что позволяет использовать меньшее количество избыточных дисков. В RAID уровня 3 (Bit-Interleaved Parity) для обеспечения отказоустойчивости вводится один дополнительный диск, на который записывается дополнительная (контрольная) информация. При записи данные разбиваются на блоки, каждый из которых записывается на отдельный диск. Затем вычисляется контрольная сумма, которая записывается на дополнительный диск. При выходе из строя любого диска данные на нем можно восстановить по контрольным данным и данным, оставшимся на исправных дисках. Как и в RAID уровня 2 расслоение данных для записи или чтения осуществляется на уровне битов (вообще говоря, допускается и расслоение на уровне байтов). Таким образом, в RAID уровня 3 реализуется практически в чистом виде архитектура с параллельным доступом. RAID уровня 4 (Block-Interleaved Parity) отличается от RAID уровня 3 в первую очередь значительно большим размером блока записываемых данных (большим, чем размер записываемых данных). Типичное значение – кратно размеру сектора жесткого диска. Это и есть главное отличие между RAID 3 и 4. RAID уровня 5 (Block-Interleaved Distributed-Parity) так же, как и RAID уровня 4, отличается от RAID уровня 3 большим размером блока записываемых данных. Кроме того, в отличие от RAID уровня 4, для хранения избыточной информации не выделяется отдельный диск, а контрольная информация записывается на различные диски по очереди. Такое размещение избыточной информации позволяет повысить производительность дискового массива, о чем мы поговорим далее. Однако, подчеркиваю, главное отличие RAID уровней 3 и 5 состоит, вопреки распространенному мнению, не в методе хранения избыточной информации, а в размере логических блоков, записываемых на каждый диск. В отличие от RAID уровня 3, в RAID уровня 5 реализуется архитектура с независимым доступом. Производительность RAID Прежде чем рассматривать вопрос производительности RAID различного уровня, необходимо определиться с самим вопросом: «что такое производительность?» Нельзя подходить к вопросу о производительности RAID с теми же мерками, с которыми мы оцениваем производительность одиночного диска. Это связано, прежде всего, с областью применения RAID. Основное применение технология RAID нашла в серверах. Поэтому такие показатели как скорость записи или скорость чтения важны, конечно, но не отражают способность системы в целом (сервера) выполнять свою основную задачу – обслуживать одновременно большое количество клиентов. В реальных условиях система, в которой установлен RAID (сервер), формирует поток запросов к RAID на обслуживание. Принципы, положенные в основу построения RAID позволяют одновременно обслужить несколько таких запросов или быстрее освободиться (в RAID-3) для обслуживания очередного запроса. Тем не менее, при интенсивном потоке заявок на обслуживание, RAID может быть занят обслуживанием предыдущих запросов. В этом случае очередной запрос ожидает, когда RAID освободится. Таким образом, перегрузка RAID интенсивным потоком запросов приводит в первую очередь к увеличению времени обслуживания очередного запроса. Поэтому в качестве критерия производительности RAID принято измерять время ожидания обслуживания при определенной интенсивности потока запросов. Рассмотрим, каким же образом принципы, заложенные в RAID различного уровня, влияют на время ожидания обслуживания. RAID разного уровня, естественно, по-разному ведут себя при увеличении количества запросов. Это связано в первую очередь с соотношением размера блоков на дисках и размера записываемых (считываемых) данных. Давайте еще раз вернемся к данному вопросу. «Длинный» запрос хорошо иллюстрирует особенности RAID уровня 3. Такой запрос разбивается на отдельные блоки. Половина этих блоков (в соответствии с рисунком) записывается на один диск, а половина на другой. Одновременно на третий диск записывается контрольная информация. Операция вычисления четности – это очень быстрая операция и легко реализуется аппаратно. Поэтому дополнительными временными задержками, связанными с вычислением избыточной операции, можно пренебречь. В итоге большой файл будет записан или считан в два раза быстрее (для системы из 3-х дисков) чем, если бы запись осуществлялась на одиночный диск. Однако любой другой запрос, поступивший в это время, будет ожидать обслуживания. Таким образом, при интенсивном потоке запросов время ожидания может быть весьма значительным. «Короткий» запрос соответствует режиму работы RAID уровня 4 или 5. Если размер записываемого файла меньше чем размер логического блока, то такой файл, естественно, не может быть разбит на части. Он весь размещается на каком-либо одном диске. Поэтому и скорость записи должна была бы быть точно такой, как и при записи на одиночный диск. Однако контрольная информация, связанная с модифицируемым блоком, соответствует всему блоку, а не только той части, которая модифицируется. Поэтому реально, чтобы выполнить запись, необходимо вначале считать модифицируемый блок и контрольную сумму, затем вычислить новое значение контрольной суммы и только после этого записать модифицированный блок и новое значение контрольной суммы. Вместо операции записи в RAID-5 и -4 фактически осуществляется операция «чтение-модификация-запись». Таким образом, в RAID уровня 4 и 5 скорость записи практически вдвое хуже, чем при использовании одиночного диска. Это – самая большая проблема в RAID уровня 5, и производители RAID-контроллеров ведут интенсивные работы по ее преодолению. Однако наличие такой проблемы еще не говорит о том, что RAID уровня 5 обладает низкой производительностью или уступает по этому показателю RAID уровня 3. При чтении, RAID уровня 4 или 5 может одновременно обслужить несколько запросов, благодаря чему производительность RAID уровня 5 может оставаться высокой даже при весьма интенсивном потоке запросов на обслуживание. В RAID уровня 5 одновременно также может обслуживаться и несколько запросов на запись. Именно для этого контрольная информация размещается не на одном диске, а чередуется на всех. Поэтому, в целом, время ожидания обслуживания при интенсивном потоке малых запросов в RAID уровня 5 оказывается лучше, чем, например, в RAID уровня 3. Типичная зависимость времени обслуживания запросов малого размера (в потоке – 25% запросов на запись) для RAID различных уровней приведена на рис. 5. Заметим, что условия измерения близки к реальным условиям в системе с централизованной базой данных Клиент-Серверной технологии. RAID-0+1 обеспечивает минимальное время обслуживания при гораздо более интенсивном потоке запросов, чем все остальные уровни RAID. Более того, увеличение времени обслуживания при увеличении интенсивности потока запросов происходит достаточно плавно, благодаря чему уменьшение производительности почти незаметно для большинства пользователей. Несколько худшими характеристиками обладает система, использующая RAID-1. При увеличении интенсивности запросов увеличение времени обслуживания практически пропорционально числу запросов (примерно эквивалентно количеству подключенных к системе пользователей). Плавное снижение производительности очень хорошо воспринимается пользователями. В большинстве случаев именно RAID уровня 1 или уровня 0+1 обеспечивают наилучшую производительность в реальных системах. RAID уровня 3 обеспечивает очень высокую производительность при редких запросах, но при увеличении интенсивности запросов увеличение времени обслуживания происходит очень быстро. Это не позволяет рекомендовать RAID уровня 3 в серверах, и особенно в серверах, предназначенных для обслуживания баз данных. RAID уровня 5 занимает промежуточное положение. Несколько по-другому ведут себя RAID-ы при обслуживании больших запросов (интенсивный обмен длинными файлами). Для таких приложений RAID-3 показывает ощутимо лучшую производительность, чем RAID-5. Возможности RAID-0 несколько скромнее, однако лучше, чем у RAID-3 и RAID-5. Эти условия оказываются очень трудными для RAID-1. По времени обслуживания длинных запросов RAID-1 значительно уступает всем другим вариантам RAID. По-прежнему лидирующим оказывается RAID-0+1. Затраты и целесообразность В серверах начального уровня, когда на первый план выдвигается вопрос стоимости, целесообразно применять RAID уровня 1 (требуется только один дополнительный диск, зеркальный с основным). В серверах, для которых основным требованием является высокая производительность, лучшим решением будет RAID уровня 0+1. В большинстве же других случаев RAID уровня 5 обеспечивает достаточно высокую производительность при умеренных затратах. RAID уровня 3 целесообразно применять только в специальных серверах, предназначенных для хранения больших файлов (графика, видео и т.п.). Но и в этом случае RAID уровня 0+1 обеспечит лучшую производительность. P.S. Статья лежит на винте. Кстати, к ней есть картинки, но я их не стал вставлять..... |
| KRUM |
22 {3} 2004, 23:05
Сообщение
#2
|
![]() Ушёл на экзамены... ![]() ![]() Группа: Пользователи Сообщений: 106 Регистрация: 13-{3} 2004 Из: Питер Пользователь №: 6 |
Fletch
Ну, млин, спасибо P.S. За оффтопик-отдельное сорри... -------------------- Мой путь-это путь самурая: Движение-только вперед. Я цели своей достигаю, Пока меня мир не убъет. © |
| Demon |
26 {3} 2004, 17:18
Сообщение
#3
|
|
Демон ![]() ![]() Группа: Новобранцы Сообщений: 163 Регистрация: 24-{3} 2004 Пользователь №: 22 |
Я ответил да т.к. 90% всего времени я работаю с серверами \ там обязаловка на серваках, но домой не хочу - т.к. лишние деньги выбрасывать ....
Деньги лишними никогда не бывают. |
| Fletch |
26 {3} 2004, 18:31
Сообщение
#4
|
|
Местный индееЦ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 4118 Регистрация: 11-{3} 2004 Из: Тула, Москва. Ранее Губкин. Пользователь №: 2 |
Demon
2 и больше винта - это выбрасывание денег? |
| Demon |
29 {3} 2004, 8:28
Сообщение
#5
|
|
Демон ![]() ![]() Группа: Новобранцы Сообщений: 163 Регистрация: 24-{3} 2004 Пользователь №: 22 |
Всю нужную информацию я архивирую на DVD (благо есть халява) - так что зашита инфы меня не волнует
А скорость работы дисковой подсистемы !? - если это критично то покупай скайзёвый винт! QUOTE 2 и больше винта - это выбрасывание денег? Толку от этих винтов если место теряется!? |
| Fletch |
29 {3} 2004, 14:08
Сообщение
#6
|
|
Местный индееЦ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 4118 Регистрация: 11-{3} 2004 Из: Тула, Москва. Ранее Губкин. Пользователь №: 2 |
Demon
QUOTE если это критично то покупай скайзёвый винт! Нафик надо такие бабки отваливать за хрень всякую? QUOTE Толку от этих винтов если место теряется!? Увеличивается на 98% примерно.... Raid 0 уровня называется |
| Demon |
29 {3} 2004, 14:21
Сообщение
#7
|
|
Демон ![]() ![]() Группа: Новобранцы Сообщений: 163 Регистрация: 24-{3} 2004 Пользователь №: 22 |
А смысл в Raid 0?
Да и скайзевый винт можно под систему б/у купить не дорого. |
| Fletch |
29 {3} 2004, 15:10
Сообщение
#8
|
|
Местный индееЦ ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Администраторы Сообщений: 4118 Регистрация: 11-{3} 2004 Из: Тула, Москва. Ранее Губкин. Пользователь №: 2 |
Demon
Дешевле взять 2 винта по 120-160 гигов, получишь 240-320 гигов места сравнимым по скорости с самым быстрым сказевым винтом |
| Demon |
29 {3} 2004, 15:21
Сообщение
#9
|
|
Демон ![]() ![]() Группа: Новобранцы Сообщений: 163 Регистрация: 24-{3} 2004 Пользователь №: 22 |
Fletch
Спасибо!! инфу нашел - разобрался |
| sirius1900 |
30 {9} 2005, 13:53
Сообщение
#10
|
|
Гость |
Статья весьма интересна для таких ламеров как я, но хотелось бы узнать о raid 0 и увидеть таблицу или систематизированный список по названиям уровней. Немного не понятно в плане того как работают диски.
RAID уровня 1 (Mirrored disk) предназначен в основном для обеспечения отказоустойчивости системы. За счет полного дублирования информации обеспечивается очень высокий уровень надежности. Однако и стоимость хранения информации получается немалой - из этой фразы могу лишь догадываться, что в данном случае при 2-х винтах инфа будет копироваться на оба диска зеркально (Mirrored) если я правильно понял, а если мне нужно добиться большей производительности(SCSI мне покупать на домашний комп не хочется) то мне нужно поставить raid 0 ? |
![]() ![]() |
| Текстовая версия | Сейчас: 3 {12} 2008 - 3:57 |
|
|
| Качественный хостинг, надежный хостинг |