На сайте проекта VMware Labs вышло обновление утилиты Skyline CLI 1.0.6. Напомним, что решение Skyline CLI позволяет с помощью интерфейса командной строки автоматизировать операции и конфигурации компонентов Skyline Collectors. О предыдущем обновлении мы писали вот тут.
Средствами фреймворка Skyline CLI можно сделать следующие вещи:
Настроить новый Skyline Collector через JSON-файл
Добавлять, удалять и обновлять Endpoints для Skyline Collector
Настраивать политику пароля root
Включать и отключать автообновления
Настраивать friendly name для сборщика
Задавать параметры прокси-сервера
Обновлять Skyline Collector и регистрировать его
Получать текущий статус сборщика
Пример полной конфигурации коллектора в JSON-файле:
Давайте посмотрим, что нового появилось в Skyline CLI 1.0.6:
Улучшения в коде утилиты
Возможность настройки доступа root по SSH
Возможность изменения политики паролей администраторов
Сброс пароля администратора
Создавание лог-бандла для Skyline collector
Включение/отключение логирования в режиме отладки для Skyline collector
Также в версии Skyline CLI 1.0.3 были сделаны следующие улучшения:
Нотификации, отправляемые в Slack через Skyline Endpoints
Улучшения в коде
Скачать Skyline CLI 1.0.6 можно по этой ссылке. Инструкции по использованию фреймворка находятся здесь.
Как вы знаете, через интерфейс esxcli на сервере VMware ESXi можно устанавливать расширенные настройки (Advanced Settings). Список таких доступных настроек можно вывести командой:
esxcli system settings advanced list
При этом не все пространства имен (namespaces) доступны через этот интерфейс командной строки. Эти настройки, в таком случае, как правило, доступны через интерфейс vSphere Client, но вам может понадобиться заскриптовать их. Об этом рассказал Дункан Эппинг.
Некоторые администраторы vSphere знают, что есть также такой интерфейс vim-cmd, который уже не рекомендуется использовать, но, тем не менее, его еще можно применять для установки некоторых настроек. Среди них, например, есть настройка Config.HostAgent.ssl.keyStore.allowSelfSigned для разрешения самоподписанных сертификатов на хостах ESXi.
В этом случае вы можете использовать команды в следующем формате:
vim-cmd hostsvc/advopt/update name.option type value
Для самоподписанных сертификатов нужная команда выглядит так:
На сайте проекта VMware Labs появились две интересные утилиты для пользователей решения VMware Skyline. Напомним, что этот продукт предназначен для предоставления расширенной технической поддержки некоторым клиентам для Enterprise-продуктов с целью предотвратить возникновение проблем в будущем на базе анализа текущего состояния виртуальной среды.
Первая утилита - Skyline Automation Toolkit - представляет собой набор средств для экономии времени при исправлении потенциальных ошибок конфигурации, выявленных решением Skyline Advisor. Облачные администраторы могут автоматизировать действия движка Proactive Intelligence с помощью собственных сценариев, которые решают 2 следующих задачи:
Выполнение операций для найденных Skyline Proactive Findings
Установка и конфигурация компонента Skyline Collector с подключенными Endpoints
С помощью модулей Powershell данный тулкит позволяет обновлять и конфигурировать виртуальную инфраструктуру VMware, при этом предварительно рекомендуется проводить все операции в тестовой среде.
В состав входят следующие пакеты:
skyline-fixer - этот скрипт проверяет CSV-файлы, экспортированные из Skyline Advisor и имплементирует шаги по исправлению конфигурации виртуальной среды
skyline-comm - посылает Skyline Findings в Slack, Jira, Pagerduty и другие внешние системы
skyline-helper - позволяет настраивать надежные соединения между Endpoints и Skyline Collector
skyline-docker - позволяет построить дополнительную инфраструктуру для поддержки функциональности "Findings and Recommendations" за пределами продуктов VMware.
Скачать Skyline Automation Toolkit можно по этой ссылке.
Второе решение - Skyline CLI - позволяет с помощью интерфейса командной строки автоматизировать операции и конфигурации компонентов Skyline Collectors. Средствами этого фреймворка можно сделать следующие вещи:
Настроить новый Skyline Collector через JSON-файл
Добавлять, удалять и обновлять Endpoints для Skyline Collector
Настраивать политику пароля root
Включать и отключать автообновления
Настраивать friendly name для сборщика
Задавать параметры прокси-сервера
Обновлять Skyline Collector и регистрировать его
Получать текущий статус сборщика
Скачать Skyline CLI можно по этой ссылке. Инструкции по использованию фреймворка находятся здесь.
Начать надо с того, что когда вы запустите графический установщик виртуального модуля vCSA в среде VMC, то получите вот такое сообщение об ошибке на этапе указания параметров хоста для развертывания:
User has no administrative privileges
Это интересно тем, что на самом деле установщик vCSA не требует административных привилегий и, по идее, не должен выдавать такого сообщения об ошибке. Поэтому Вильям нашел, все-таки, способ развернуть vCSA в публичном облаке.
Для этого надо сделать следующее:
1. Создать вспомогательную ВМ (например, с Windows 10 на борту), которая будет использовать для развертывания нового экземпляра vCSA с помощью командной строки. Вы можете использовать для этой цели любую ОС, которая поддерживает интерфейс vCSA CLI.
2. Настроить соединение между сетевыми экранами Management (MGW) и Compute (CGW) для этой машины, как мы писали вот тут, чтобы установщик имел доступ к административной сети.
3. Развернуть vCSA через CLI с помощью файла конфигурации развертывания в формате JSON, настроенного под ваше окружение. Вот пример содержимого такого файла, который вы можете взять за основу:
После этой процедуры вы получите работающий VMware vCenter Server Appliance 6.7 Update 2 в своей инфраструктуре, который сможете использовать как для тестирования его возможностей, так и для полноценного управления виртуальной средой:
С помощью него разработчики и администраторы, работая совместно, смогут реализовать новые сценарии и рабочие процессы к vRA и vRO, используя стандартные практики DevOps. Пакет сфокусирован на качестве кода, его повторном использовании, модульном тестировании, управлении взаимосвязями и параллельных релизах проектов под платформу vRealize.
На практике vRealize Build Tools представляют собой расширения (extensions), упакованные в формат репозитория Maven, которые поддерживают использование IDE (через Maven), а также интерфейса CLI для разработки, тестирования и развертывания решений для платформ vRA/vRO. Также в пакет включен плагин к vRO, который предоставляет возможности автозаполнения для стандартных и сторонних объектов для сценариев и действий:
а также CLI-команды для развертывания пакетов к vRO/vRA через стандартные API:
Для начала работы с vRealize Build Tools вам понадобятся следующие инструменты:
На сайте проекта VMware Labs появилось очередное обновление - утилита/интерфейс MyVMware CLI, который позволяет взаимодействовать с порталом My VMware (my.vmware.com) посредством командной строки.
Основное назначение утилиты - предоставить администраторам интерфейс для загрузки дистрибутивов различных продуктов VMware.
С помощью MyVMware CLI можно скачать любой продукт VMware, любой версии, а также загружать различные файлы. Надо понимать, что к возможностям загрузки дистрибутивов с помощью данного средства будут применяться ограничения, действующие для используемого аккаунта My VMware (поэтому выведите список всех доступных продуктов командой vmw-cli list).
MyVMware CLI протестирована и работает на Linux или MacOS. Установить интерфейс можно с помощью NodeJS (через NPM) командой:
npm install vmw-cli --global
Также MyVMware CLI можно развернуть на платформе Docker:
MyVMware CLI доступен из репозитория GitHub, где вы также можете увидеть примеры использования различных команд по листингу и загрузке продуктов VMware. Более подробно об использовании утилиты можно почитать здесь.
На днях компания VMware обновила пару своих утилит на сайте проекта VMware Labs, которые могут оказаться вам полезными.
Во-первых, решение VMware vCenter VM Mobility, о котором мы писали вот тут, обновилось до версии 1.5. Напомним, что это средство позволяет через интерфейс командной строки (CLI) перенести машину между серверами vCenter, которые связаны в режиме Linked Mode или размещены независимо друг от друга. Надо отметить, что в режиме Linked Mode и так можно перемещать виртуальную машину между датацентрами, поэтому полезна утилита именно для несоединенных vCenter.
Давайте посмотрим, что нового появилось в версиях vCenter VM Mobility 1.2-1.5:
Добавлена возможность выбрать папку ВМ в месте назначения, а также storage pod (для механизма storage drs).
Поддержка соединения на сайте назначения, чтобы не прервалась задача перемещения ВМ.
Пофикшен баг, когда при миграции нескольких виртуальных машин с одной виртуальной сетью назначения мигрировалась только одна.
Поддержка передачи пароля в качестве аргумента для автоматизации задач клонирования и перемещения ВМ между датацентрами.
Скачать VMware vCenter VM Mobility 1.5 можно по этой ссылке. Напомним, что утилитой лучше не пользоваться для миграции связанных клонов ВМ (linked clones).
Вторая обновившаяся утилита - это DRS Lens, про которую мы рассказывали вот тут. Она позволяет администраторам виртуальных инфраструктур получить больше информации о работе механизма балансировки нагрузки на хост-серверы VMware vSphere DRS.
На днях вышла версия DRS Lens версии 1.2. Приведем ниже новые возможности утилиты версий 1.1-1.2:
Добавлена поддержка архивирования старых данных мониторинга.
Добавлена страница общей информации для vCenter, чтобы получать информацию о кластерах и архивах.
Улучшения пользовательского интерфейса.
Добавлена совместимость процесса логина с vCenter 5.5.
Недавно на сайте проекта VMware Labs появилась интересная утилита - Host Profiles CLI. Она позволяет администраторам VMware vSphere из командной строки выполнять те операции, которые недоступны в графическом интерфейсе механизма настройки хостов ESXi Host Profiles или доступны ограниченно (без средств автоматизации). Особо стоит отметить возможность совместного использования механизмов Auto Deploy и Host Profiles CLI.
Напомним, что профили хостов (Host Profiles) - это средство конфигурации серверов ESXi таким образом, что единый "золотой" профиль применялся к всем хостам, настраивая их единообразно, что уменьшает риски ошибок конфигурации, а также улучшает управляемость/обслуживание инфраструктуры и ее безопасность.
С помощью Host Profiles CLI из командной строки можно делать следующее:
Кастомизация stateless-хостов Auto Deploy до их загрузки и присоединения к vCenter Server.
Импорт/экспорт профилей хостов из локальных файлов.
Привязка профиля к существующему кластеру.
Установка единого рутового пароля в профиле или настройка профиля таким образом, чтобы использовать уникальные пароли root для каждого из хостов.
Настройка системного кэша (stateless, cached или stateful install).
Просмотр всех профилей хостов, доступных на vCenter Server.
Напомним, что начиная с vSphere 6.5, для механизма Host Profiles можно указывать параметры кастомизации отдельных хостов (IP-адреса, пароли и прочее) в CSV-файле. Но это можно делать только для хостов, которые были уже добавлены в Inventory сервера vCenter. С помощью Host Profiles CLI можно сделать прекастомизацию хостов через файлы CSV, которые будут развернуты через Auto Deploy (то есть, самих хостов пока еще нет в vCenter).
Ну и вот так можно делать импорт и экспорт профилей хостов (не пытайтесь делать импорт профиля для окружения с другим оборудованием хост-серверов):
Также посредством Host Profiles CLI можно установить тип развертывания хостов через Auto Deploy - Stateless caching (когда хост в случае массового сбоя и недоступности PXE-сервисов грузится из локальной кэшированной копии) или Stateful install (когда хост грузится с диска и уже больше не зависит от Auto Deploy). Вот как это делается:
В инфраструктуре VMware vSphere для диагностики сетевых неполадок иногда приходится в сервисной консоли серверов VMware ESXi тестировать различные соединения. В этой заметке мы вкратце опишем, как это делается.
Прежде всего, обычный пинг через стандартный Management-интерфейс:
# ping <IP хоста>
Пинг через порт VMkernel (в ESXi это тот же самый интерфейс, а в ESX - другой):
# vmkping 192.168.48.133
PING 192.168.48.133 (192.168.48.133): 56 data bytes
64 bytes from 192.168.48.133: icmp_seq=0 ttl=64 time=0.978 ms
64 bytes from 192.168.48.133: icmp_seq=1 ttl=64 time=1.009 ms
Для проверки соединения сервера VMware ESXi с хостом по какому-нибудь порту используется утилита netcat (nc). Telnet есть только на ESX. Формат использования netcat:
# nc -z <IP хоста> <порт хоста>
Например:
# nc -z 192.168.48.133 80
Connection to 192.168.48.133 80 port [tcp/http] succeeded!
С помощью netcat можно проверять только TCP-соединения, для UDP (флаг -uz) всегда будет статус succeeded (даже если порт заблокирован или закрыт), так как соединения по UDP не устанавливается. Для того, чтобы тестировать UDP-соединения можно воспользоваться утилитой tcpdump-uw.
Команда nc может быть использована для сканирования диапазона портов (будьте осторожны со сканированием, чтобы не навлечь гнев безопасников):
# nc -w 1 -z 192.168.48.133 20-81
Connection to 192.168.48.133 22 port [tcp/ssh] succeeded!
...
Connection to 192.168.48.133 80 port [tcp/http] succeeded!
Опция -w определяет таймаут между соединениями.
Для траблшутинга SSL-соединений может быть использована следующая команда:
В vSphere Web Client эти типы трафика можно просто назначить интерфейсу vmk (VMkernel):
Но можно ли управлять этими настройками с помощью интерфейса ESXCLI? Оказывается, что, начиная с версии vSphere 5.1, это делается очень просто. Интерфейс vmk можно "тэгировать" различными типами трафика, что означает, что он будет их пропускать. В командной строки ESXCLI администратору доступно множество команд tag в следующем пространстве имен:
esxcli network ip interface
Как и с многими другими объектами, с тэгами можно совершать операции get, add и remove:
vi-admin@vMA51:~> esxcli –server vcenter51 –vihost pod23-esx-01a.pml.local –username root network ip interface tag
Usage: esxcli network ip interface tag {cmd} [cmd options]
Available Commands:
add Adds a tag on a given VMkernel network interface.
get Gets the tags set on the given VMkernel network interface.
remove Removes a tag on a given VMkernel network interface.
В некоторых наших статьях мы уже затрагивали приемы работы с утилитой vsish (VMkernel Sys Info Shell), которая есть в консоли хостов VMware ESXi, и которая предназначена для управления огромным числом обычных и скрытых настроек сервера и ядра VMkernel (то, что раньше управлялось с помощью команды esxcfg-advcfg). Например, мы уже писали про то, как с помощью vsish можно:
Однако, как вы уже догадались, эти три примера не являются исчерпывающими вариантами использования утилиты vsish. Напомним, что работать с ней нужно в следующем формате:
Запускаем утилиту:
~ # vsish
Далее узнаем значение параметра или настройки:
/> get <параметр, путь к файлу>
Устанавливаем новое значение:
/> set <параметр, путь к файлу> <значение>
Можно выполнить команду сразу, с опцией -e. Например:
~ # vsish -e get /power/hardwareSupport
Большинство параметров утилиты vsish, содержащие путь /config - это расширенные настройки хоста ESXi, которые вы можете редактировать в Advanced Settings через vSphere Client или vSphere Web Client. Вот, например, мы недавно писали о том, как административные привилегии на ESXi назначить пользователю из Active Directory:
Для этой настройки есть соответствующий путь для vsish. Выглядит он так:
/config/HostAgent/plugins/hostsvc/esxAdminsGroup
Однако vsish позволяет редактировать и скрытые настройки ESXi, которые недоступны для изменения через GUI. Полный список настроек vsish для хостов VMware ESXi 4.1 и выше приведен у Вильяма Лама:
В новой версии VMware vSphere 5.1 для хостов ESXi 5.1 в консольном интерфейсе управления esxcli появилось множество нововведений. Во-первых, появилось 82 новых команды esxcli:
7 в категории hardware
2 в категории sched
47 в категории network
15 в категории storage
11 в категории system
Во-вторых, компания VMware выпустила вот такой замечательный постер, из которого можно узнать, как управлять хостом ESXi 5.1 через esxcli:
Теперь через esxcli можно делать операции shutdown, reboot и перевод хоста в maintenance mode.
Например, чтобы узнать, находится ли хост уже в режиме обслуживания нужно выполнить команду:
# esxcli system maintenanceMode get
Disabled
#
А чтобы перевести хост в maintenance mode нужно выполнить:
# esxcli system maintenanceMode set -e true -t 0
#
# esxcli system maintenanceMode get
Enabled
#
Выключить хост ESXi можно так (-d 10 это то же, что и --delay="10", а -r это --reason):
# esxcli system shutdown poweroff -d 10 --reason="Hardware maintenance"
delay здесь задается в секундах.
Перезагрузить можно так:
# esxcli system shutdown reboot -d 10 –r "Patches applied"
Но самое интересное, что теперь появились команды, которые позволяют посмотреть отличия Advanced Settings от дефолтных настроек на хосте ESXi 5.1, что очень полезно при поиске и решении проблем с хост-сервером и его виртуальными машинами. Делается это с помощью команды (-d это то же, что и --delta):
# esxcli system settings advanced list -d
Вывод, например, может быть таким:
Path: /UserVars/SuppressShellWarning
Type: integer
Int Value: 1
Default Int Value: 0
Min Value: 0
Max Value: 1
String Value:
Default String Value:
Valid Characters:
Description: Don’t show warning for enabled local and remote shell access
Здесь мы видим, какое текущее значение расширенной настройки и какое дефолтное (о настройке /UserVars/SuppressShellWarning написано тут). То же самое можно проделать и настройками VMkernel:
# esxcli system settings kernel list -d
Вывод, например, такой:
Name Type Description Configured Runtime Default
————— — ———————— ——— —— ——
smallFontForTTY Bool Use 50-line font for tty. true FALSE FALSE
Это значит, что была изменена настройка smallFontForTTY.
С выходом новой версии гипервизора VMware ESXi 5 некоторые старые команды и приемы работы с хост-сервером ушли в прошлое, однако появилось несколько новых трюков, которые мы приведем в этой заметке.
1. Простой способ собрать информацию для обращения в техподдержку VMware.
Теперь можно забрать дамп конфигурации ESXi 5.0 (diagnostic information) для техподдержки прямо из веб-браузера. Для этого в адресной строке просто наберите:
3. Выключить все виртуальные машины хоста ESXi 5.0 одним махом можно командой:
/sbin/poweroffVms
4. Теперь, чтоб не мучиться, есть утилита traceroute (в ESX 4.1 не было). Также есть следующие утилиты: unzip, Sync, pkill, strace, dmesg, ntp-keygen, ntpdc, ntpq.
5. Вместо команды esxcfg-firewall теперь esxcli network firewal. Как пользоваться - написано тут.
Интересную возможность управления кластером высокой доступности VMware HA демонстрирует Duncan Epping. Если в сервисной консоли VMware ESX ввести команду:
/opt/vmware/aam/bin/Cli
а потом набрать команду:
ln
то мы увидим вот такую картинку:
В колонке Type мы видим значение Primary - это тип узла кластера VMware HA (всего может быть 5 Primary узлов, соответственно виртуальная инфраструктура гарантированно выдерживает до 4-х отказов включительно). Далее можно превратить Primary-ноду в Secondary:
Компания VMware предоставляет пользователям бесплатное средство VMware vSphere Management Assistant (vMA), которое позволяет централизованно управлять хост-серверами VMware ESX за счет автоматизации операций системных администраторов. По-сути, vSphere Management Assistant представляет собой "вынесенную" за пределы серверов ESX сервисную консоль (консольную ОС), которая для виртуальной инфраструктуры присутствует в единственном экземпляре, но централизованно исполняет сценарии на хостах...
Как известно, вместе с сервером виртуализации VMware ESX в составе пакета VMware vSphere идет консольная операционная система (Service Console), с помощью которой из интерфейса командной строки (Command Line Interface, CLI) можно управлять сервером виртуализации. Для бесплатного продукта VMware ESXi такой ОС не предусмотрено, поэтому им можно управлять удаленно, через, соответственно, удаленный интерфейс командной строки. Этот интерфейс называется RCLI (Remote Command Line Interface) и доступен как в виде пакета для Windows и Linux, так и в виде готовой виртуальной машины vSphere Management Assistant (vMA).
В приведенной ниже таблице указан список команд CLI для сервера VMware ESX, а также соответствующий им список команд RCLI для управления сервером VMware ESXi. Для ESX обычно импользуются команды вида esxcfg-***, для ESXi эти команды выглядят как vicfg-***. В колонке "Команда RCLI" приведены команды, которые можно выполнять из vMA для vSphere или RCLI, в колонках "Доступность в ESXi 4" и "Доступность в ESX 4" сказано, может ли команда выполняться на сервере локально. В колонке "Доступность через VC 4" сказано, может ли команда выполняться через GUI на vCenter посредством vSphere Client. Столбец "Аналог в CLI" говорит о том, какая команда используется в Service Console для выполнения данной операции.
Итак, команды CLI и RCLI для управления VMware vSphere в части сервера ESX:
Номер
Команда RCLI (ESXi)
Доступность в ESXi 4
Доступность в ESX 4
Доступность через VC 4
Аналог в CLI (ESX)
Описание (для чего используется)
1
esxcli
да
да
нет
esxcli
Управление модулями pluggable storage architecture (PSA) & native multipathing (NMP) - доступ по нескольким путям.
2
resxtop
да
да
да
esxtop
Производит мониторинг системных ресурсов в реальном времени в интерактивном или пакетном режимах. Поддерживается только для Linux.
3
svmotion
нет
нет
да
Динамически переносит работающую виртуальную машину на другое хранилище за счет технологии Storage VMotion. С ключом --interactive работает в интерактивном режиме.
4
vicfg-advcfg
да
да
да
esxcfg-advcfg
Дополнительное управление CIM-провайдерами (ESXi) или расширенными настройками ESX / ESXi. Использовать нужно с осторожностью.
5
vicfg-cfgbackup
да
нет
нет
esxcfg-cfgbackup
Создает резервную копию ESXi и восстанавливает ее.
6
vicfg-dns
да
да
да
esxcfg-dns
Управляет конфигурацией DNS на сервере ESX / ESXi.
7
vicfg-dumppart
да
да
да
esxcfg-dumppart
Управляет диагностическими разделами.
8
vicfg-iscsi
да
да
да
esxcfg-hwiscsi и esxcfg-swiscsi
Управляет хранилищем iSCSI (software и hardware).
9
vicfg-module
да
да
да
esxcfg-module
Управляет модулями ядра VMkernel.
10
vicfg-mpath
да
да
да
esxcfg-mpath
Используется для взаимодействия с дисковыми массивами и вывода информации о путях.
11
vicfg-mpath35
нет
нет
нет
Используется для взаимодействия с дисковыми массивами хостов ESX 3.5.