Самовосстанавливающиеся накопителиРазвитие систем хранения данных происходит сейчас под влиянием взаимодополняющих факторов. С одной стороны, в устрашающих пропорциях растут объемы, которые нужно хранить, а с другой — начинают широко распространяться различные массивы на недорогих терабайтных SATA-дисках. Все это сформировало необходимые и достаточные условия для появления неизвестной прежде рыночной ниши, образованной в диапазоне от скромных систем хранения, насчитывающих 8-15 шпинделей, до гигантских систем, способных хранить петабайты данных.

Поначалу казалось, что наметившийся путь развития продолжится за счет экстенсивного увеличения размеров, поэтому, откликаясь на запросы массовых пользователей, подавляющее большинство производителей избирало для себя банальный подход к созданию накопителей. Просто берется коробка JBOD (Just a Box Of Drives), дополняется нужным числом контроллеров RAID и, пожалуйста, накопитель готов. Слабостью к упрощению страдают и мелкие компании, и ведущие поставщики, однако история технологий свидетельствует о том, что любой количественный рост неизбежно сопровождается непредвиденными техническими сложностями, он не может оставаться линейным слишком долго. В данном случае возникли сложности с эксплуатацией больших массивов: технологии, обеспечивающие надежность и готовность хранения на корпоративных системах хранения, рассчитанные на высокие скорости и относительно скромные объемы (диски SCSI и Serial Attached SCSI, RAID-массивы), не могут быть напрямую перенесены на гигантские по своей емкости массивы на дисках SATA. Например, если выходит из строя диск емкостью 1 Тбайт, то никакой RAID не сократит время, необходимое на восстановление, к тому же замена дисков чревата операторскими ошибками.

Параметры современных дисков не сбалансированы. Их размеры измеряются терабайтами, но восстановление методами RAID одного терабайтного диска может занять десятки (!) часов. В то же время, если вам потребуется высокая производительность, то придется ограничиться дисками не более 73 Гбайт и использовать десятки или даже сотни дисков, что увеличивает вероятность отказа.

Неоправданно высокое число замен дисков вызывается тем, что чаще всего пользователи диагностируют диски SATA как неисправные, в то время как на самом деле они могут работать и далее. Статистика показывает, что свыше 75% дисков, возвращаемых производителю, на деле оказываются работоспособными. Причина в том, что программное обеспечение RAID и традиционное управление вводом/выводом в операционных системах не умеют задействовать в полной мере возможности, заложенные в контроллерах дисков. Современные контроллеры «умнее», чем о них думает программа, они имеют процессор, равный по мощности VAX 11/780, однако их потенциал не востребован.

Несколько компаний, среди них Copan Systems и DataDirect Networks, пытаются реализовать потенциал контроллеров, предлагая свои умеренно сложные, но все же более «умные» решения. Однако, как подлинные инноваторы, реального успеха добились всего две компании, чьи решения отличаются радикальной новизной, в данном случае речь идет не о количестве проданных устройств, а о техническом совершенстве. Одна из них — компания Xiotech, давно работающая в области систем хранения, другая — стартап, Atrato, совсем недавно вышедшая из так называемого «невидимого режима». По оценке Робина Харриса, аналитика из Data Mobility Group, ни Xiotech, ни Atrato не пытаются, как все остальные, набить ящики дисками, они взяли на себя смелость переосмыслить задачу и предложить для нее собственное решение. Своим происхождением обе компании так или иначе обязаны производителю дисков Seagate, причем они разумно делят сферы влияния. Компания Xiotech работает на корпоративный рынок, а Atrato ориентирует свои продукты на поставщиков медиаконтента и супервычисления. С инженерной точки зрения их объединяет идея создания таких дисковых массивов, которые обладают развитой системой самоуправления и способны к автоматической замене вышедших из строя дисков, это качество принято называть «самолечением» (self healing), а соответствующую архитектуру — SAID (self-maintaining array of identical disks, «массив идентичных дисков с самоуправлением»). Заранее, чтобы избежать недоразумений, отметим, что хотя аббревиатура SAID и похожа на RAID, перед нами явления совершенно разной природы. Технология SAID служит для виртуализации дискового пространства, а RAID — для организации избыточности, необходимой для восстановления данных в случае выхода дисков из строя Они не исключают, а взаимно дополняют друг друга, RAID может быть наложен поверх SAID.

Решения от Atrato

Можно ли надежно хранить 50 Тбайт в боксе высотой всего 3U? Да, если этот бокс будет называться Atrato V1000, причем скорость обмена может достичь величины 11 тыс. IOPS (Input/Output operations Per Second), что на порядок выше, чем у любого из известных устройств. Кстати, на высокую производительность указывает и название компании — колумбийская река Рио-Атрато сбрасывает 5 тыс. кубометров воды в секунду — это одна из самых «производительных» рек в мире.

Рекордных показателей Atrato смогла добиться за счет сочетания двух вещей: более плотной упаковки дисков в конструктиве и оригинальной технологии виртуализации, которая обеспечивает в том числе и самолечение, и, как следствие, возможность такой плотной упаковки. Обе вещи взаимосвязаны — плотная упаковка невозможна без виртуализации, а виртуализация имеет смысл, если есть достаточный для нее объем хранения.

В обычных системах из-за необходимости выполнять замену все диски так или иначе должны быть выведены на лицевую панель стойки, то есть, условно говоря, количество дисков, которое может быть упаковано в стойку, определяется делением общей площади лицевой панели на площадь одного диска. Чаще всего диски располагают вертикально (рис. 1), но, вообще говоря, горизонтальная установка предпочтительнее с точки зрения надежности, охлаждения и особенно удобна при использовании 2-дюймовых дисков. Вне зависимости от того, какая схема применяется — горизонтальная или вертикальная, внутреннее пространство стоек, как нетрудно заметить из рис. 1, пропадает — его невозможно использовать, поскольку в него нельзя обеспечить доступ для замены дисков. Но, если сделать дисковый массив необслуживаемым, если замена не нужна, то можно занять все пространство стойки под диски, именно такое решение предлагает Atrato. В одной полке высотой 3U можно разместить до 192 дисков, сейчас же помещается не более 160.

Сравним, что же можно разместить в одной стойке при разных способах упаковки. Если очень грубо, то из общей высоты стойки 44U на полки с дисками по максимуму можно выделить 39U, то есть 13 полок. В таком случае при использовании 3-дюймовых полок можно разместить 16х13=208 дисков, при переходе к 2-дюймовым дискам с передней заменой их может быть 36х13F8, а при упаковке по Atrato получим 160х13=2080. Для первого варианта превышение на порядок, для второго — более чем в 4 раза. Если учесть, что в конструкции с самолечением примерно 15% дисков нужно зарезервировать под замену, осуществляемую механизмами виртуализации, и полное зеркалирование, то в одной полке при использовании дисков 1 Тбайт можно хранить примерно 50 Тбайт данных.

Компактность размещения дает целый ряд дополнительных преимуществ по части производительности. Очевидно, что большее распараллеливание операций между большим числом шпинделей уменьшает задержку, вызываемую физической природой дисков, — для того, чтобы начать чтение или запись, нужный сегмент должен оказаться под головкой. Эффективнее обрабатываются «скученные» запросы (I/O burst), при этом повышается и скорость обмена. Кроме того, срабатывает кумулятивный эффект, вызванный суммированием кэш-памяти отдельных дисков.

Все перечисленные достоинства обеспечиваются тем, что диски на протяжении всего жизненного цикла системы хранения не меняются, неисправные просто выводятся из эксплуатации, это решение называют Fail-In-Place Design, то есть «упавший остается на месте», иногда используют термин Fail Freeze, «упавшего заморозить». Метод Fail-In-Place Design является альтернативой замене в полевых условиях (Field Replaceable Units, FRU). Любопытно, что он не часто встречается в технике, разве что при производстве полупроводниковых чипов, дисков, иногда мониторов, но весьма распространен в живой природе. В какой-то мере он является отражением бионических принципов. А по сути, руководящая мысль очень проста: если мы эксплуатируем традиционную систему с горячей заменой, то в любом случае 15-20% ее емкости должно находиться в виде резерва, используемого при возникновении неисправности. Но что, если не держать эти диски мертвым грузом в шкафах, а включить их в состав системы? Тогда при возникновении неисправности можно будет воспользоваться этим активным резервом, изменив схему виртуализации, а далее вывести неисправный диск из эксплуатации, происходит своего рода отмирание тканей.

Текущий уровень надежности дисков SATA позволяет для решения от Atrato при имеющемся запасе резервных дисков гарантировать трехлетнюю эксплуатацию системы в режиме 24/7/365 без вмешательства персонала. Функции персонала выполняет механизм AVE (Atrato Virtualization Engine), обеспечивающий операции Fail-In-Place Design и поддержку режимов RAID-50 или 60, что гарантирует стопроцентную сохранность данных на протяжении всей эксплуатации устройств. AVE позволяет отказаться от резервирования на уровне дисков (один физический диск заменяется другим) в пользу виртуального резервирования, когда резервная емкость, например, в размере 15% всего пространства распределена по дискам. До тех пор пока она не использована, большее распараллеливание хранения способствует повышению скорости работы, но по мере деградации системы эта емкость задействуется, что в конечном итоге приведет к 15%-ному снижению скорости работы, и только. Для управления AVE используется сложный эвристический алгоритм, учитывающий характеристики дисков, их расположение, приписанный ранг и др.

Кроме того, AVE выполняет постоянный мониторинг дисков, учитывающий, например, то, что хотя SATA имеют более низкие характеристики надежности, чем диски SCSI, однако профилактика продлевает срок их жизни. В итоге при достаточно скромных показателях среднего времени между отказами (Mean time between failures, MTBF) в системах Atrato среднее время между потерями данных (Mean time to data loss, MTTDL) может, в зависимости от числа дисков и схемы RAID, быть на порядки ниже. Действительно, если N — число дисков, а Mean Time to Repair (MTTR) — среднее время восстановления, то для:

RAID-0 MTTDL = MTBF N;
RAID-1, RAID-5 MTTDL =
MTBF2/(N*(N-1)*MTTR);
RAID-6 MTTDL =
MTBF3 / (N * (N-1) * (N-2) * MTTR2).

Для повышения надежности в системах хранения Atrato реализуется подход FDIR (Fault Detection, Isolation, and Recovery — обнаружение ошибки, изоляция и восстановление), применяемый при подготовке космических станций и зондов, где возможность обслуживания по понятным причинам исключена. Суть его в том, что при обнаружении неисправности предпринимается попытка каким-то образом заменить вышедший из строя узел за счет имеющегося резерва. До сих пор в системах хранения методика FDIR не применялась — накопители Atrato представляют собой первую попытку перенесения FDIR на устройства SAN/NAS.

Для реализации FRID используется комплекс технологий мониторинга, преимущественно применяемых в хранилищах корпоративного уровня, среди них SES (SCSI Enclosure Services), S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology, чаще пишут SMART) и SCSI sense data. Для обнаружения и изоляции ошибок AVE использует множество сенсоров, которые не только фиксируют неисправность, но и контролируют пропущенные сообщения об ошибках и исключают ложные срабатывания. Изоляция в системах хранения не представляет сложностей, гораздо серьезнее процесс восстановления, который включает в себя попытки восстановления физических ресурсов и необходимую миграцию данных. Для этого AVE может использовать тесты SMART и даже вернуть часть дискового пространства в активный фонд NFF (no failure found). Это становится возможным потому, что AVE интеллектуальнее дисковых контроллеров SATA, которые не умеют с нужной степенью детальности анализировать ошибки, сводя все к ответам «да» и «нет».

И наконец, резервирование. Для этого могут быть использованы самые разные способы организации дисковых массивов, от RAID-0, который не обеспечивает восстановления, но позволяет использовать все 100% дискового пространства, до RAID-10(2) и RAID-10(3), имеющих двойную и тройную защиту, но поглощающих на это от 50 до 65% пространства.

Единственным продуктом Atrato пока является накопитель V1000, в первую очередь предназначенный для поставщиков видео по запросу, его можно сравнивать с такими устройствами, используемыми сегодня на телевидении, как Seachange MDS201, Seachange FMS200 и Broadbus B. Испытания показали, что V1000 превосходит их по всем показателям, от компактности и энергопотребления до надежности. Особый интерес представляет использование V1000 в сочетании с мощными вычислительными кластерами — возможность работы с практически неограниченными объемами доступных данных открывает, например, новые перспективы для бизнес-аналитики или научных исследований.

Рис. 3. Интегрированный элемент хранения ISE Xiotech

Решения от Xiotech

В отличие от Atrato интересы компании Xiotech сосредоточены на традиционных приложениях, прежде всего базах данных, поэтому ее деятельность сосредоточена на дисках SCSI.

Дисками набиваются «тупые» ящики, разнообразие RAID-массивов сводится к вариантам интерпретации простого последовательного хранения данных, и, как следствие, данные хранятся достаточно надежно, но восстановление слишком сложно, а по мере роста объема дисков становится проблематичным. Контроллеры дисков перегружены, на них свалили управление RAID-массивами, статическим кэшем, резервированием, восстановлением, диагностикой Fibre Channel Arbitrated Loop (FC-AL) и многое другое. В результате, несмотря на мощность встроенных процессоров, у них не остается вычислительных ресурсов для поддержания реальных задач бизнеса. В качестве средства для выхода из сложившейся ситуации предлагается еще один, не существовавший прежде уровень конструктивного решения с не нуждающимся в переводе названием Intelligent Storage Element (ISE). При его проектировании были переосмыслены все системы хранения, и диски, и среда, в которой они находятся. Благодаря этому надежность хранения повышена в 100 раз, что позволяет Xiotech дать пятилетнюю гарантию на ISE. За счет чего?

Конструктив ISE позволяет до минимума снизить вибрацию и температуру — это основные причины, по которым диски реально выходят из строя, а ISE соответствует рекомендациям ANSI T10-DIF. Стандарт T10 Data Integrity Field, принятый в 2003 году, регламентирует процессы обнаружения практически всех возможных ошибок при обмене с дисками. Он предполагает три дополнительных типа самовосстановления на основе сравнения содержания физических, логических и виртуальных блоков данных.

На протяжении десятилетий действует одна и та же схема создания систем хранения: три их основных компонента — диски, конструктив и контроллеры — проектируются и производятся независимо друг от друга, они должны быть совместимы, поскольку используются разными производителями. На первый взгляд это хорошо, особенно если учитывать, что теперь это принято называть коммодитизацией, однако выгодная для производителей сборка из готовых комплектующих снижает качество изделия с системной точки зрения. В ISE все эти три компонента тесно интегрированы, плюс к этому под них сделано программное и аппаратно-программное обеспечение. ПО, входящее в состав ISE, построено на базе системы резервирования, заимствованной из grid, — Redundancy Allocation Grid System (RAGS). Ее главное достоинство в ускорении доступа к данным и сокращении времени, затрачиваемого на восстановление.

Конструктивно ISE, входящий в состав систем хранения Emprise 5000 и Emprise 7000, представляет собой полку высотой 3U, в которой установлено до двух герметизированных пакетов DataPac, каждый на восемь 3-дюймовых дисков, но есть версии с 10 дисками или с 20 двухдюймовыми. Помимо них в ISE входят системы питания и охлаждения, контроллеры и батарея, обеспечивающая сохранность данных на протяжении 96 часов. В состав ISE входят также средства, поддерживающие дистанционную диагностику, — Xiotech контролирует условия эксплуатации каждого из выпущенных ею устройств. Например, если в составе системы оказались диски, не рассчитанные на интенсивную эксплуатацию, а на них установили СУБД, то такая ситуация будет обнаружена, и пользователь получит предупреждение о нарушении регламента.


Рис. 1. Традиционная упаковка 3-дюймовых дисков в стойке

Рис. 2. Конструкция, предложенная Atrato