Оценка надежностных характеристик RAID-массивов А.А. ДЮМИН, Л.Е. КАЛУГИНА Национальный исследовательский ядерный университет «МИФИ» ОЦЕНКА НАДЕЖНОСТНЫХ ХАРАКТЕРИСТИК RAID-МАССИВОВ Рассмотрены основные архитектуры современных дисковых подсистем на основе RAID-массивов и причины их отказа. Рассмотрены основные подходы к оценке надежности систем хранения данных. Представлены результаты оценки надежности RAID-массивов с использование последовательного моделирования методом Монте-Карло на основе методологии, предложенной Дж. Г. Элиресом, учитывающей различные аспекты отказов накопителей и компонент систем хранения данных и процесса их восстановления. Предлагаются подходы к расширению данной модели. Современные системы хранения данных (СХД) позволяют хранить петабайты данных в рамках единой интегрированной подсистемы хранения данных. Увеличение объемов хранимых данных достигается как путем использования большего количества носителей данных (до нескольких тысяч в рамках одной подсистемы), так и за счет роста емкости данных носителей (до 2 Tбайт на одном носителе). Основными носителями данных, несмотря на развитие систем с твердотельными элементами хранения (SSD, DDR, гибридные накопители), все еще являются накопители на жестких магнитных дисках (HDD), которые благодаря появлению новых технологий записи данных на магнитный носитель, значительно опережают твердотельные накопители по емкости и стоимости хранения единицы информации. Современные накопители на жестких магнитных дисках являются сложными высокотехнологичными устройствами – в настоящее время только 5 компаний в мире владеют технологиями и производственными мощностями для массового производства современных устройств. При этом HDD считаются достаточно надежными устройствами – среднее время до выхода из строя (MTTF) жестких дисков корпоративного уровня составляет порядка 1,6 миллионов часов, а вероятность появления невосстановимой ошибки (UER) благодаря использованию кодов обнаружения ошибок (EDC), кодов коррекции ошибок (ECC) и различных проприетарных технологий поддержания целостности данных на носителе по оценкам производителей – не более чем 10–16. Между тем в реальности частота ежегодных отказов (AFR) жестких дисков оценивается примерно в 0,75 %. Современные авторы [1, 2] выделяют два типа причин потери данных на жестких дисках: функциональный сбой и скрытая (или отложенная) ошибка. Под функциональным сбоем, как правило, понимают выход из строя накопителя, который может обнаружить управляющий им контроллер, т.е. когда требуемые данные не могут быть прочитаны с накопителя. К основным причинам функциональных сбоев причисляют: нарушение серворазметки, сбои в работе электроники накопителя, поломки считывающих головок, сбои системы позиционирования, превышение лимита критичных S.M.A.R.T. параметров. Под скрытыми ошибками дисков (UDE) понимают не обнаруживаемые электроникой накопителя ошибки при записи данных (UWE), когда внешне нормальная операция записи влечет нарушение данных на соседних дорожках и/или не происходит модификация оригинальных данных, и ошибки при чтении данных (URE) при неправильной интерпретации кодов коррекции ошибок (в случае множественных ошибок) или считывании неверных данных из-за ошибок позиционирования. К первопричинам отложенных ошибок относят производственные дефекты магнитного слоя, коррозийные и физические повреждения магнитного слоя в процессе эксплуатации, временные сбои в позиционировании магнитных головок, например из-за вибраций, ошибки позиционирования из-за термического расширения рабочей поверхности из-за нарушений температурного режима эксплуатации накопителя. Поэтому для хранения важных данных, потеря которых может привести к значительным убыткам (не только в сфере бизнес-приложений, но и, например, в системах для хранения результатов дорогостоящих физических экспериментов), а также при построении различных критически важных автоматизированных систем управления, работоспособность которых зависит от работоспособности подсистемы вторичной памяти, нельзя полагаться исключительно на надежность накопителей на жестких магнитных дисках. Поэтому в большинстве современных СХД для повышения надежности хранения данных, а также повышения их производительности за счет параллельного обращения к нескольким накопителям, и увеличения адресуемого дискового пространства применяется технология RAIDмассивов (избыточный массив независимых дисков). RAID – это массив из нескольких дисков, управляемых аппаратно (контроллером), программно (операционной системой хоста) или системой виртуализации на уровне сетей хранения данных (SAN), взаимосвязанных скоростными каналами и воспринимаемых внешней системой как единое целое. Существует несколько стандартных Оценка надежностных характеристик RAID-массивов подходов к реализации RAID-массивов, так называемые уровни RAID, предложенные группой исследователей во главе с Паттерсоном еще в 1987 году [3], которые применяются в системах начального уровня; комбинированные (гибридные, кластерные) уровни, использующие для построения RAID-массивов в качестве строительных блоков не отдельные накопители, а также RAID-массивы; и ряд открытых, проприетарных и патентованных подходов, развивающих идеи, заложенные в стандартных уровнях, позволяющих повысить надежность хранения данных и быстродействие массива. RAID-массивы можно разделить на не обеспечивающие надежное хранение информации (уровень RAID 0); обеспечивающие сохранность и доступность информации при функциональном отказе 1 накопителя (уровни RAID1–5, 1E, 5EE и т.д.); обеспечивающие сохранность и доступность информации при одновременном выходе из строя двух любых дисков (различные реализации RAID 6, RAID DP); обеспечивающие сохранность и доступность информации при одновременном выходе из строя трех любых дисков (RAID TP); групповые уровни с избыточностью (RAID 1+0, 5+0 и т.п.), которые в общем случае обеспечивают доступность данных при функциональных сбоях нескольких дисков, но из разных групп. Следует отметить, что современные RAID-массивы обеспечивают надежное хранение данных только в случае функциональных сбоев накопителей, входящих в RAID. При появлении скрытых ошибок надежность хранения данных не гарантируется. Пример подобного сценария рассмотрен в работе Хафнера и др. [1]. Роль скрытых ошибок в процессах потери данных возрастает с увеличением информационной емкости HDD и приходом на рынок корпоративных систем хранения nearline-устройств [4]. Для борьбы со скрытыми ошибками необходимы методы проактивного мониторинга на уровне систем хранения данных и исправления данных ошибок с использованием внешних кодов коррекции ошибок и/или обнаружения ошибок по отношению к стандартно реализуемым в RAID-массивах – «скрабинг» (scrubbing). Подобные технологии в настоящее время реализуются в ряде high-end систем хранения корпоративного класса (HP EVA, EMC2 Centera и т.п.). При проектировании систем хранения данных важной задачей является оценка надежности разрабатываемой системы. Традиционно для данных задач применялся подход на основе Марковских цепей. Он позволят оценить среднее время до потери данных (MTTDL) на той или иной дисковой системе, учитывая среднее время до потери работоспособности основных компонент системы (MTTF), среднее время до восстановления в случае какого-либо сбоя (MTTR) и других факторов, таких, как, например, вероятность появления хотя бы одного ошибочного бита на диске (p). Например, для RAID-системы уровня 6+0, состоящей из N дисков и G групп типа RAID 6, среднее время до потери данных на ней составит гармоническую сумму двух слагаемых: (MTTF(disk) · MTTF(disk2) · MTTF(disk3))/(N · (G – 1) · (G – 2) · MTTR2(disk)) – отказ двух дисков в группе, и (MTTF(disk) · MTTF(disk2))/(N · (G – l) · (l – (l – p(disk)))G–2 · MTTR(disk)) – отказ диска и невосстановимая ошибка при чтении. В работе [5] Дж. Элиресом было показано, что модель надежности на основе Марковских цепей недостаточно точно и полно описывает процессы, происходящие в современных дисковых подсистемах, была предложена методика моделирования, основанная на последовательном моделировании методом Монте-Карло, и приведено описание применения данной модели к RAID 5. К недостаткам традиционной модели надежности можно отнести то, что отказы накопителей на жестких магнитных дисках в реальности не описываются пуассоновским процессом, частота отказов может увеличиваться или уменьшаться, не является константой по времени и зависит от конкретных моделей HDD. Отказы RAID-массивов также некорректно описывать однородными пуассоновскими процессами; в большинстве моделей не учитывалось наличие скрытых ошибок; логика работы реальных RAID-систем учитывалась неправильно с учетом появления и взаимовлияния скрытых ошибок и функциональных сбоев. Элирес показал, что применение традиционного подхода на основе цепей Маркова для современных дисковых подсистем, дает сильно завышенные (оптимистичные) результаты для оценки среднего времени до отказа системы. В его работе также приводятся типичные распределения плотности вероятности по времени до появления функциональных сбоев в жестких дисках, восстановления дисковых подсистем, появления и исправления скрытых ошибок на основе распределения Вейбула, которые также используются в данной работе. В данной работе авторами была построена модель надежности по методике, предложенной в [5], для массива уровня RAID 6, состоящего из N+2 дисков. Основные состояния, в которых может находиться данная система, представлены на рис. 1. В состоянии 0 система находится в полностью рабочем состоянии, из которого может перейти в состояние 1 – на одном из дисков произошла скрытая ошибка и 2 – на одном из дисков Оценка надежностных характеристик RAID-массивов произошел функциональный отказ. В случае, если диск со скрытой ошибкой откажет полностью, например, при превышении S.M.A.R.T. параметров, то система из состояния 1 перейдет в состояние 2. Аналогично система в случае дальнейшего появления скрытых ошибок на других накопителях или их отказе может перейти в следующие промежуточные состояния: 3 – на одном из дисков произошла скрытая ошибка и на другом – функциональный отказ или 4 – на двух дисках произошел функциональный отказ. При дальнейшем отказе оборудования RAID-массив перейдет в состояние потери данных: 5 – на одном из дисков произошла скрытая ошибка и на двух других – функциональный отказ; 6 – на трех дисках произошел функциональный отказ. Потенциально подобная система может находиться еще в ряде состояний (например, двойные и тройные скрытые ошибки, попавшие в одну и ту же группу восстановления), но так как вероятность подобного крайне мала, то они исключены из модели. 1 g(N+2,D(Ld)) g(N+1,D(O p)) g(N,D(Op)) 3 5 g(D(Scrb)) g(X,D(Op)) g(D(Scrb)) g(N+2,D(Op)) 0 g(X,D(Op)) g(D(Scrb)) g(N+1,D(Ld)) g(D(Rst)) g(N+1,D(Op)) 4 2 6 g(N,D(Op)) g(D(Rst)) Рис. 1. Упрощенная модель состояний RAID 6 из N+2 накопителей Рассматриваемая система может перейти из состояний деградации в состояния полной работоспособности в случае, если будут заменены отказавшие компоненты (переходы из 4 в 2 и из 2 в 0) или в процессе «скрабинга» будут обнаружены скрытые ошибки (переходы из 3 в 1, из 3 в 2 и из 1 в 0). За переход из одного состояния в другое отвечают следующие распределения плотности вероятности возникновения события от времени: D(Op) – функциональный сбой, D(Ld) – появление скрытой ошибки, D(Rst) – восстановление после функционального сбоя; D(Scrb) – обнаружение и исправление скрытой ошибки. Считается, что данные события отказов не связаны друг с другом. Примеры некоторых из перечисленных выше распределений, применяемых в работе, приведены на рис. 2. Например, из распределения плотности вероятности для события восстановления видно, что оно имеет нижнюю границу для рассматриваемой дисковой подсистемы в 6 часов. Следует отметить, что последнее допущение не всегда верно для реальных систем, так как возникновение функциональных отказов и скрытых ошибок может быть обусловлено действием некоторых системных факторов, таких, как перегрев, вибрации, сбои в электропитании, превышение паспортных нагрузок на носители и т.п. Так что возникновение нештатной ситуации с одним из накопителей в среднем повышает вероятность возникновения нештатных ситуаций и на других. Более того, переход системы в режим деградации в случае функционального отказа повышает нагрузку на все остальные диски в RAID-системе. Подобное поведение дисковых подсистем не рассматривается в работе Элиреса и является развитием предложенной им модели надежности дисковых подсистем. Оценка надежностных характеристик RAID-массивов f, 10–6 f а 1,6 б 0,06 1,2 0,04 0,8 0,02 0,4 0,0 0 0,0 0,6 1,2 t, 106 ·час 0 15 30 t , час Рис. 2. Распределение Вейбула для плотности вероятности событий функционального отказа накопителя (а) и восстановления после функционального отказа (б) от времени Моделирование проводилось в специально разработанной авторами среде, которая позволяет проводить моделирование надежностных параметров дисковых систем с любой конфигурацией. По полученным результатам был получен ряд зависимостей, в том числе зависимость количества отказов от времени, приведенная на рис. 3. Полученные данные для RAID 5 совпали с результатами, приведенными в работе [5], что говорит о правильности реализации модели надежности. N, кол. RAID 5 RAID 6 120 60 0 0 3 6 t, 105·час Рис. 3. График зависимости количества отказов систем RAID 5 и RAID 6 от времени моделирования в 1000 экспериментов Полученные данные для RAID 6 ближе к статистическим данным, накопленным за время использования систем хранения данных, использующих данный уровень, чем величины, полученные с использованием расчетов методом цепей Маркова для классической упрощенной модели, что говорит о большей адекватности, предлагаемой в данной работе модели надежности. СПИСОК ЛИТЕРАТУРЫ 1. Hafner J. L., Deenadhayalan V., Belluomini W. et al. // IBM Journal of Research and Development. 2008. V. 52. № 4/5. P. 431. 2. Elerath J. // Communication of ACM. 2009. V. 52. No. 6. P. 38. 3. Chen M. P., Lee E. K.,Gibson G. A. et al. // ACM Computing Surveys. 1994. V. 26. I. 2. P. 352. 4. Whitington W. // Desktop, Nearline & Enterprise HDDs [Электронный ресурс]. – Режим доступа: http://www.snia.org/education/tutorials/2008/spring/storage/ 5. Elerath, J.G. Reliability model and assessment of redundant arrays of inexpensive disks (RAID) incorporating latent defects and non-homogeneous Poisson process events: Ph.D. dissertation, Department of Mechanical Engineering, University of Maryland, 2007.