Существующие механизмы обеспечения максимальной доступности в решениях ведущих производителей СХД

Данный материал подготовлен для компании ЛАНИТ в 2016 году

Москва 2016


Введение

Современные информационные системы размещают информацию на системах хранения данных (СХД). Консолидация сервисов по хранению данных на специализированном оборудовании дает возможность разгрузить процессоры вычислительной подсистемы от непрофильной нагрузки, обеспечить параллельный доступ к данным от множества подсистем, эффективно использовать ресурсы хранения. С другой стороны, СХД становится единой точкой отказа, и ее сбой может привести к остановке всех ИТ-сервисов.

Одним из основных параметров информационных систем, определяющим возможность их бесперебойной работы, является доступность. Доступность определяется как процент времени эффективной работы системы. Например, доступность 99,999% говорит о том, что система выполняет полезную нагрузку с суммарным простоем не более 5 минут и 15 секунд за год. Доступность системы в целом определяется доступностью отдельных ее компонент. Таким образом, немаловажную роль играет доступность СХД.

Какими средствами и методами повышается доступность?

В первую очередь необходимо сказать о резервировании. Все функциональные элементы должны иметь резерв, чтобы система не имела единой точки отказа (SPOF – single point of failure).

Следующим шагом является автоматизация процедур переключения на резервные элементы (failover) и восстановления исходного состояния после ремонта (failback). Для особо критичных элементов, например, блоков питания и контроллеров, создаются отказоустойчивые схемы, которые позволяют переключаться на резерв без прерывания работы остальных компонент.

Применение технологий самолечения позволяет еще более повысить доступность СХД. К таким технологиям можно отнести предиктивный вывод из строя сбойных компонент, новые способы защиты от сбоев дисков с быстрым перестроением RAID, минимизация времени синхронизации данных между СХД после обрыва связи и др.

Высокая доступность может обеспечиваться на разных уровнях:

  • высокая доступность самой СХД;
  • на уровне доступа к данным в рамках одного или нескольких ЦОД расположенных на «синхронном» удалении друг от друга;
  • доступность сервисов хранения данных для географически-распределенных систем с использованием технологий асинхронной репликации.

Обеспечение доступности в рамках одной СХД

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

Традиционно на рынке СХД общего назначения основную нишу занимают системы традиционного дизайна со спаренными контроллерными модулями и их вариации. Отличительными особенностями архитектуры данных систем можно назвать следующие решения:

  • СХД общего назначения построены с возможностью отработки единичного отказа в любом компоненте. От отказа жесткого диска система защищена путем использования технологи RAID или ее функциональных аналогов;
  • большинство систем среднего уровня реализуют механизмы прозрачного контроля целостности. С момента получения блока данных ему присваивается контрольная сумма, которая сравнивается на каждом этапе обработки , что исключает порчу информации в случае возникновения аппаратных или программных ошибок;
  • несколько независимых путей доступа сервера к накопителю. На сегодняшний день у каждого дискового модуля имеется два интерфейсных порта, каждый из которых подключается к своему набору системных компонент: внутренняя шина, вычислительный модуль, кэш память, интерфейсный модуль. На уровне сети хранения данных используются независимые фабрики, а в серверы устанавливаются не менее двух адаптеров;
  • зеркалирование данных в кэш-памяти. В любой момент времени все данные переданные сервером в кэш-память СХД имеют резервную копию либо на кэш-памяти парного контроллера, либо уже записаны на энергонезависимые накопители системы. Процедура записи на СХД может выглядеть следующим образом: сервер передает данные в кэш контроллера, данные зеркалируются, и только после этого сервер получает ответ, что данные записаны. Таким образом, если произойдет сбой в момент резервирования данных сервер будет об этом уведомлен и после разрешения проблемы повторит отправку сбойного блока и ни один блок не будет потерян. В свою очередь, от сбоя питания кэш на запись защищается батареями.

Немного по-другому обстоят дела с системами уровня предприятия (Enterprise Storage). Массивы среднего уровня стремительно догоняют старшие линейки по функционалу, емкости и производительности, а системы высшего класса упрощают свою архитектуру становясь более похожими на СХД общего назначения. Но не смотря на эти тенденции легко выделить отличительные черты систем высшего уровня:

  • модульная коммутируемая архитектура. Системы часто построены по принципу единого коммутатора, объединяющего различные компоненты. Например, все вычислительные модули связаны со всеми модулями кэш-памяти и со всеми контроллерами дисков. Данное решение позволяет гибко наращивать систему, равномерно распределять нагрузку и нивелировать влияние сбоев любых компонент;
  • расширенный функционал отработки отказов, нацеленный в первую очередь на обеспечение сохранности данных и доступа к ним. Часто производители ограничивают набор операций доступных пользователю с целью исключения возможности реализации риска сбоя в случае некомпетентного ремонта или снижения надежности в случае неверных настроек.

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

  • технология RAID была разработана в 1987 году и на текущий момент является одним из основных слабых мест традиционных СХД. При использовании СХД с большим количеством дисков, существует ненулевая вероятность одновременного выхода из строя нескольких накопителей. Время, затрачиваемое на восстановление в случае выхода из строя накопителя, довольно существенно, и процесс перестроения RAID на диски горячей замены сопровождается снижением производительности системы. В деградировавшем состоянии массивы RAID подвержены влиянию невосстановимых ошибок чтения (Unrecoverable read errors (URE)) накопителей. Например, стандартом для серверных дисков является возможность пропуска ошибок c вероятностью не более 10-15. Это означает что каждые 125 ТБ может появиться один нечитаемый бит информации, что может повлечь потерю данных в деградировавшем RAID массиве;
  • традиционно в системах использовались два активных контроллера, что было обусловлено высокой стоимостью процессоров. При текущей цене на компоненты становится возможным строить системы по схеме Active/Active/Active для обоснованного повышения производительности и надежности при сохранении совокупной стоимости владения;
  • в связи со снижением цен на аппаратное обеспечение, проприетарные уникальные решения, обеспечивавшие в прошлом преимущество по сравнению с использованием стандартных компонент, сейчас отрицательно сказываются на стоимости конечного продукта и времени вывода на рынок нового функционала. Системы, построенные на компонентах широкого применения, в основе которых лежат программно-определяемые решения, позволяют заказчикам достичь лучшего сохранения инвестиций, а производителям сократить затраты, увеличить скорость вывода нового функционала на рынок и удержать существующих клиентов.

Высокая доступность СХД в одном ЦОД или здании

В случаях, когда надежности одной СХД недостаточно, и требуется создать систему устойчивую к любым аппаратным сбоям, стоит рассмотреть подсистему хранения данных, основанную на двух зеркалируемых системах хранения данных в одном ЦОД или кампусе.

На текущий момент технологии, обеспечивающие зеркалирование данных в одном ЦОД или кампусе, можно разделить на следующие категории:

  • использование виртуализации СХД;
  • создание зеркала на уровне операционных систем или гипервизоров;
  • расширение технологий репликации данных путем добавления функционала автоматического переключения на резервную СХД.

Технологии виртуализации СХД. Данный класс систем основывается на механизмах подключения СХД к системе виртуализации, которая является дополнительным слоем абстракции между сервером и дисковым массивом. Виртуализатор расширяет функционал СХД, и снимает ограничения на модель используемых дисковых массивов. Это позволяет проводить зеркалирование и миграцию данных между СХД различных линеек и производителей. Как пример можно привести следующие успешные решения:

  • EMC VPLEX
  • IBM Spectrum Storage (на основе IBM SVC)
  • HDS SVOS (Storage Virtualization Operation System)

Стоит отметить следующие преимущества применения данной технологии:

  • «прозрачное» для серверов подключение к системам хранения разных линеек и производителей;
  • возможность увеличения производительности за счет ресурсов виртуализатора и/или распределения нагрузки между несколькими СХД;
  • увеличение гибкости системы в целом за счет появляющейся возможности проводить замену и реструктуризацию СХД без прекращения доступа к данным.

Зеркало на стороне сервера. Не является частью системы хранения данных, но с некоторыми ограничениями позволяют решить поставленную задачу защиты от выхода из строя одной СХД. Такая защита может быть реализована следующими способами:

  • программный RAID-массив с успехом можно использовать для резервирования DAS (Direct Attach) дисковых полок и блочных систем хранения данных через SAN;
  • менеджер томов (LVM). Менеджеры томов в современных ОС часто поддерживают только один уровень резервирования – зеркало с двумя и более копиями;
  • файловые системы (ZFS, btrfs). Современные файловые системы, основанные на структуре b-деревьев, в виду архитектурных особенностей имеют возможность создания неограниченного количества мгновенных снимков, поддерживают объектный уровень репликации данных, и аналоги программных RAID с одним, двумя и более блоками четности;
  • специализированное ПО файловой репликации производит синхронизацию файлов после изменения вне зависимости от их расположения и принадлежности к СХД;
  • средства приложений. Большинство бизнес-критичных приложений, например, базы данных, обеспечивают функционал защиты данных путем дублирования записи.

Но не стоит забывать о накладываемых такими решениями ограничениях:

  • защита данных должна настаиваться на каждом сервере или гипервизоре индивидуально, что усложняет администрирование и обнаружение источников возможных проблем;
  • зеркалирование задействует часть аппаратных ресурсов сервера, на которых могла бы выполняться полезная нагрузка. Данный аспект играет особую роль когда заходит речь о совокупной стоимости владения ПО лицензируемым по ресурсам сервера, например по CPU;
  • некоторые технологии СХД, например, загрузка по сети хранения данных (boot from SAN), могут перестать работать, либо стать необоснованно сложными в реализации.

Расширение функционала репликации данных. Традиционное использование функционала репликации данных подразумевает приостановку доступа к данным при переключении на резервный массив. Причем ограничение на доступ к данным возникает независимо от того произошел ли сбой основной СХД или переключение осуществляется по команде администратора. Для ряда современных СХД были разработаны технологии, позволяющие осуществить переключение на резервный массив без остановки доступа к данным, т.е. сделать процесс переключения минимальным по времени и не требующим переключения серверов на работу с «новой» СХД. Приведем примеры подобных решений:

  • HPE 3par PeerPersistence. Данный функционал позволяет организовать катастрофоустойчивые решения на базе дисковых массивов HP 3par и ПО виртуализации VMWare, Microsoft Hyper-V. Данный программный продукт выполняется на дисковом массиве, и используется в связке со встроенной репликацией данных. Peer Persistence обеспечивает «прозрачное» для хост-сервера аварийное переключение дисковых массивов, например, в случае выхода из строя одной из площадки. В отличие от решения обеспечения отказоустойчивости средствами VMware, Peer Persistence позволяет произвести переключение без перезагрузки виртуальных машин или какого-либо ручного вмешательства;
  • уникальная на сегодняшний день технология от Hitachi Data Systems – Global Active Device (GAD) позволяет создавать виртуальные системы хранения данных, обладающие собственными уникальными WWN. Данная сущность прозрачно для сервера может быть перемещена между физическими системами хранения HDS класса VSP G. Данный функционал обеспечивает резервирование СХД вне зависимости от используемой операционной системы или конфигурации сервера.

Высокая доступность сервисов хранения для распределенных систем

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

На сегодняшний день, в качестве резервной площадки могут использоваться как собственные удаленные ЦОДы, так и ресурсы, предоставляемые провайдерами облачных сервисов. Во втором случае, интерес представляют решения производителей СХД, которые позволяют реплицировать данные между собственными системами хранения и виртуальными СХД, предоставляемыми провайдерами услуг.

При копировании данных на большие расстояния значительно возрастают задержки, связанные с тем, что скорость распространения световых и электромагнитных волн конечна. На расстояниях, превышающих 100 км, как правило, применяется асинхронная репликация данных. Асинхронная репликация, с одной стороны, позволяет работать без существенных задержек на основной площадке независимо от удаления резервной, а, с другой стороны, выдвигает дополнительные требования к механизму определения и передачи изменившихся блоков данных. Это связано с необходимостью обеспечить crash-consistent состояние данных на резервной СХД при сбое на основной площадке. Рассмотрим основные способы определения изменений, используемые в территориально-распределенных решениях:

  • мгновенные снимки сохраняют в отдельной области список изменившихся блоков, которые передаются по расписанию на удаленную систему;
  • репликация изменившихся блоков, позволяет осуществлять передачу данных с максимально возможной скоростью канала связи, не дожидаясь следующего окна репликации;
  • объектная репликация обладает преимуществом при работе с небольшими объектами. Объект копируется на резервную систему целиком при изменении его свойств. Данный метод используется в основном на файловых и объектных системах хранения. С СХД снимается нагрузка по изменению содержимого файла и снижается вероятность ошибки при корректировке содержимого файла. Прирост производительности по сравнению с блочной репликацией достигается за счет уменьшения объема служебной информации по отношению к передаваемым данным. В современных системах часто можно встретить гибридный метод, сочетающий в себе блочную и объектную репликацию. Для файлов больше определенного размера передаются только измененные блоки, это актуально для репликации, например, образов виртуальных машин или больших файлов, в которые вносятся незначительные изменения.

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

Заключение

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

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

Из основных подходов были выделены решения нацеленные на устранение возможности отказа системы в случае выхода единичных компонент, защиты от неконтролируемого повреждения информации.

Был рассмотрен портфель решений призванный оградить заказчиков от последствий потери системы хранения данных целиком в случае серьёзного аппаратного сбоя или ошибки администрирования.

Приведены подходы построения территориально распределенных систем хранения, обеспечивающих наивысшую степень надежности и используемых в подходах обеспечения непрерывности ИТ сервисов.

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