Nutanix: Project Acropolis — KVM Management Tool

imageНаш проект, носящий название Acropolis (др.-греч. ἀκρόπολις — верхний город, обычно крепость на вершине холма в греческом городе, контролирующая все окрестности ввиду своего положения) был начат еще в прошлом году, и вскоре уже по-максимуму использовался для внутренних задач компании Nutanix. Лучший способ разработать что-то качественное — самим активно пользоваться своим продуктом. Практически вся внутренняя IT инфраструктура (включая «святая святых» — разработку самого продукта) работает на Acropolis уже весьма продолжительное время.

В течение прошлого года мы уже показывали и немного рассказывали о проекте, вернее о его пред-релизной версии. Например, участвовавшие в конференции HighLoad++ 2014 возможно слышали наш рассказ о том, что это такое и куда планируется развиваться, там же на стенде можно было посмотреть на продукт «вживую» (правда, только CLI управление). И вот, наконец, в январе, в одном из обновлений Nutanix OS (NOS 4.1.1) разработчики компании выпустили первую публичную версию Acropolis (или как он сейчас будет официально называться KVM Management Tool) «в апстрим».

Технически, Acropolis / KVM Management Tool — это служба, работающая внутри наших CVM (Controller VM), как следствие — кластеризованная, распределенная, доступная на всех нодах (серверах) одновременно, линейно масштабируемая вслед за ростом облака система управления, и на данный момент не имеющая прямых аналогов на рынке система управления открытым гипервизором KVM, встроенным в ядро Linux (у нас — CentOS 6).

KVM Management Tool не имеет ахиллесовой пяты практически всех существующих на сегодня средств управления гипервизорами / облаками (включая OpenStack) —, а именно использования SQL-серверов для хранения конфигураций VM и кластера, что влечет за собой массу ограничений (например ограничение размера кластера, количества VM в облаке и т.д.) вкупе с проблемами надежности и производительности.Иначе говоря, вместо выделенных серверов / сервисов управления кластером, каждый нод является равноценным элементом единой системы управления.

Как результат, Acropolis способен без проблем масштабироваться практически безлимитно (что особенно важно для Nutanix, так как масштабируемость, scale-out — наша ключевая фишка решения), обладает крайне высокой скоростью работы (сотни тысяч и миллионы VM — не проблема, включая полный мониторинг и все метрики производительности на каждую VM) и способен выдерживать множественные отказы оборудования.

Например — всего при 5 узлах (серверах, нодах) в кластере — любые два могут отказать одновременно, что является для традиционных решений аналогом одновременного отказа 2-х SQL и управляющих серверов одновременно. Более того — при 12 узлах (3-х блоках) — может отказать целиком один блок (т.е. 4 управляющих сервера).Другими словами, мы способны выдержать одновременный отказ двух и более «vCenter-аналогов» и БД серверов, причем это встроено и доступно изначально, при этом не требуя никакой дополнительной особой конфигурации.

Не лишним будет напомнить, что подавляющее большинство частных облаков на сегодняшний день обычно имеют только один SQL сервер (vCenter в том числе) ввиду сложности и дороговизны резервирования баз данных (Oracle RAC или IBM DB2 PureScale — обычно речь идет о десятках или сотнях тысяч долларов только на лицензии).

Если вы размышляете о том, что было бы неплохо перейти с крайне охочей до ваших денег vSphere, при всех плюсах оной как продукта, на что-то куда более свободное — посмотрите на Nutanix + KVM + KVM Management Tool.Особенно это может быть интересно для компаний, рискующих попасть под падающий топор сами знаете чего и всей сопутствующей этому головной боли для IT-отдела.

Версия KVM, которую мы применяем — полностью открыта (в том числе для сертификации в РФ по высшему уровню) и базируется на QEMU из Centos 6.x (в ближайшее время переходим на 7.x), что позволяет говорить об «импортозамещении» — точнее переходе, в значительной степени, на открытый код и полностью открытый (в том числе документированный) формат хранения всех данных (Nutanix — одна из немногих компаний, которая последовательно и открыто публикует подробности внутреннего устройства своего продукта, (смотрите Nutanix Bible), а автор ее — Steven Poitras — один из разработчиков в компании)Очевидно, что это является крайне ценным прежде всего для государственных органов, корпораций и прочих структур, но в том числе и для многих коммерческих компаний.Например, наш первый крупный клиент, перешедший на Акрополис — крупная Швейцарская компания, один из лидеров индустрии в DACH регионе, осуществили полную миграцию и крайне довольны результатом.

Переход с ESXi при этом очень прост и фактически является простым копированием VMDK файла с инсталляцией QEMU-tools вместо vmware-tools на ваши VM (что можно сделать до миграции), причем это требуется только для windows машин.

Вы можете скопировать виртуальный диск (или диски) вашей виртуальной машины c ESXi на Nutanix (подмонтировав по NFS на ESXi хосте), непосредственно его использовать для создаваемой VM в KVM, и прямо с такого диска запуститься.KVM умеет конвертировать VMDK в raw (это делается буквально одной командой — qemu-img).Процесс этот может быть автоматизирован, и мы собираемся включить полную автоматизацию процесса в скором будущем в наш Prism UI (графический интерфейс администрирования кластера Nutanix).

Таким образом, перенести тысячи VM из VMware в KVM за несколько дней — совершенно не проблема.

В KVM могут работать самые разные OS (не только Linux). — практически все Windows, разумеется Linux, разные *nix (включая FreeBSD и Solaris). Список поддерживаемых OS тут.

Среди важных и удобных встроенных «фишек» — управление сетью (распределенным коммутатором) и встроенный IPAM (IP Address Management).Фактически у вас есть бесплатный распределенный виртуальный коммутатор (который у других вендоров доступен обычно только в Enterprise-редакциях с соответствующими уровню лицензии ценами), с управлением VLAN, интерфейсами, назначением IP адресов для VM (статических или динамических).

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

После обновления Nutanix OS, внутренней OS кластера и CVM, Controller VM, до версии 4.1.1 (происходит это, кстати, без прерывания доступности ваших VM) сервис KVM Management Tool, при использовании KVM как установленного гипервизора, автоматически запущен и доступен.

Стартовая страница Prism UI, админского интерфейса Nutanix Cluster, выглядит примерно как на скриншоте. В левом верхнем углу мы видим, что используется гипервизор KVM, слева внизу — что работает он на 4-нодовом NX-3460 (2U стойко-места, 1.3kW потребления, его хватает для работы сотни VM).

prism-01

Перейдем в панель управления виртуальными машинами (VM). Справа вверху мы видим две раздела — создание сети (виртуального сетевого коммутатора) и создание VM.

Начнем с настроек распределенного коммутатора (поддерживается Open vSwitch). Создадим VLAN для нашей VM.

acropolis-gui-create-vlan-01

acropolis-gui-create-vlan-02

acropolis-gui-create-vlan-03

Когда сетевой коммутатор и VLAN настроены, можно приступать к созданию VM.

Нажмем на »+ Create VM».

acropolis-gui-clone-vm-01

В простой панели зададим желаемые параметры VM: Число vCPU, памяти, дисков, и сетевых адаптеров. Кроме vCPU и памяти в дальнейшем эти параметры можно поменять «на горячую».

Укажем желаемый VLAN (L2 или L3 в случае managed сети с IPAM) и нужное число дисков и CDROM.

acropolis-gui-create-disk-01

acropolis-gui-create-nic-01

Почти готово. Запускаем на создание.

acropolis-gui-create-vm-03

acropolis-gui-create-vm-04

Наша машина создана и находится в выключенном состоянии. Включим ее.

acropolis-gui-manage-vm-01

Отсюда же можно проделать с VM разные действия. Смигрировать VM на определенный хост, сделать снэпшот, включить-выключить-перезагрузить, а также склонировать данную VM в ее клон-копию.

acropolis-gui-update-vm-01

acropolis-gui-manage-vm-03

acropolis-gui-manage-vm-02

Как получить доступ к консоли нашей VM? Для этого можно щелкнуть на ссылку Launch Console. При этом запустится VNC viewer под названием noVNC, написанный на чистом HTML5 (не требуются привычные Flash / Java), и работающий прямо в окне браузера. Напомню, мы тут все еще в браузере, в котором открыли Prism UI, никакого стороннего «VM Client» нам не надо, все в простом web-браузере. У меня, как видите, IE11, но конечно работает в любом современном браузере с поддержой HTML5, хоть в Firefox, хоть в Chrome, хоть в Safari на Mac.

Обратите внимание, что соединение криптуется, а также, что достаточно уникально для VNC клиентов, поддерживаются множество расскладок клавиатуры (включая русскую).

Если бы у меня был на VM смонтирован ISO с дистрибутивом, то началась бы установка, а без него…

acropolis-vm-console-01

Кроме этого, в Prism UI есть множество богатых возможностей по мониторингу и алертам, полезным в нашей админской службе.

acropolis-gui-manage-vm-04

acropolis-gui-manage-vm-05

acropolis-gui-manage-storage-01

acropolis-gui-analytics-01

acropolis-gui-alerts-01

acropolis-gui-alerts-02

acropolis-gui-manage-vm-06

Но что делать, если вы олдскул админ, предпочитающий командную строку всей этой «мышиной возне»? Отличные новости: есть полнофункциональный командлайн интерфейс, вызываемый из консоли любого CVM командой acli.Неймспейсы, онлайн-подсказки, дополнение по табу — есть. Все возможости управления доступны как из CLI, так и из GUI. Кто-то из клиентов говорит что очень напоминает старый-добрый Cisco IOS, быстро для освоения и весьма удобно.

acropolis-cli-01

acropolis-cli-06

acropolis-cli-05

А если вы планируете встроить KVM с Acropolis в вашу внешнюю систему управления «облаком», то вам пригодится наличие полноценного RESTful API, из которого VM / облаком можно управлять также, как и всем остальным Nutanix.

acropolis-restapi-01

acropolis-restapi-02

acropolis-restapi-03

acropolis-restapi-04

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

Поскольку я запостил эту заметку в несколько хабов, то, если вы читаете ее не у нас в корпблоге, для ясности коротенький FAQ в заключение:

Q: Вы вообще кто? A: Мы — компания Nutanix, разработчик и производитель гиперконвергентной платформы (сервер+сторадж) для работы различных гипервизоров, VM и приложений под ними. Пишем тут свой блог по адресу: http://habrahabr.ru/company/nutanix/

Q: Это все работает только на вашей платформе? A: Это софтверное решение, но пока оно работает только внутри нашего продукта — Nutanix OS

Q: А будет открытое решение, доступное отдельно, для всех желающих? A: Такая возможность совсем не исключена, как говорят в таких случаях «следите за рекламой».

© Habrahabr.ru