С VMware vSphere работают не только системные администраторы посредством vSphere Client в небольших окружениях, но и Enterprise-администраторы в виртуальных окружениях из сотен виртуальных машин, где без средств автоматизации не обойтись. Кроме того, разработчики программного обеспечения для VMware пишут свои командные сценарии и плагины, которые облегчают жизнь системным администраторам. Сегодня мы поговорим о том, какие интерфейсы предлагает нам VMware для автоматизации операций с такими продуктами, как VMware vSphere, Workstation, Server и другими.
Итак, если перейти на страницу разработчика VMware, мы увидим вот такой список продуктов и интерфейсов, поделенный на категории:
Средство создания виртуальных модулей (Virtual Appliances), которые представляют собой готовые к использованию виртуальные машины с предустановленным ПО. Например, Linux-машина с CRM-системой, где не надо заходить в консоль гостевой ОС, но можно получать доступ к приложению через Web. По-русски о VMware Studio рассказано здесь. Кстати VMware Studio сама является Virtual Appliance'ом.
Пакет для разработки средств управления и мониторинга гостевой ОС виртуальной машины (доступны байндинги на C, Perl и COM (Visual Basic, VBscript, C#). Можно включать, выключать машину, делать снапшот и т.п. Может пригодиться, когда необходимо "вытащить" информацию из гостевой ОС или как-то поуправлять гостевой системой из внешнего приложения (например, запустить команду ls и перенаправить вывод в файл, который потом будет скопирован в хостовую ОС). Поддерживает VMware Workstation, Server и vSphere / Virtual Infrastructure (ESX и vCenter).
Пакет для сбора различных статистик виртуальной машины VMware vSphere (объем выделенной и используемой памяти, Reservation и Limit, Shares). Этот API работает в режиме Read Only и доступен на языках C и Java. Может применятся совместно с агентами в гостевой ОС, которые, используя статистики, реагируют на их значения на уровне отдельного приложения. То есть, это способ посмотреть изнутри наружу. Требует установленных VMware Tools в виртуальной машине Linux или Windows. Документация здесь.
VDDK это набор библиотек C, который позволяет получить доступ к виртуальным дискам vmdk и делать с ними что угодно. То есть можно открыть vmdk офлайн и получить доступ к файловой системе Windows и Linux на этом виртуальном диске. Поддерживается VMware vSphere / VI, а также VMware Workstation, Server, Player.
Интерфейс для создания надстроек VMware vSphere Client Plug-ins, который позволяет программистам получить доступ к меню и тулбарам vSphere Client и встроить тула необходимую функциональность для управления vSphere.
Пакет веб-ориентированных интерфейсов для работы со службами VMware vSphere (бывший VMware Infrastructure SDK) и написания сценариев для управления всеми аспектами платформы. Все что касается управления vCenter и серверами ESX делается с помощью этого тулкита. Документация может быть найдена здесь. Может быть также использован с VMware VI 3.5 и более ранними версиями.
Интерфейс Perl для управления VMware vSphere. Полезен не только разработчикам, но и администраторам, которые могут разрабатывать скрипты на Perl для автоматизации операций на хостах VMware ESX. Этот интерфейс также можно использовать посредством виртуального модуля vSphere Management Assistant (vMA - см. ниже), куда он уже включен.
API, реализующий интерфейс Common Information Model (CIM), с помощью которого можно управлять оборудованием, составляющим инфраструктуру VMware vSphere (серверы - CIM SMASH/Server Management API и устройства хранения - CIM Storage Management API).
Один из ключевых компонентов виртуальной инфраструктуры будущего. Представляет собой виртуальную машину Linux, которая удаленно может управлять набором хостов VMware ESX / ESXi (старое название VIMA - Virtual Infrastructure Management Assistant). По сути - это сервисная консоль, вынесенная за пределы сервера ESX. То есть в будущем пачка серверов VMware ESXi без сервисной консоли будут управляться посредством одного модуля VMware vMA. Содержит в себе пакет VMware vSphere Command-Line Interface (vSphere CLI) и vSphere SDK for Perl для управления конфигурацией хост-серверов ESX / ESXi. Также содержит утилиту vi-fastpass для неинтерактивного логина на хосты. В целом, это единая точка администрирования из консоли для администраторов, где они разрабатывают и исполняют командные сценарии для виртуальной инфраструктуры.
Утилита командной строки, позволяющая создавать универсальные OVF (Open Virtual Machine Format) пакеты из виртуальных машин под различные платформы VMware: vSphere / VI, Workstation, Server. После этого, такой пакет можно будет импортировать на любом компьютере, и уже будет известно для какой платформы он предназначен, что в нем содержится, а также есть возможность сжать его. По сути OVF - это универсальный формат распространения виртуальных модулей (Virtual Appliance), то есть готовых к эксплуатации виртуальных машин.
Интерфейс управления хост-серверами VMware ESX / ESXi из командной строки, который доступен в изданиях под Windows и Linux. Отличие от vMA - нет модуля vi-fastpass и есть возможность установки под Windows, если администратор не очень дружит с Linux.
Интерфейс Windows PowerShell для управления VMware vSphere. Как начать работать с ним описано здесь. Позволяет администраторам Windows-окружений разрабатывать сценарии на PowerShell с использованием библиотек VI Toolkit. Один из самых перспективных и удобных интерфейсов. На сегодняшний день уже написано множество скриптов для vSphere / VI, которые могут быть найдены здесь и здесь.
Интерфейс, позволяющий смотреть внутрь виртуальной машины и получать информацию о событиях внутри нее и выводить в хостовую ОС. Например, можно написать свой собственный аналог команды top и смотреть за поведением процессов в гостевой ОС из хостовой. Также можно отслеживать параметры системы, которая еще только загружается или уже выключается. VProbes является и будет являться частью продуктов VMware Workstation, Server и Player.