Apagueu correctament l'hipervisor VMWare ESXi quan el nivell de càrrega de la bateria de l'APC UPS sigui crític

Hi ha molts articles sobre com configurar PowerChute Business Edition i com connectar-se a VMWare des de PowerShell, però d'alguna manera no he pogut trobar tot això en un sol lloc, amb una descripció dels punts subtils. Però existeixen.

1. Introducció

Malgrat que tenim certa connexió amb l'energia, de vegades sorgeixen problemes amb l'electricitat. Aquí és on entra en joc el SAI, però les seves bateries, per desgràcia, no duren gaire. Què fer? Tanca!

Tot i que tots els servidors eren físics, les coses anaven bé, PowerChute Business Edition ens va ajudar. Gratuït, per a 5 servidors, que era prou. Es van instal·lar un agent, un servidor i una consola en una màquina. Quan s'acostava el final, l'agent simplement va executar un fitxer d'ordres que enviava shutdown.exe /s /m als servidors veïns i després va tancar el seu sistema operatiu. Tothom és viu.
Aleshores va ser el moment de les màquines virtuals.

2. Antecedents i reflexions

Aleshores, què tenim? Res de res: un servidor físic amb Windows Server 2008 R2 i un hipervisor amb diverses màquines virtuals, incloses Windows Server 2019, Windows Server 2003 i CentOS. I un altre SAI: APC Smart-UPS.

Hem sentit a parlar de NUT, però encara no hem arribat a estudiar-lo; només hem utilitzat el que teníem a mà, és a dir, PowerChute Business Edition.

L'hipervisor pot apagar les seves màquines virtuals per si mateix; només queda dir-li que és el moment. Hi ha una cosa tan útil VMWare.PowerCLI, aquesta és una extensió per a Windows Powershell que us permet connectar-vos a l'hipervisor i dir-li tot el que necessiteu. També hi ha molts articles sobre la configuració de PowerCLI.

3. Procés

El SAI estava connectat físicament al port de comunicacions del servidor 2008, afortunadament hi era. Tot i que això no és important, era possible connectar-se mitjançant un convertidor d'interfície (MOXA) a qualsevol servidor virtual de Windows. A més, totes les accions es realitzen a la màquina a la qual està connectat el SAI: Windows Server 2008, tret que s'indiqui el contrari explícitament. S'hi va instal·lar l'agent PowerChute Business Edition. Aquí hi ha el primer punt subtil: el servei de l'agent s'ha de llançar no des del sistema, sinó des de l'usuari, en cas contrari l'agent no podrà executar el fitxer cmd.

A continuació hem instal·lat .Net Framework 4.7. Cal reiniciar aquí, encara que el marc no ho demani explícitament després de la instal·lació, en cas contrari no anirà més enllà. Després, encara poden arribar actualitzacions, que també s'han d'instal·lar.

A continuació, vam instal·lar PowerShell 5.1. També requereix un reinici, encara que no ho demani.
A continuació, instal·leu PowerCLI 11.5. Una versió força recent, d'aquí els requisits anteriors. Podeu fer-ho a través d'Internet, hi ha molts articles sobre això, però ja l'hem descarregat, així que només hem copiat tots els fitxers a la carpeta Mòduls.

Comprovat:

Get-Module -ListAvailable

D'acord, veiem que hem instal·lat:

Import-Module VMWare.PowerCLI

Sí, la consola Powershell, per descomptat, es llança com a administrador.

Configuració de Powershell.

  • Permet l'execució de qualsevol script:

Set-ExecutionPolicy Unrestricted

  • O només podeu permetre que els certificats d'script s'ignorin:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Permet que PowerCLI es connecti a servidors amb certificats no vàlids (caducats):

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Suprimeix la sortida del missatge PowerCLI sobre unir-te al programa d'intercanvi d'experiències, en cas contrari hi haurà molta informació innecessària al registre:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Deseu les credencials de l'usuari per iniciar sessió a l'amfitrió VMWare per no mostrar-les explícitament a l'script:

New-VICredentialStoreItem -Host address -User user -Password 'password'

La comprovació mostrarà qui hem desat:

Get-VICredentialStoreItem

També podeu comprovar la connexió: Adreça Connect-VIServer.

El propi script, per exemple: connectat, apagat, desconnectat per si de cas, són possibles les opcions següents:


    Connect-VIserver -Server $vmhost 
    Stop-VMHost $vmhost -force -Confirm:$false 
    Disconnect-VIserver $vmhost -Confirm:$false

4. Default.cmd

El mateix fitxer per lots que llança l'agent APC. Es troba a "C:Program Files[(x86)]APCPowerChute Business Editionagentcmdfiles" i dins:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Fitxer "C:...shutdown_hosts.ps1"
Sembla que tot estava configurat i comprovat, fins i tot vam llançar cmd: funciona correctament, l'apaga.

Executem una prova del fitxer d'ordres des de la consola APC (allà hi ha un botó de prova): no funciona.

Aquí està, aquell moment incòmode en què tota la feina feta no ha portat a res.

5. Catarsi

Mirem el gestor de tasques, veiem flaixos cmd, flashs Powershell. Fem una ullada més de prop: cmd *32 i, en conseqüència, powershell *32. Això ho entenem El servei d'agent APC és de 32 bits, el que significa que executa la consola corresponent.

Llencem powershell x86 com a administrador i tornem a instal·lar i configurar PowerCLI a partir del pas 3.

Bé, canviem la línia de trucada de Powershell:

"C:Windows<b>SysWOW64</b>WindowsPowerShellv1.0powershell.exe…

6. Final feliç!

Font: www.habr.com

Afegeix comentari