Доброго времени суток, уважаемые читатели!
Мне бы хотелось поделиться с вами простым, и на мой взгляд, удобным способом управления виртуальными коммутаторами в инфраструктуре VMWare vSphere, не используя vDS (vSphere Distributed Switch).
Кто-то не использует vDS потому, что не видит в них надобности. Кто-то потому, что ему неудобно. Кто-то потому, что нет лицензии — ведь vDS требует Enterprise Plus лицензию vSphere.
Мы тоже пока используем обычные vSwitch, не смотря на наличие более 70 ESXi гипервизоров в инфраструктуре. И так получилось, что за время работы с ними, у меня скопилось множество PowerCLI скриптов для автоматической настройки тех или иных функций. И захотелось их объединить в нечто большее, сделав удобный инструмент для других администраторов. Через некоторое время я наткнулся на пакет Primal Forms (сейчас он называется PowerShell studio, есть урезанный Community Edition) и понял, что следующим шагом будет GUI. Primal Forms позволяет создавать GUI средствами самого PowerShell, однако существенно упрощая этот процесс — достаточно нарисовать GUI в редакторе, а потом простым щелчком по кнопке или другим управляющим элементам дописать код.
В итоге получилась скрипт-утилита позволяющая:
- Добавить портовую группу на все ESXi хосты в конкретный vSwitch
- Удалить портовую группу со всех хостов с конкретного vSwitch
- Добавить новый vSwitch с указанным MTU на все хосты
- Удалить vSwitch со всех хостов
- Проверить целостность: на всех ли хостах портовые группы одинаковы?
Плюс некоторые дополнительные плюшки:
- Включить/выключить SSH на каждом хосте
- Включить/выключить предупреждение о запущенном SSH на каждом хосте
Делать все это вручную на каждом хосте не только утомительно, но и довольно бестолково. Конечно, можно использовать host profiles, но для этого нужно переводить каждый хост в maintance mode. Да и те кто работали с host profiles могут подтвердить, что процесс применения профиля совсем не быстрый.
Примеры кода, и сама утилита под катом.
Читать полностью »