Se você tem python em execução, pode usar o script que escrevi abaixo para ativar e encerrar seu servidor ESXi. Eu tenho um Dell R810 em casa que eu uso como o meu Cisco VIRL Server e outras coisas, mas eu só ligar quando eu precisar. É lá embaixo, então eu queria uma maneira que eu poderia começar e pará-lo lá de cima. Eu habilitei o Wake On Lan na NIC principal no servidor (CTRL-S quando ele está inicializando e habilitado para sua NIC principal). No vSphere, configure suas VMs para iniciar e parar com o servidor, pois esse script encerrará suas VMs e desligará o servidor. Ative o ssh para seu servidor ESXi, insira o MAC da NIC principal e altere a senha da raiz, o ip do servidor e o caminho para o python abaixo.
python esxi.py -w Despertará o servidor enviando o pacote mágico WOL.
O python esxi.py -s desligará suas VMs e desligará seu servidor.
Dependências
paramiko
wakeonlan
argparse
####################Start Script
#!/home/mikepartain/scripts/esxi/bin/python
from wakeonlan import wol
import time, argparse, paramiko
parser = argparse.ArgumentParser()
parser.add_argument('-w', action='store_true', dest='wakeup')
parser.add_argument('-s', action='store_true', dest='shutdown')
args = parser.parse_args()
if args.wakeup:
print 'Waking up ESXI Server'
wol.send_magic_packet('f0.4d.a2.aa.aa.aa')
if args.shutdown:
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('192.168.178.10', username='root', password='#PASSWORD#')
stdin, stdout, stderr = ssh.exec_command('powerOffVms && halt')
print 'Shutting down ESXi Server'
ssh.close()
####################END Script
Se isso funcionar para você ou se você tiver uma maneira de melhorá-lo, avise-nos!
Mike Partain