На протяжении всего 2008 года высшее руководство компании EMC интриговало общественность обещаниями выпустить в свет два таинственных продукта под условными названиями Hulk и Maui. Из того немногого, что было предано гласности, складывалось представление, что за Hulk скрывается не совсем обычный кластерный сетевой накопитель NAS, скорее всего адаптированный к требованиям Web 2.0 и к облачным вычислениям, а за Maui— соответствующее Hulk программное обеспечение. Несмотря на небольшую задержку, обещания полностью оправдались — в ноябре занавес открылся, и публике было представлено совершенно оригинальное семейство устройств, названное не без претензии Atmos (атмосфера) и объединившее в себе и Hulk, и Maui.

Следует отметить, что объединение Hulk и Maui в один аппаратно-программный комплекс не является обязательным, потому что между этими двумя составляющими нет жесткой связи — используются стандартные интерфейсы Web-сервисов. Видимо, на данный момент с рыночных позиций и по каким-то иным причинам для EMC представляется более разумным поступить так, но не исключено, что со временем та часть Atmos, которая существовала на проектной стадии как Maui, будет выпущена в виде отдельного программного решения. Пока же, следуя сделанному объявлению, будем называть и считать Atmos законченным устройством, которое открывает собой новый класс систем хранения, специальным способом оптимизированных для работы в облаке, — COS (Cloud-Optimized Storage).

Облачная память

Появление устройств, обеспечивающих хранение данных в облаках, предсказывалось, но до появления Atmos использовалось иное название — CBS (Cloud Based Storage). Переход на хранение в облаке вполне закономерен, еще на мэйнфреймах третьего поколения и мини-ЭВМ внешняя память на лентах или на дисках была неотъемлемой частью компьютеров, но постепенно пути развития устройств обработки и хранения стали разделяться (рис. 1) с целью предоставить двум сущностям независимость для развития, масштабирования и управления. На первом этапе, который начался еще в середине 80-х, все ограничивалось обменом данными между приложениями и источниками данных с использованием нескольких технологий. Первым (1983 год) оказался протокол NFS (Network File System), за ним последовал SMB (Server Message Block), изобретенный в IBM, но оставшийся там невостребованным. Позже этот протокол внедрили совместно Microsoft, добавившая к нему свой продукт LAN Manager, и компания 3Com. С 1992 года SMB стал использоваться в Windows for Workgroups и позднейших версиях Windows. В конце 1990-х SMB был радикально переработан и получил новое название CIFS (Common Internet File System).

Рис. 1. Эволюция систем хранения

Перечисленные протоколы обеспечивают доступ к удаленным, но вполне традиционным системам хранения. Развитие Internet открыло возможность для доступа к иной категории систем хранения, которые стали называть «арендуемыми» (hosted). По существу, это те же самые традиционные системы хранения данных, но снабженные шлюзами, обеспечивающими доступ к ним посредством Internet. Для обращения к шлюзам могут быть использованы как универсальные протоколы SCP (Secure Channel Protocol) и FTP (File Transfer Protocol), так и более новые специализированные протоколы. Компания Sun Microsystems недавно предложила Web-версию NFS (WebNFS), а в 2007 году после 10 лет работы консорциум W3C предложил защищенный протокол высокого уровня, работающий поверх HTTP для доступа к объектам и коллекциям WebDAV (Web-based Distributed Authoring and Versioning).

Арендуемые системы хранения лишь в самой малой степени используют возможности Сети (исключительно ее транспортный потенциал), поэтому вполне естественен еще один шаг — перенос систем хранения в облако. Концепцию облачной памяти можно рассматривать как очередную попытку отделить системы хранения от приложений (рис. 2). В общем случае CBS позволяет снабдить приложения и инфраструктуру программным интерфейсом вместе с необходимой семантикой API. Совместно они образуют набор команд, используемых приложением и/или системой хранения, эти команды можно представить в виде самодостаточных, способных к автономной работе Web-сервисов, доступных по HTTP или другому протоколу. Сервисы могут быть интегрированы в облегченное, простое в разработке распределенное приложение. Наличие такого рода сервисов освобождает разработчиков от необходимости создавать сложные прикладные программы и позволяет применять готовые к использованию Web-сервисы и данные. В то же время слабая связанность, обеспечиваемая сервисами, позволяет развивать каждый из компонентов автономно от других, что гарантирует свободу масштабирования. Реализация CBS позволит сократить расходы на хранение данных, повысить надежность и готовность данных, откроет возможности для новых методов доступа к данным.

Рис.2.

 

Кроме EMC к созданию облачных систем хранения ближе всего подошли компании Caringo, Ibrix и Xiotech.

Atmos

Из отдельных устройств Atmos может собираться система, рассчитанная на хранение мультипетабайтных и более объемов данных. Потенциальными потребителями таких систем могут стать поставщики сервисов Web 2.0, а также телекоммуникационные компании и поставщики медийного контента. Однако начальный период будет вполне традиционным — Atmos будет поставляться как отдельное устройство в минимальной конфигурации с тремя объемами хранения — 120, 240 или 360 Тбайт. Географическое положение входящих в систему физических компонентов не имеет значения.

Аппаратное обеспечение Atmos состоит из трех основных частей: серверов, на которых работает ПО Atmos, коммутаторов (1 или 10 Гбит Ethernet) и системы хранения (SAS/SATA). Серверы Atmos поддерживают следующие виды сервисов: сервисы метаданных MDS (Metadata Services), сервисы обнаружения данных с использованием метаданных MDLS (MetaData Location Services), сервисы работ JS (Job Services) и сервисы стратегий PM (Policy Manager). Для этого они калькулируют объекты, осуществляют их хеширование, ведут записи метаданных, готовят метаданные для извлечения данных. Для работы с дисками используются четырехскоростные каналы x4 SAS, имеющие пропускную способность примерно 12 Гбит/с. Диски устанавливаются в конструкцию, которая называется DAE (Disk Array Enclosure) и представляет собой JBOD (Just a bundle of disks, просто куча дисков): массив из жестких дисков, канал Fibre Channel LCC и источники питания. В стойке может быть установлено нужное количество DAE. В дисках реализован режим остановки Spin Down. Очевидно, что ничего радикально нового в аппаратном решении нет, но в этом и состоит его основное достоинство, Atmos по определению не может быть дорогим, а это необходимое условие для создания петабайтного хранилища данных.

Система Atmos спроектирована в подразделении Cloud Infrastructure and Services Division (CISD), причем главными словами, характеризующими отличительные черты Atmos, являются «Стратегия» и «Возможность распределения», то есть возможность реализации стратегии работы с данными и возможность географического распределения отдельных компонентов (рис. 3). Обычная метрика емкости (Тбайт, Мбайт) не может в полной мере характеризовать Atmos, поскольку здесь нет логических устройств (LUN) и не предусмотрена организация RAID-массивов. Кроме того, хранимые данные организованы в виде объектов, сопровождаются метаданными и объединены общим пространством имен (unified namespace). Atmos обладает возможностями самоуправления, может автоматически реагировать на изменения в окружающей среде и в нагрузках, самостоятельно реализует заданную стратегию, в нем отсутствует общая консоль управления.

Рис.3

Создание системы хранения с такими необычными качествами стало возможным потому, что его проектированием руководил Патрик Итон, один из членов команды профессора Джона Кубятовича, работающей над проектами OceanStore (oceanstore.org)и Antiquity. В Atmos Итону удалось на практике частично реализовать замыслы из этих гипотетических проектов. Atmos можно рассматривать в качестве яркого примера того, как теоретическая разработка, полностью лишенная на первый взгляд каких-либо намеков на практическое применение, при известных обстоятельствах может стать основой действующей технологии. Кубятович возглавляет исследовательскую группу в Калифорнийском университете Беркли, которая разрабатывает проект системы хранения данных, рассчитанной на миллиарды пользователей. К ней сможет быть подключен компьютер любого жителя Земли (рис. 4). Основная цель состоит в создании надежной системы, построенной из заведомо ненадежных компонентов.

Рис. 4. Ядро системы OceanStore образуют сообщающиеся между собой пулы данных, пользователь может подключаться временно или постоянно к одному или нескольким из них

Когда-то атмосферу называли пятым океаном, а пилотов — его покорителями, Кубятович же посягнул на создание рукотворного шестого океана — океана данных, отсюда и название «океанское хранилище», способное хранить данные всех жителей Земли. Размер хранилища и вправду океанский, если предположить, что, по самой приблизительной оценке, им будут пользоваться 1010 землян, каждый из которых сможет хранить 104 файлов, следовательно, потребуется хранилище емкостью 1014 файлов. С учетом размеров файлов понятно, что речь идет о йоттабайтном диапазоне. Первые публикации, посвященные OceanStore, появились в начале текущего десятилетия, еще до зарождения идей облачного компьютинга, а развитием этой программы стал проект Antiquity.

Создание OceanStore связано с решением нескольких групп задач: решение проблемы «блуждающих» данных; создание надежной системы из ненадежных элементов; синхронизация изменений, вносимых в данные; системы имен; управление репликацией и многих других. В OceanStore данные не имеют фиксированного местонахождения, но они должны беспрепятственно перемещаться между пулами, поэтому такие данные называют блуждающими. Работа с такого рода данными не имеет ничего общего с обычными файловыми системами, в ее основе лежат «процедуры непрерывного самоанализа» (introspective monitoring), позволяющие собрать необходимую метаинформацию, и так называемое неупорядоченное кэширование. Ближе всего к такой системе файловая система с журналированием XFS, созданная в Silicon Graphics в середине 1990-х для операционной системы IRIX и позже портированная в ядро Linux. Еще одна сложность состоит в том, что по определению компоненты OceanStore не обладают 100%-ной надежностью и нельзя исключить утечку данных, поэтому группа Кубятовича уделяет большое внимание новым подходам к обеспечению надежности и криптографии. Одним из теоретических направлений стала разработка надежных систем на основе задачи о Византийских генералах. Эта образно сформулированная задача была предложена в 1982 году для иллюстрации состояния распределенной системы в случае, когда коммуникации считаются надежными, а процессоры — нет. В Византии предательство было почти нормой, часть генералов по определению нелояльна, задача состоит в том, как должен вести себя честный офицер.

Патрик Итон был активным участником проекта OceanStore, и, говоря о Atmos, он подчеркивает, что его детище является новым еще и потому, что EMC всегда ориентировалась на корпоративных пользователей, готовых к относительно большим удельным затратам на хранение данных, но для обслуживания массовых пользователей необходим принципиально иной подход, с принципиально иными ценами. В этом и состоит главное отличие систем хранения эпохи Web 2.0. Кроме того, в Atmos обеспечивается поддержка определяемой пользователем стратегии (иногда ее еще не вполне корректно называют политиками) хранения данных. При проектировании Atmos серьезное внимание было уделено также свойству multitenancy — так в SaaS обычно называют предоставление возможности обслуживать с помощью одного и того же приложения множество клиентов.

От OceanStore Atmos унаследовал основные фамильные черты. В нем нет ни логических устройств (LUN), ни защищенных массивов RAID, а есть только объекты и метаданные. Типам объектов могут быть предписаны определенные стратегии. Наличие метаданных позволяет пользователю расставлять метки (тэги), с помощью которых он может совершенствовать стратегию, улучшать поиск и т.д. Стратегии можно употребить для дифференциации пользователей по уровню обслуживания и качеству сервиса. Из отказа от LUN следует, что для адресации используется единообразное пространство, имен (unified namespace), Atmos не делит данные на отдельные силосные башни (silos), он рассматривает весь репозиторий как единое пространство, вне зависимости от его размеров и числа пользователей. Наличие единообразного пространства имен обеспечивает неограниченную масштабируемость. Но та же масштабируемость приводит к необходимости иметь способность к самоуправлению (auto-managing), самовосстановлению (auto-healing) и самоконфигурированию (auto-configuring). Сервисная ориентация проявляется в том, что основные операции по дедупликации, поддержке версий репликации и управлению вращением дисков выполняются посредством Web-сервисов.

С MAID внутри

Физически Atmos выпускается в виде трех конфигураций, которые могут объединяться в общую систему. Два модуля WS1-120 и WS1-240 имеют большее удельное число серверов на диск и попадают в категорию «вычислительные» — на один сервер у них приходится 15 дисков, между собой они различаются тем, что WS1-240 может хранить вдвое больше данных, 240 Тбайт на 240 дисках. В «емкостной» системе WS1–360 меньше северов, их всего шесть, зато дисков 360. Все три конфигурации собираются из модулей EMC InfiniFlex 10 000, которые были объявлены летом 2008 года. В комплект входят накопители формата 3U по 30 дисков SAS или SATA, есть серверы 1U на процессорах Woodcrest 2,33 Ггц и необходимое сетевое оборудование. С одной стороны, все очень похоже на HPC-кластер, упакованный в коробку, однако, если внимательнее посмотреть на InfiniFlex 10000, то обнаруживается, что здесь реализован режим остановки Spin Down, а это не что иное, как MAID, или «массив с простаивающими дисками» (Massive Array of Idle Disks, MAID). Для того чтобы не крутить шпиндели вхолостую, часть не используемых в данный момент дисков можно периодически останавливать, отсюда и название. Поначалу казалось, что главная область применения MAID ограничена архивированием, но она оказалась намного шире.

Пазл начинает складываться

Несколько лет назад EMC купила ряд компаний, среди них VMware, Documentum, RSA Security. По набору технологий было понятно, что за всем этим стоит намерение не просто захватить несколько разрозненных сегментов рынка, но еще и собрать их вместе. Теперь это намерение приобретает видимые черты. Без криптографии от RSA ни о каком глобальном применении Atmos и речи быть не может, но, что не менее интересно, так это перспективы конвергенции систем управления контентом от Documentum и систем виртуализации класса VMware. Такого рода конвергенция, объединяющая технологии виртуализации и управления контентом с криптографией, исторически неизбежна, вопрос только в том, когда и как?


MAID — наследник RAID