RAID-массивы. Компромиссы RAID-технологии. Производительность RAID-систем, страница 5

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

Вторая причина состоит в том, что после замены отказавшего накопителя необходимо регенерировать исчезнувшие данные на новом накопителе. Этот процесс называется перестройкой (rebuilding). В массиве с заркалированием необходимо скопировать содержание исправного накопителя на заменяющий накопитель. Массив с чередованием и паритетом должен образовать все содержание заменяющего накопителя, определяя новую информацию паритета (и/или заменяющие данные, вычисленные из информации паритета) с привлечением всех данных в исправных накопителях. Ясно, что эти процедуры выполняются относительно медленно - они могут длиться несколько часов. В это время массив будет работать правильно, но его производительность значительно снизится. Влияние перестройки на производительность полностью зависит от уровня RAID и возможностей контроллера. Аппаратные RAID-массивы обычно выполняют перестройку быстрее программных RAID-массивов. К счастью, перестройка случается редко.

Многие RAID-системы предоставляют администратору выбрать автоматическую или ручную перестройку. В автоматической конфигурации массив обнаруживает замену неисправного накопителя и автоматически начинает перестройку на новый накопитель; перестройку можно начать сразу после отказа, если массив имеет горячий резерв. В ручном режиме администратор должен указать системе, когда производить перестройку.

Большинство обычных RAID-массивов с зеркалированием или чередованием и паритетом при работе в деградированном режиме находятся в опасном состоянии. До замены накопителя и окончания перестройки они не обеспечивают защиты данных.

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

Надежность RAID-систем

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

Чтобы разобраться в том, как RAID-массив реально влияет на надежность, необходимо вначале отчетливо понять различные аспекты несколько расплывчатого понятия надежности. Например, часто употребляемая фраза "RAID повышает надежность жесткого диска" не совсем точна. Истина в некоторой степени зависит от определения надежности: идет ли речь о надежности отдельных накопителей или всей системы? Понимается ли здесь надежность данных или аппаратных средств? Кроме того, не все RAID-реализации улучшают надежность.

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

Надежность системы зависит от надежности ее компонентов. Чем больше компонентов в системе, тем ниже надежность системы в целом. Собственно, именно поэтому сложные машины обычно отказывают чаще, чем простые. Простой численной характеристикой надежности многих компонентов, включая жесткие диски, является среднее время между отказами (Mean Time Between Failures - MTBF). Если значения MTBF компонентов системы обозначить как MTBF1, MTBF2, и т.д. до MTBFN, то надежность системы можно вычислить следующим образом:

MTBF системы = 1 / (1/MTBF1 + 1/MTBF2 + ... + 1/MTBFN)

Если значения MTBF всех компонентов равны, т.е. MTBF1 = MTBF2 = ... = MTBFN, то выражение значительно упрощается:

MTBF системы = MTBF компонента / N

Следствия полученных выкладок очевидны. Если образовать RAID-массив с четырьмя накопителями, каждый из которых имеет MTBF 500 000 часов, то MTBF массива составит всего 125 000 часов! Фактически ситуация еще хуже, так как при использовании аппаратного RAID-массива необходимо учесть MTBF контроллера, который без функциональности RAID не нужен.

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

А что получится, если не включить избыточность? В этом случае (чередования без паритета) RAID - массив имеет значительно меньшую надежность, чем один накопитель, и совсем не обладает отказоустойчивостью. Поэтому такой уровень можно рекомендовать только при настоятельной необходимости повышения производительности с обязательным соблюдением строгих процедур резервирования.

Применительно к РС имеется несколько критичных компонентов, без которых система не функционирует; при отказе этих компонентов массив не будет работать независимо от того, сколько накопителей в нем и каково их качество. Один ненадежный компонент может сильно снизить общую надежность системы, потому что MTBF системы всегда ниже MTBF самого ненадежного компонента. Например, при наличии в системе четырех компонентов с MTBF равным 1 000 000 часов каждый значение MTBF системы составит 250 000 часов. Если же четвертый имеет MTBF в 100 000 часов, то MTBF системы составит всего 77 000 часов.