Менее чем через два года после создания компания-стартап Nutanix привлекла к себе всеобщий интерес благодаря своему первому продукту — Complete Cluster, представляющему собой масштабируемую инфраструктуру, которая объединяет в себе составные части корпоративной системы: компьютерные ресурсы и ресурсы систем хранения в форме одинаковых базовых модулей. Сейчас у Nutanix нет прямых конкурентов — Cisco Unified Computing System, HP Cloud System Matrix, IBM Cloudburst, а также интегрированные стеки Vblock и FlexPods дороже по цене и уступают Complete Cluster по количеству поддерживаемых виртуальных машин (VM), например vStart от Dell способен «нести» лишь до 100 машин.
Интегрированные стеки — будущее частных облаков
Сегодня внимание индустрии приковано к модульным решениям, получившим название «интегрированные стеки», — такие готовые комплекты рассматриваются в качестве главного средства для создания частных облаков. Леонид Черняк |
Отличительная особенность Complete Cluster состоит в возможности собирать из модулей частное корпоративное облако без каких-либо дополнительных вложений в сетевые архитектуры хранения наподобие SAN или NAS. Внешне продукт настолько прост и логичен, что невольно возникает вопрос, как это раньше никто не догадался сделать нечто подобное. Однако эта простота обманчива — за ней стоит опыт трех основателей компании, ветеранов отрасли, успевших до того потрудиться в Aster Data, недавно купленной компанией Teradata, в Oracle (проекты Oracle Database Machine, Exadata и облачные приложения), в Google (разработка файловой системы Google File System). Мало того, интеллектуальный потенциал Nutanix усилен членами консультационного совета, в составе которого основатель Veritas Марк Лесли, топ-менеджеры XenSource, Citrix Systems и Data Domain.
Идея Complete Cluster лежала на поверхности. Известно, что «облачный» успех таких гигантов, как Google, Yahoo, Amazon, Facebook и Microsoft, в значительной мере базируется на собственных проприетарных технологиях, используемых для создания ЦОД. Почему бы не применить аналогичные подходы к существенно меньшим корпоративным ЦОД с классическими серверами и системами хранения, адаптированными к традиционным нагрузкам? Такого рода заимствование опыта имеет смысл, поскольку в современных корпоративных ЦОД, независимо от их масштаба, доминируют близкие виртуализованные нагрузки.
Основатели Nutanix раньше других обратили внимание на две системные проблемы классических ЦОД, состоящих из серверов, SAN и NAS. Первая связана с наследием старых традиций — ЦОД создавались в расчете на статичную нагрузку, а новое представление о динамической нагрузке возникло в связи с виртуализацией серверов и переходом к облакам. Динамика заключается в необходимости на лету создавать виртуальные машины, перемещать их между серверами, однако в этих условиях управление существующими сетевыми системами хранения становится сложным и неудобным и отмахнуться от этой проблемы уже нельзя — растет количество виртуальных машин, объем данных, которыми они оперируют, увеличивается, причем в немалой степени количественным изменениям способствуют новые технологии виртуализации, в частности виртуализация настольных систем.
Еще одна проблема современных ЦОД возникает из-за того, что они проектировались с учетом несоответствия между все более увеличивающейся производительностью процессоров и медлительностью, в силу их механической природы, жестких дисков. Этот разрыв принимался как данность, и его приходилось компенсировать посредством тех или иных методов распределения данных по дискам. Однако появились твердотельные накопители (SSD) со скоростью обмена на два-три порядка выше, чем у традиционных жестких дисков (HDD), что могло бы нивелировать разрыв, но инфраструктура оказалась не подготовлена к ним, и простая замена HDD на SSD создает новую проблему — существующие сети не в состоянии справиться с возросшей потребностью в скорости передачи данных, что затрудняет использования преимуществ SSD.
Инженеры Google первыми осознали архаизм существующего сетевого подхода к условиям эксплуатируемых собственных ЦОД и нашли выход в создании распределенной файловой системы Google File System, которая программными средствами «склеивает» простые серверы собственного изготовления с их локальными системами хранения данных в единый кластер. Таким образом удается конвергировать серверные ресурсы и ресурсы хранения в единую инфраструктуру, используя в качестве строительного блока простой сервер. GFS работает на кластере, состоящем из таких блоков, создавая единый пул хранения из дисков, которые физически распределены по отдельным серверам. Выход из строя одного или нескольких серверов не влияет на общую работоспособность ЦОД, что обеспечивает высокие показатели готовности, надежности и масштабирования: достаточно наращивать количество серверов-блоков без каких-либо действий, связанных с развитием сети хранения данных.
В Nutanix откровенно признают, что заимствовали подход к горизонтальному масштабированию, а их собственный вклад состоит в распространении методики на корпоративные системы и предложении создания «готовых к употреблению» блоков для строительства корпоративных систем. Для того чтобы применить Complete Cluster к условиям отдельно взятого предприятия, общую идею пришлось серьезно переработать. Если Google File System представляет собой собственное заказное решение, адаптированное для специфических внутренних приложений (поиск и электронная почта), то Nutanix предлагает более общее решение, адаптированное к условиям корпоративной виртуализованной среды с упором на ее особые требования: эффективное управление данными, высокая готовность, резервирование, восстановление после сбоев.
Проблема адаптации к динамической среде решается встроенными функциями, играющими роль своего рода гипервизора, который строит виртуальную сеть хранения из подключенных к отдельным серверам систем хранения данных, состоящих из двух типов накопителей (SSD и HDD), именно гипервизор обеспечивает миграцию VM и высокую готовность. Он же преодолевает ограничения традиционных систем хранения, которые оптимизированы на работу с физическими серверами, а именно привязанность виртуальной машины к определенным логическим номерам устройств. Если один логический номер привязан к нескольким VM, то затрудняется выполнение операций резервного копирования, создания моментальных снимков и восстановления после сбоев, в условиях привязки к отдельной VM, а также определение мест, где теряется производительность из-за сильной связанности компьютерной части системы с иерархической системой хранения. Что же касается второй проблемы, связанной со сложностями включения SSD в систему, то здесь дело даже не в низкой скорости HDD по сравнению с SSD, а в присущей вращающимся дискам задержке. Для компенсации задержки требуется специальная архитектура, например RAID, и специальное ПО, а прямая замена HDD на SSD малоэффективна потому, что инфраструктура оптимизирована для вращающихся носителей. Простой перенос ПО для HDD на работу с SSD, где нет задержки, поскольку нет вращения, также не дает заметного ускорения. Архитектура и программное обеспечение Nutanix созданы специально под SSD с учетом частоты использования любых данных, в том числе и метаданных, позволяющих оптимальным образом резервировать и использовать пространство хранения, а также организовать миграцию данных по уровням хранения в зависимости от актуальности («горячие» — на SSD, «холодные» — на HDD).
Архитектура Nutanix Complete Cluster (см. рисунок) представляет собой кластер с горизонтальным масштабированием, собранный из высокопроизводительных узлов. Отдельный узел имеет в своем составе процессоры, память и локальную систему хранения, состоящую из дисков HDD и SSD. На каждом узле работает собственный экземпляр гипервизора. Узел служит хостом для работающих на нем виртуальных машин. Для объединения ресурсов отдельных систем хранения в единый виртуализованный пул служит SOCS (Scale-out Converged Storage) — аналог Google File System. Виртуальные машины посредством SOCS оперируют данными точно так же, как если бы они работали с SAN, иначе говоря, SOCS служит в качестве гипервизора систем хранения, перемещая данные как можно ближе к той виртуальной машине, на которой они используются, что повышает производительность и снижает стоимость. Кроме того, Complete Cluster служит инструментом для горизонтального масштабирования вплоть до нескольких сотен узлов.
Таким образом, технология SOCS - это: средство конвергирования виртуальных машин и систем хранения в один кластер; инструмент управления ресурсами хранения с ориентацией на каждую отдельно взятую виртуальную машину, причем операции ввода-вывода идентифицируются по виртуальным машинам; масштабирование в диапазоне от одной до сотен виртуальных машин; интеграция HDD и SSD; обеспечение высокой системной надежности, готовности и скорости обмена за счет локализации операций ввода-вывода и оптимального использования SSD; оптимальное использование дискового пространства.
Рисунок. Архитектура Nutanix Scale-Out Converged Storage |
В отличие от обычных сетей хранения, имеющих ограниченное количество контроллеров (от одного до восьми), SOCS имеет ровно столько контроллеров, сколько узлов в сети. Каждый из узлов Complete Cluster поддерживает работу специальной виртуальной машины, называемой Controller VM, являющейся виртуальным контроллером для SOCS. Все такие машины взаимодействуют между собой, образуя единый образ распределенной системы. Возможность наращивания числа контроллеров, отличающая SOCS от традиционных сетевых систем хранения, где число контроллеров фиксировано, обеспечивает практически неограниченное масштабирование.
Работа SOCS поддерживается рядом механизмов.
HOTcache (Heat-Optimized Tiering Cache). Кэш, оптимизированный по «температуре» данных, поддерживается твердотельными дисками каждого узла: когда виртуальная машина записывает данные, они сначала попадают в HOTcache и только затем в SOCS. В последующем HOTcache поддерживает данные на SSD узла и еще одну их копию в сети на другом узле, что обеспечивает сохранность данных.
Medusa (Distributed Metadata Service). Поддержка распределенных метаданных позволяет избежать возникновения узкого горла — перегрузки контроллеров при наращивании дискового пространства и количества виртуальных машин. Такое горло присуще традиционным системам, в которых все метаданные хранятся на ограниченном числе контроллеров. Medusa распределяет метаданные по всем Controller VM, что обеспечивает высокое масштабирование и готовность.
Distributed Data Maintenance Service Curator (Distributed Data Maintenance Service). Поддержка распределенных данных методами, построенными на принципах MapReduce: миграция данных по уровням в зависимости от «температуры», сбор мусора после удаления данных, отслеживание целостности данных с использованием контрольных сумм, репликация данных, переразмещение в случае изменения числа узлов, оптимизация размещения с целью приближения данных к месту использования.
Виртуальные пулы. Пулы SSD и HDD, а также соответственно FlashStore и DiskStore.
QuickClone. Средство для развертывания виртуальных машин, особенно удобное для создания виртуальных настольных систем.
Nutanix Thin Provisioning. Средство динамического резервирования дискового пространства, позволяющее избежать нерационального использования места на дисках.
Внутреннее резервное копирование. Инструмент, позволяющий сократить потребность во внешних устройствах для создания резервных копий.
MapReduce — будущее баз данных
MapReduce – это не просто программная среда, как например Лисп, а инфраструктурное решение, способное эффективно использовать многоядерные архитектуры. Есть все основания полагать, что в недалеком будущем свое место займут параллельные СУБД, использующие программную конструкцию MapReduce. Леонид Черняк |
Все перечисленные механизмы и функции позволяют собрать систему без центрального управления (архитектура master-less), где нет обычного физического разделения на серверы и сети хранения, что исключает возникновение каких-либо узких мест.
Конструктивно Complete Cluster выполняется в виде 2U-модулей Nutanix Complete Block, в каждом из которых четыре узла, построенные на стандартных x86-серверах: два процессора Intel Xeon 5640 с памятью от 48 до 192 Гбайт, два типа устройств SSD (320- или 640-гигабайтные накопители компании Fusion-io, подключаемые по шине PCI, а также подключаемые по интерфейсу SATA диски на 300 Гбайт от Intel и терабайтные диски Seagate). Наличие двух разных типов SSD объясняется тем, что здесь уже произошло разделение на классы — менее производительный 300-гигабайтный накопитель Intel SSD используется для первоначальной загрузки каждого из узлов и для свопинга нагрузок типа VDI. Скоростной PCI-накопитель является основной рабочей лошадкой — он поддерживает механизмы HOTcache, FlashStore, работу с метаданными и другие операции. По шине PCI могут подключаться разные устройства из числа производимых Fusion-io: недорогие, с многоуровневыми ячейками (MLC) накопители ioDrive, более быстрые и дорогие одноуровневые (SLC) ioDrive Duo. Твердотельные накопители Intel также делятся на классы: модель 320 выпускается по технологии MLC, а модель корпоративного класса 720 — по технологии SLC. На каждом из узлов устанавливается гипервизор VMware ESXi. Поставка Complete Cluster осуществляется модулями трех размеров: малый, средний и большой; первый состоит из одного Complete Block, второй — из пяти, третий из — десяти. В силу линейности масштабирования их параметры можно вычислить путем прямого умножения. По имеющимся оценкам, стоимость решения на Nutanix Complete Cluster примерно вдвое ниже, чем на основе обычной сети хранения.
Неизбежность динамического резервирования
Термин thin provisioning впервые был использован в конце 2002 года, а через год компания 3PAR стала использовать это название для своих технологий. Леонид Черняк |
Fusion-io, поставщик SSD, заслуживает отдельного упоминания — и не только потому, что в компании с 2009 года на должности главного ученого работает Стив Возняк, человек, который собственноручно спаял первый компьютер Apple и в свое время превосходил по популярности коллегу Стива Джобса. Далеко не случайно год назад The Wall Street Journal назвал Fusion-io одной из самых перспективных начинающих компаний, которая в отличие от большинства других производителей SSD первой пошла по пути создания весьма похожих на диски ускорителей на шине PCI Express, отличающихся тем, что они подключаются не по дисковым интерфейсам SATA или SCSI, а по более быстрой шине PCI. Сейчас аналогичные устройства стремятся выпустить несколько производителей, прежде всего компания STEC, а также поставщики дисковых массивов: Dell, EMC и NetApp. Преимущество интерфейса PCI Express по отношению к памяти ioDrive состоит в том, что сервер имеет прямой доступ к данным без всяких сетевых задержек.
Fusion-io выпускает три семейства накопителей: ioDrive, ioDrive Duo, ioDrive Octal (см. таблицу).
ioDrive | ioDrive Duo | ioDrive Octal | |
---|---|---|---|
Скорость доступа (Гбайт/с) | 0,75 | 1,5 | 6 |
Количество операций в секунду (тыс.) | 135 | 250 | 1180 |
Время задержки (мс) | 26 | 26 | 30 |
Семейство ioDrive выпускается по технологиям SLC и MLC с емкостью 160/320 Гбайт и 320/ 640G Гбайт соответственно, семейство ioDrive Duo — тоже по двум технологиям, но емкость в два раза больше (320/640 Гбайт и 640/1280 Гбайт). Семейство ioDrive Octal представлено только одним устройством, выпускаемым по технологии MLC и превосходящим по емкости все известные жесткие диски (5 и 12 Тбайт).
***
Аккумулировав передовые технологии организации работы современных ЦОД, компании Nutanix удалось собрать целостную систему без центрального управления и физического разделения на серверы и системы хранения, что позволило исключить возникновение каких-либо узких мест и обеспечить практически неограниченное масштабирование при обработке больших динамических массивов данных.