LINUX.ORG.RU
ФорумAdmin

Удаленная перезагрузка виртуальных машин esxi

 , ,


0

2

Удаленная перезагрузка виртуальных машин на esxi. Например, если виртуальная машина не отвечает на telnet 192.168.0.1 80 послать команду перезагрузить. Можно на windows поставить PowerCLI написать скрипт и поставить в планировщик. Из под Linux кто-нибудь пробовал удаленно перезагружать виртуалки?

Можно на windows поставить PowerCLI написать скрипт и поставить в планировщик

Из под Linux кто-нибудь пробовал удаленно перезагружать виртуалки?

Можно в linux поставить bash написать скрипт и поставить в cron

l0stparadise ★★★★★
()
Ответ на: комментарий от useresxi

что из себя команда перегружающая сервер представляет ? запрос на определ порт или что-то другое ? И куда она отправляется ? на гипервизор ?

Jopich1
()
Ответ на: комментарий от Jopich1

Идея какая. Проверяем telnet 192.168.0.1 80 если не доступен, то с помощью PowerCLI подключаемся к серверу Connect-VIServer -server имя_сервера -user root -password пароль Дальше даем команду на перезагрузку Restart-VM имя_виртуальной_машины

Можно ли это сделать через linux?

useresxi
() автор топика

Из под Linux кто-нибудь пробовал удаленно перезагружать виртуалки?

Заходишь через веб-интерфейс и перегружаешь.

Guest_now
()
Ответ на: комментарий от Jopich1

Вернее через web интерфейс можно поставить планировщик на перезагрузку, вот только как сделать чтобы по условию перезагружалась виртуалка, когда не отвечает порт 80? а как можно web интерфейс cron дергать?

useresxi
() автор топика
Ответ на: комментарий от useresxi

о web интерфейс cron дергать?

curl, wget

от только как сделать чтобы по условию перезагружалась виртуалка, когда не отвечает порт 80

bash/perl/python скрипт

Jopich1
()
Ответ на: комментарий от Jopich1

Идея хорошая, только какую ссылку вставлять чтобы сразу определенная виртуалка перезагрузилась при чем не требуя пароля?

useresxi
() автор топика
Ответ на: комментарий от Guest_now

Написано, что VMware Scripting API (for VMware ESX Server 2.x, GSX Server 2.x, GSX Server 3.x, and ESX Server 3.0) Можно ли им управлять ESXI 5.1 вопрос хороший.

useresxi
() автор топика

Чем esxcli или rvc не устраивает?

anonymous
()

Забилась пепельница - продавай машину, правильно :)

Deleted
()

Есть vSphere CLI ( perl sdk + набор утилит )

Есть vcsa ( VCenter Server Appliance с уже установленными утилитами )

Но проще через PowerCLI, это давно основной вариант автоматизации для vSphere

router ★★★★★
()
Ответ на: комментарий от Jopich1

PowerShell и PowerCLI это не братья и даже не однофамильцы

Формально PowerCLI под linux есть, но сильно урезанный. Даже не смотрел его.

router ★★★★★
()

А теперь главный вопрос! А нафига перегружать если с него не telnet-ится? Что при этом поменяется? Может разобраться, почему http-сервер падает?

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от vodz

А теперь главный вопрос! А нафига перегружать если с него не telnet-ится?

Это просто для примера. Интересна сама возможность управлять гипервизором из командной строки linux

useresxi
() автор топика
Ответ на: комментарий от Guest_now

Поставил на Ubuntu vCLI по этой инструкции http://pubs.vmware.com/vsphere-5-5/topic/com.vmware.ICbase/PDF/vsphere-esxi-v...

Перед запуском скрипта vmware-install.pl надо зависимости поставить, которые в инструкции не описаны sudo aptitude install libarchive-zip-perl libclass-methodmaker-perl libuuid-perl libdata-dump-perl libsoap-lite-perl

vCLI скачивал отсюда https://my.vmware.com/group/vmware/details?productId=285&downloadGroup=VS...

Например, следующая команда позволяет подключиться к гипевизору и посмотреть какие виртуальные машины на нем есть. esxcli -s имя_сервера -u имя_пользователя -p пароль vm process list

useresxi
() автор топика
Ответ на: комментарий от useresxi

Например, следующая команда позволяет подключиться к гипевизору и посмотреть какие виртуальные машины на нем есть. esxcli -s имя_сервера -u имя_пользователя -p пароль vm process list

Так это скорее пример, как не юзая vsphere получить хоть что-то из linux. Иначе говоря, пока полноценной замены не будет, будет как в анектоде про японскую бензопилу и сибирских лесорубов с ломом.

vodz ★★★★★
()
Ответ на: комментарий от useresxi

Сейчас тестирую команду vmware-cmd. Пробу остановить виртуалку.

Столкнулся с проблемой vmware-cmd --server имя_сервера --username имя_пользователя --password пароль /vmfs/volumes/.............../server/server.vmx stop soft Выдает такое сообщение Server version unavailable at 'https://имя_сервера:443/sdk/vimService.wsdl' at /usr/share/perl/5.18/VMware/VICommon.pm line 545.

Версия гипервизора Esxi 5.1

Версия утилиты vmware-cmd --version vSphere SDK for Perl version: 5.1.0 Script 'vmware-cmd' version: 5.1.0

useresxi
() автор топика
Ответ на: комментарий от useresxi

Заработало

Необходимо добавить параметр $ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0 в файл VICommon.pm

sed -i «s/package Util;/package Util;\n\$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;/g» /usr/lib/vmware-vcli/VMware/share/VMware/VICommon.pm

Если не заработает, нужно добавить параметр $ssl_opts{SSL_verify_mode} ||= 0; в фал https.pm

sed -i «s/$ssl_opts{SSL_verify_mode} ||= 1;/$ssl_opts{SSL_verify_mode} ||= 0;/g» /usr/share/perl5/LWP/Protocol/https.pm

Это снижает безопасность, но работает.

useresxi
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.