Quantcast
Channel: VMware Communities : Popular Discussions - Russia [ARCHIVED]
Viewing all articles
Browse latest Browse all 51334

Автоматическое выключение vSphere

$
0
0

Товарищи, вспомнил одну хорошую вещь, котороую я когда-то написал. Хочу поделиться.

 

Итак, зачастую надо быстро, а иногда удаленно, возможно автоматически погасить всю vSphere. Как это сделать? Способов много, один из них - через скрипт стандартного PowerCLI. Мне это потребовалось для системы мониторинга, которая должна была всё выключить если электропитание пропало более чем на 10 минут.

 

Сам долго копал гугл, нашел несколько готовых скриптов, но все они были дюже сырые и кривые. Посему, написал свой собственный с комментами внутри скрипта. Каждый может поменять всё под свои нужды. Не претендую на супероптимизацию в скрипте, но зато он точно работает.

 

Итак, как это должно настраиваться?

1. На машине, исполняющей скрипт, должен быть установлен PowerCLI, это понятно. Потом, машина эта должна иметь доступ к vCenter и хостам напрямую по сети. Скрипт будет туда логиниться. В моём случае для vCenter одна учетка, для всех хостов другая. Ну, и по логике это должна быть физическая машина.

2. На этой машине 1 раз надо запустить скрипт вручную, чтобы во всплывшем окошке нажать ДА, иначе работать не будет. В следующие разы просить не будет. Естественно, при этом первом запуске надо убрать строчки, выключающие всё Будет простой ничего не делающий скрипт.

3. Скрипт работает следующим образом:

Запускается павершелл, запускается оснастка для vSphere, логинимся на вЦентр, смотрим сколько машинок запущено, говорим всем мягкий шатдаун, берем список хостов, которыми управляет вЦентр, выходим из вЦентра (потому как скорее всего вЦентр это тоже ВМ и она уже выключается). Потом логинимся на сами хосты, запускаем обратный отсчет нужной длины, ждем пока выключатся все ВМ. Что перое наступит. Либо ВМ все выключатся, либо время выйдет. Потом выключаем все хосты.

 

Всех тонкостей не знаю, написал как смог, просьба не закидывать помидорами, авось кому пригодится.

 

P.S. В архиве лежит полезная программка PsExec.exe, позволяющая запускать скрипт с удаленной машины из командной строки. Можно использовать из под системы мониторинга. Синтаксис прилагается. Поясню на пальцах: есть машина А, есть машина Б. Мы можем с машины А запустить команду так, чтобы что-то физически исполнилось на машине Б.

Все данные по настройкам в самом скрипте.


Viewing all articles
Browse latest Browse all 51334

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>