На конференции открыт новый форум Беспилотные летательные аппараты, приглашаем всех любителей квадрокоптеров!
FAQ по RAID
(авторы - gss, a_shats)

Эпиграф:
«RAID-контроллер работает не так,
как хочется админу,
а так,
как хочется лично ему» (gss)

1. Что такое RAID

RAID - Redundant Array of Inexpensive (Independent) Disks (Избыточный Массив Недорогих (Независимых) Дисков), т.е. массив из нескольких жестких дисков, объединенных в единую логическую структуру для повышения надёжности и/или быстродействия. Теория RAID была разработана математиками в университете Беркли несколько десятилетий назад и первоначально противопоставлялась супернадежным и супердорогим дискам IBM, которые могли работать без всяких «наворотов» десятками лет, но стоили при этом огромных денег. Позднее возможности RAID появились и в серверах обычного класса, а последние годы и в персоналках.

2. Уровни RAID

Привожу только уровни, доступные «в быту».

RAID 0по сути говоря, RAID не является, т.к. не обеспечивает надежность. Но это самый быстрый вариант. В этом варианте информация распределяется по нескольким (два и более) дискам равными порциями (страйпами, stripe). При чтении и записи операции с несколькими дисками происходят одновременно, что резко повышает быстродействие. Оборотная сторона медали – понижение надежности, т.к. при любой проблеме (отказ ЛЮБОГО диска или логический сбой контроллера) происходит потеря ВСЕЙ информации на ВСЕХ дисках. Надежность RAID 0 существенно ниже, чем у одиночного диска, т.к. помимо того, что вероятность вылета диска из пачки несколько выше, достаточно часто случаются логические сбои контроллеров, приводящие к потере информации. Сбои контроллеров – явление в классе дешевых контроллеров (менее 300-400$) весьма нередкое (впрочем, на дорогих - тоже).
Однако быстродействие RAID 0 проявляется далеко не всегда. Однозначно быстро он работает, лишь когда требуется быстрые линейные чтение-запись. В качестве же системного диска он может не оправдать ожиданий - один скоростной HDD (например WD Raptor) или, еще лучше, SSD, даст гораздо больше эффекта с гораздо меньшим риском.
КАТЕГОРИЧЕСКОЕ ПРЕДУПРЕЖДЕНИЕ – если данные имеют хоть какую-то ценность, использовать RAID 0 не стоит. Бэкап тоже спасает не всегда, т.к. он всегда отстает по времени (обычно на сутки и более) и, как минимум, вызывает долговременный (обычно несколько дней) простой машины на время ремонта (обладателям серверов это особенно важно).
Емкость равна сумме размеров всех дисков. Состоит из двух и более дисков.

RAID1 – «зеркало», mirror. Состоит из двух дисков. Информация полностью дублируется между двумя дисками. При записи такой массив работает практически так же, как и одиночный диск. При чтении некоторые контроллеры (все аппаратные и некоторые полуаппаратные) могут использовать технологию чередования запросов (аналогично RAID 0), что также повышает быстродействие (скорость при этом практически не отличается от RAID 0). Но – не все контроллеры умеют это делать. Плюс такого массива в том, что он чрезвычайно надежен (ибо прост) и даже в случае логического сбоя контроллера информация может быть легко восстановлена. При наличии контроллера, умеющего чередовать запросы, может обеспечить в бытовых задачах производительность, практически такую же, как и RAID 0 – но при очень высокой надежности.
Емкость равна емкости одного диска.

RAID 5информация в нем пишется на диски страйпами, аналогично RAID 0. Но при этом дополнительно пишутся блоки избыточной контрольной информации (parity), позволяющие массиву спокойно пережить вылет одного любого диска. Производительность на чтении с такого массива почти не отличается от RAID 0. Производительность же записи очень мала (может быть существенно медленнее одиночного диска), т.к.:
а) производится большее количество дисковых операций;
б) контроллер должен вычислять контрольные суммы, а это достаточно накладно. Использование RAID 5 рекомендуется в случаях, когда не важна скорость записи или на очень мощных контроллерах (400$ и выше). В случае логического сбоя восстановление информации с RAID 5 не всегда возможно и даже если возможно, требует работы профессионала.
Емкость равна сумме размеров всех дисков минус один диск. Состоит из трех и более дисков.

RAID 10 – симбиоз RAID 0 и RAID 1. Информация пишется страйпами, но полностью дублируется на одинаковых наборах дисков. При этом скорость чтения равна скорости RAID 0, а скорость записи теоретически вдвое ниже (но все равно вдвое выше, чем у одного диска (теоретически!!!))
Используется тогда, когда помимо скорости чтения и надежности нужна еще и большая скорость записи. Например – идеальный вариант для профессиональной работы в Photoshop, когда памяти категорически не хватает и интенсивно используется своп. Или в сервере базы данных.
RAID10 и RAID0+1 в теории несколько отличаются, но с практической стороны - одно и то же.
Состоит обычно из четырёх дисков (но некоторые контроллеры могут использовать нечётное количество, начиная с трёх). Ёмкость равна половине суммы объёмов всех дисков.

Matrix RAID – вопреки рекламе Intel, RAID не является. Это просто возможность создать массивы разного уровня на одном наборе дисков. Этот функционал присутствует почти во всех профессиональных контроллерах от Рождества Христова и почему-то не рекламируется. Но вещь полезная.
Например, на двух дисках можно сделать зеркало и страйп. Зеркало под ОС, ПО и важные данные, а страйп под всякую всячину, которую не жалко потерять. Но важно помнить, что для сохранности данных при вылете диска, зеркало должно создаваться ПЕРВЫМ (иначе при вылете одного диска данные зеркала хоть и не потеряются совсем, но их придется спасать нетривиальными методами).
Комбинации массивов могут быть разными (два зеркала, или два страйпа, или два RAID 5, или... зависит от фантазии и количества дисков), но на одних и тех же дисках может быть не более двух массивов.

3. Виды реализации RAID

RAID может быть реализован разными средствами:

а) программно. Возможность есть во всех серверных версиях Windows и вообще во многих ОС. Плюс – обычно бесплатно. Минус – отсутствуют средства мониторинга, производительность зачастую оставляет желать лучшего (в случае RAID 5). Но софтовый страйп и зеркало работают вполне быстро. Еще минус – зависимость от ОС: если она упадет, могут быть серьезные проблемы. Рекомендуется для создания зеркала – практически не уступает дешевым контроллерам, а зачастую их превосходит;

б) аппаратно. Это значит, что контроллер имеет собственный процессор и, как правило, кэш. Полностью независим от операционки. Имеет мощные средства мониторинга. Аппаратные контроллеры обычно стоят начиная от 300$. Наиболее распространенные производители – LSI, Adaptec, 3ware, Areca (хотя некоторые из них не брезгуют и более дешевым классом);

в) полуаппаратно. В этот класс попадают почти все контроллеры ценой менее 300$. Т.е. контроллер как бы аппаратный, но всю работу по расчету контрольных сумм и т.п. делает центральный процессор системы (т.е. драйвер). Дать точную классификацию чудес китайской мысли затруднительно, но как правило, такие контроллеры не блещут как производительностью, так и средствами мониторинга. Хотя например Интеловский интегрированный ICH5(6, 7, 8)R работает достаточно удовлетворительно. Возможно, другие тоже неплохи – не знаю. Хочу только предостеречь от использования таких контроллеров для построения RAID 5. Этот массив достаточно сложен и глюкоопасен. Если развалится, восстановить его на контроллере подобного сорта может быть очень затруднительно.

4. Производительность

Вопреки распространенному заблуждению, производительность RAID-массива может вас совсем не порадовать, особенно это касается RAID 5 и вообще дешевых контроллеров. Суммирования мегабайт в секунду всех дисков НЕ БЫВАЕТ даже в RAID 0. Всегда есть достаточно существенные накладные расходы на обслуживание массива. Это обусловлено тем, что, как правило, RAID-контроллеры имеют весьма слабую пропускную способность и просто не могут переварить поток информации.
Большинство АППАРАТНЫХ (т.е. имеющих свой собственный процессор и кэш-память) RAID-контроллеров ОЧЕНЬ медленно работают на задачах, связанных с передачей больших файлов (небольшое число линейных потоков).
Связано это с тем, что большинство контроллеров начального уровня (до 500$) имеют очень слабые процессоры (66-100 МГц), которые просто не успевают быстро переливать большие объемы данных. Эти контроллеры придуманы для небольших серверов баз данных и файл-серверов, где характерна нагрузка типа «одновременнное чтение-запись большого числа мелких блоков».
Исключение составляют разве что мощные контроллеры типа SCSI LSI320-2X(2E)(Intel SRCU42X, E) или SATA 3ware9550. Но они и стоят существенно дороже.
Итак, линейная скорость в несколько десятков МБ/с для контроллера начального уровня - это НОРМАЛЬНО!!! И все домыслы типа «суммирование скоростей винчестеров» - разговоры ни о чем.
Массивы быстро работают только на операциях с мелкими блоками данных (запуск приложений, своп и т.п.), где все упирается в механику дисков. С этими задачами успешно справляются даже недорогие контроллеры. Если же речь идет о передаче больших файлов (мегабайты и выше), то скорость массива может быть не так уж велика, особенно на записи. Причем чем больше дисков в массиве, тем скорее контроллер упрется в предел своих возможностей (т.е. медленнее не станет, но и быстрее тоже).

5. Проблемы

RAID-контроллер – штука достаточно сложная и поэтому не лишена своих глюков. Массив может «развалиться» в самый неподходящий момент (это означает, что диски все исправны, но контроллер почему-то думает, что они померли). Такое бывает, и достаточно часто, особенно на дешевых контроллерах. Если RAID 1 в этом случае будет жить (ну или восстановить информацию не представляет проблемы), то вот RAID 0 рухнет. Вообще, для работоспособности RAID 1 необходимо, чтобы хоть один диск из массива был жив. RAID 0 не способен пережить вылет даже одного диска. RAID 5 выдерживает вылет одного диска, если же вылетят два (а при логических сбоях это бывает часто), будет как с RAID 0. RAID 10 выдерживает вылет половины винтов, но только если эти винты не являются зеркалом друг друга. Т.е. для верности лучше считать, что он, как и RAID 5, выдерживает вылет лишь одного диска.

При покупке RAID-контроллера с целью сделать RAID 0, 5 или 10, рекомендую предварительно убедиться, что он позволяет вручную или автоматически вернуть массив в рабочее состояние – подобные функции обычно называются «Make online», «Trust array» и т.п. Конкретные марки контроллеров называть не буду, все меняется (аппаратные контроллеры, за исключением продукции Promise, как правило такие функции в том или ином виде имеют. Полуаппаратные – это надо смотреть доки).

Еще момент – ПЕРЕД созданием RAID ОБЯЗАТЕЛЬНО прочитайте доки. RAID – это не та штука, где можно действовать интуитивно, там многие вещи весьма непрозрачны, даже если таковыми кажутся. Особенно это касается аппаратных контроллеров – не обижайтесь, но далеко не каждый инженер способен управиться с мощным контроллером, не говоря уже о простом пользователе, чтобы он о себе ни думал.

На всякий случай уточню еще один момент. Процесс создания массива состоит не только из конфигурирования. После конфигурирования происходит еще процесс инициализации, который как правило означает запись нулей на всю поверхность – т.е. стирание всей информации. Иногда этот процесс запускается вручную, иногда автоматически. Если массив «создался» за пять секунд, это не значит, что он проинициализировался. Контроллер может вести инит в фоновом режиме, вовсе вас об этом не спрашивая. Процесс инита может занимать от десятков минут до нескольких дней – это зависит от мощности контроллера, скорости и размера дисков, приоритета инита. Обычно – от получаса до нескольких часов.

Повторю стандартную фразу – RAID не заменяет бэкап. Они оба защищают от разных вещей. Бэкап спасает от потери накопленных данных. RAID – позволяет работать при вылете винта и позволяет не потерять данные со времени последнего бэкапа (т.е., как правило, наиболее важные, над которыми вы сейчас работаете!) Но никакой массив не спасет от навернувшегося БП, вируса или ваших же шаловливых ручек. Поэтому если вы дорожите данными, надо делать И отказоустойчивый RAID и бэкап, благо в последнее время это не так уж дорого.

6. Когда стоит использовать RAID дома

Наиболее полезен дома RAID 1. Он спасает при крахе диска и при наличии контроллера, умеющего чередовать запросы, резко повышает производительность на бытовых задачах (я уже говорил про запуск приложений, что, IMHO, наиболее интересно). Он, конечно, теряет много дискового пространства, но винчестеры нынче такие, что обычно и так хватит.

RAID 10 полезен, как я уже говорил, в профессиональных задачах (например, дизайнеру-надомнику). Это и быстро, и надежно.

RAID 5 – хорош, когда надо хранить большие объемы данных с достаточной (но не 100%) надежностью. Несколько дисков помельче могут быть дешевле пары больших. Например, я уже не раз слышал про людей с большими коллекциями фоток и т.п. (сам такой). Но я уже предостерегал – RAID 5 в случае развала поднять сложно, поэтому дома, без бэкапа, над этим надо подумать очень плотно.

RAID 0 – хорош только для разного рода свопов и т.п., т.е. временной информации, потерять которую не страшно. Но не стоит его использовать, например, под загрузочный диск: если навернется, будете курить бамбук в ожидании ремонта. В этом плане недурен Matrix RAID – можно сделать зеркало под систему и данные и страйп под свякие свапы. Хотя я, например, его не буду использовать – лучше денег заплачу за RAID 10.

7. Что такое LUN

В просторечии лунами обычно называют логические диски - что не совсем корректно, но общепринято.
Внутри RAID-системы существуют массивы (array) и логические диски (logical drive). Логический диск фактически является разделом массива - только не на уровне ОС, а внутри контроллера.
Грубо говоря, LUN (Logical Drive) представляет собой кусок RAID-массива, который контроллер представляет ОС в качестве «физического» диска. Именно это как правило и имеется в виду, когда говорят «LUN».
Смысл разбиения массива на луны в том, что на разных лунах можно иметь разные политики кэширования, что невозможно в случае обычных софтовых партиций. А на многих контроллерах еще и разные уровни RAID (например, контроллеры Адаптек или LSI). Еще момент - не всегда операционки понимают диски более 2 ТБ (хотя это со временем пройдет) - тогда большой массив можно просто порезать.
Делается это для того, чтобы на небольшом числе дисков можно было сделать несколько виртуальных - часто требуется.
Это все очень кратко - на самом деле все сложнее...
Лучше всего качнуть мануал приличного контроллера (Adaptec, LSI...) и почитать - там еще много чего интересного написано.

8. Почему при наличии RAID нужно делать бэкап?

Потому что технология RAID предназначена не для обеспечения сохранности данных, а для возможности дальнейшей работы при выходе из строя одного или нескольких жёстких дисков. Подробнее - здесь: От чего спасает и от чего не спасает RAID-массив.

9. Для чего нужна батарейка (BBU - Battery Block Unit) на контроллере

Батарейка на контроллере спасает от одной малоизвестной, но крайне неприятной вещи - если рубанется питание во время операции записи, может так статься, что RAID станет неконсистентным. Просто контроллер после появления питания не вспомнит, что он успел записать, а что нет (это всё относится к работе контроллера с ВКЛЮЧЁННЫМ КЭШЕМ НА ЗАПИСЬ В РЕЖИМЕ «WRITE BACK»). Если операций незавершенных было много (а сиквел это предполагает), да при наложении прочих сопутствующих неприятностей, может быть очень невесело.
Мы уже неоднократно сталкивались с ситуациями развала массива по непонятным причинам. Вполне возможно что это было именно оно. Батарейка, конечно, не панацея, но разрушений будет меньше.
Варианты с потерей данных при наличии UPS и режиме WB, от которых обычно может спасти BBU:
  • сбой UPS;
  • сбой/выдергивание провода/проводов от UPS к БП;
  • сбой БП;
  • сбой материнской платы;
  • сбой вставного контроллера повлёкший проблемы с питанием на шине;
  • сбой одного из каналов контроллера;
  • проблемы с канальным кабелем (разъёмы, терминаторы);
  • сбой корзины;
  • сбой одиночного диска, повлекший сбой по шине.
10. Почему при страйпе, отличном от дефолтного, производительность может упасть

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

11. Что такое Consistenсy check и почему стоит его делать

Суть в том, что ЛЮБОЙ массив не абсолютно надежен (даже если все исправно).
Например, проблемы кабельной системы могу привести к некорректной записи данных на блины (хотя, как правило, они, конечно, компенсируются в процессе передачи).
Гораздо хуже обстоит дело со сбоями питания. Вырубание электрики или отказ БП (а зачастую и ребут) во время интенсивной записи могут привести к несоответствию блоков данных и парити.
Для этого на правильных контроллерах ставится батарейка на кэш (BBU). Она держит не только собственно сам кэш (спасает от ошибок файловой системы). Если она есть, контроллер будет помнить еще и то, какие блоки он успел записать, а какие нет (или записал не до конца) - т.е. содержимое временных регистров. С ней вероятность инконсистентности гораздо ниже, но не отсутствует.
Дело в том, что сами винты имеют кэш. На SCSI или SAS-дисках кэш, как правило, выключен (на скорость это влияет очень мало). На SATA же скорость при выключении дискового кэша обычно падает гораздо сильнее и его оставляют включенным. И если пропали данные в дисковом кэше, контроллер просто об этом не знает, со всеми вытекающими.
Ну и, естественно, в процессе работы ни один диск не застрахован от бэд-блоков. Контроллер о них ничего не знает до тех пор, пока не полезет в тот блок, что может быть очень редко.
Чем это грозит. А все очень просто. Если вдруг откажет диск, то при наличии неконсистентных данных, в процессе ребилда на новый диск информация будет записана с ошибками, и никто не будет об этом знать! Если же есть реальные, а не логические сбои (бэд-блоки), ребилд просто не пройдет (эта ситуация повторялась уже столько раз, что у меня мата не хватает). Т.е. винт поменяли, а массив как был полудохлым, так и есть. И это еще хорошо, если ребилд не пойдет - хуже, если пройдет, но со скрытыми ошибками (вы будете пребывать в ложной уверенности - пока петух не клюнет).
Самое главное - НИКТО НЕ СМОЖЕТ такой массив восстановить!!! Только бэкап-рестор того, что еще можно прочитать.
Поэтому периодическая проверка ЛЮБОГО массива уровней 1, 5, 6, 10, 50 - вещь просто ОБЯЗАТЕЛЬНАЯ. Если конечно вас интересует результат (С).
Что делает консистенси-чек. Он:
а) читает поверхность дисков, входящих в массив;
б) СВЕРЯЕТ блоки парити и блоки данных (или просто блоки данных в случае RAID 1 и 10).
Если все блоки читаются, но имеется несоответствие, он перезаписывает парити на RAID 5, 6. Как он сделает на RAID 1 или 10, честно говоря, не знаю, наверное, волевым решением примет один из блоков «правильным» (некая надежда на аллаха имеет место быть).
Если есть бэд-блоки, он вычислит содержавшуюся в нем информацию на основании парити и запишет его заново (диск при этом отремапится).
Вот собственно. Это вовсе не страшилка, а весьма злобная правда жизни.
Да, еще. Консистенси-чек обязательно надо делать ПЕРЕД операциями рестрайпинга (изменения уровня массива) и экспанда (добавления дисков в массив).

12. Почему RAID 0 так ненадёжен, хоть вероятность выхода из строя современного винчестера порядка нескольких процентов

По нашей статистике (т.е. по серверам) процент брака приблизительно 1-2%. По РС - гораздо больше. Во-вторых, помимо ненадежности дисков, RAID 0 добавляет массу собственных «прелестей», которые случаются гораздо чаще, нежели банальные проблемы с дисками:
  • нестабильность контроллера или заменяющего его софта;
  • неконтакт кабелей;
  • выбросы по электрике (ой, только не надо про бытовые упсы, да?);
  • несовместимость firmware дисков и контроллера, проявляющаяся под нагрузкой или спонтанно;
  • внезапные ребуты ввиду сбоя софта, приводящие к потере информации в кэше и т.д. и т.п.
В общем, стабильность халявных RAID гораздо ниже надежности дисков.
Иногда после сбоев удается отделаться легким испугом, но часто приходится идти к спецам, завернув диски в пару зеленых президентов.

13. Что такое HBA

HBA - Host Bus Adapter, т.е. простой контроллер, который ставится в сервер и имеет наружу или внутрь интерфейс нужного типа (SCSI, SAS, FibreChannel...). Примеры - Adaptec 29320, Qlogic QLA2460...
Применяется обычно для подключения разного рода стримеров, внешних дисковых массивов.
Часто также подключаются диски, если не требуется функционал, надежность и производительность полноценных RAID-контроллеров.
Иногда имеет примитивные функции RAID (страйп, зеркало). Но работают такие «hostRAID'ы» далеко не всегда стабильно

14. Для чего нужна операция «Make online»

Операция Make online - это принудительное «поднятие» в онлайн отказавших дисков. Т.е. мы принудительно заставляем контроллер считать, что этот диск исправен и, внимание, на нем заведомо верная информация.
Когда это можно применять: например, при одновременном отказе двух или более винтов в RAID 5 или RAID 10, причем вы абсолютно уверены, что отказ был именно одновременный, а не последовательный (один за другим). Это бывает, например, при проблемах с электрической сетью. В этом случае - это удобный способ восстановить работоспособность массива.
Внимание: крайне рекомендуется до Make Online выполнить проверку ВСЕХ failed дисков на «просто» SCSI- (SAS-, SATA-) HBA утилитой вендора (для Seagate - Seatools Enterprise, для Maxtor- PowerMax, IBM/Hitachi - Drive Fitness Test, скачиваются с сайта вендора).
Естественно, неисправные диски в online поднимать нельзя.
Когда это нельзя применять категорически: во всех случаях, кроме перечисленных в пункте «когда можно»: при неправильном применении эта операция приведет к почти гарантированному убиению если не всей, то большей части информации на массиве.

15. Что такое hot-swap

Это физическая и логическая возможность смены диска без выключения питания. Т.е. наличие в сервере дисковой корзины, куда диск втыкается на салазках. Ну и умение контроллера корректно отрабатывать выдергивание и втыкание диска. В этом смысле помогает наличие SES-процессора на бэкплейне дисковой корзины - это процессор, который занимается мониторингом всяческих температур и прочей полезной дребедени в дисковом отсеке, заодно и автоматически опознает новый диск в момент втыкания, без дополнительный телодвижений админа и контроллера (без этого пришлось бы делать рескан дисков по команде или периодически, что не фонтан).

16. Что такое hot-spare

Это диск, который стоит в сервере, но не входит ни в один из массивов, но в случае вылета любого винта автоматически запускается ребилд на этот самый спаре. Т.е. это просто как запаска в автомобиле, просто меняется сама, без домкрата.
Спаре может быть как глобальным (т.е. служит запаской для любого винта на контроллере), так и dedicated (т.е. для дисков конкретного массива - например, если разные винты в разных массивах на одном контролере).

17. Можно ли ставить в массив диски разного объёма

Можно, однако тогда на КАЖДОМ диске будет использоваться пространство, равное объёму самого маленького диска. Точно также при использовании разных по производительности дисков скорость доступа всего массива будет равна скорости доступа самого медленного в этом плане диска.
Вообще, для построения RAID-массива диски лучше использовать не только одинаковой модели, но и с одинаковой прошивкой.

18. Что такое "bad stripes"

Вот статья Adaptec по этому поводу. Кратко - это значит, что на дисках имеются сбойные блоки, информацию из которых контроллер не способен восстановить. Это могут быть:
  • бэд-блок на диске, если массив - degraded (т.е. парити для этого блока просто нет);
  • бэд-блоки на двух и более дисках с одинаковыми адресами (т.е. разрушен одновременно и блок данных, и соответствующий ему блок парити);
  • аналогично предыдущему, но повреждения не физические, а логические (например, вследствие краха питания при включенном кэше дисков или контроллера при отсутствии BBU).
Такое может случиться с любым RAID-контроллером, не только Adaptec. Просто Adaptec в таком случае не объявляет массив "dead", а помечает блоки как сбойные и сигнализирует админу, давая возможность успеть разобраться (т.е. сбэкапить то, что еще можно).
Диски и контроллер при этом могут быть исправны.

Вылечить это НЕВОЗМОЖНО. В принципе невозможно. Можно только предотвратить.
Во избежание подобных разрушений:
  • выключать кэш на дисках;
  • всегда использовать BBU при включенном write back кэше контроллера;
  • периодически (хотя бы раз в месяц) прогонять верификацию массива (при этом мелкие повреждения будут автоматически выявлены, перевычислены и перезаписаны, диск же отремапится).
Полезные ссылки:
[FAQ] RAID в домашних условиях (советы/проблемы/решения), #1606
Восстановление RAID 0 массива (упал один из винтов)
Обсуждение статьи iXBT.com: "Adaptec Serial ATA RAID 2410SA Enclosure Kit"
http://forum.ixbt.com/topic.cgi?id=11:33168
Вопрос о набортных RAID-контроллерах...
Правда, что RAID0 потребляет процессорное время?
Как настроить IOMeter и что смотреть
ATTO Disk Benchmark
Serial ATA (SATA) chipsets — Linux support status
...