VMWare ESXi hüpervisori graatsiline väljalülitamine APC UPS-i kriitilisel akutasemel

Seal on palju artikleid selle kohta, kuidas PowerChute Business Editionit konfigureerida ja kuidas PowerShellist VMWare'iga ühendust luua, kuid millegipärast ei leidnud ma seda kõike ühest kohast koos peente punktide kirjeldusega. Aga nad on olemas.

1. Sissepääs

Hoolimata sellest, et meil on mingi seos energeetikaga, tekib vahel probleeme elektriga. Siin tuleb mängu UPS, kuid selle akud ei pea kahjuks kaua vastu. Mida teha? Lülita välja!

Kuigi kõik serverid olid füüsilised ja asjad läksid hästi, aitas PowerChute Business Edition meid hädast välja. Tasuta, 5 serveri jaoks, mis oli täiesti piisav. Ühte masinasse installiti agent, server ja konsool. Lõpu lähenedes käivitas agent lihtsalt käsufaili, mis saatis naaberserveritele faili shutdown.exe /s /m, ja sulges seejärel oma OS-i. Kõik on elus.
Siis oli aeg virtuaalmasinateks.

2. Taust ja peegeldused

Mis meil siis on? Mitte midagi – üks füüsiline server Windows Server 2008 R2-ga ja üks hüperviisor mitme virtuaalmasinaga, sealhulgas Windows Server 2019, Windows Server 2003 ja CentOS. Ja veel üks UPS – APC Smart-UPS.

Kuulsime NUTIst, kuid pole veel jõudnud seda uurida; kasutasime ainult seda, mis oli käepärast, nimelt PowerChute Business Editioni.

Hüperviisor saab oma virtuaalsed masinad ise välja lülitada; jääb üle vaid öelda, et on aeg. On selline kasulik asi VMWare.PowerCLI, see on Windows Powershelli laiendus, mis võimaldab teil luua ühenduse hüperviisoriga ja öelda talle kõike, mida vajate. Seal on ka palju artikleid PowerCLI sätete kohta.

3. Protsess

UPS oli füüsiliselt ühendatud 2008. aasta serveri com-pordiga, õnneks oli see olemas. Kuigi see pole oluline - liidesemuunduri (MOXA) kaudu oli võimalik ühendada mis tahes virtuaalse Windowsi serveriga. Lisaks tehakse kõik toimingud masinas, millega UPS on ühendatud – Windows Server 2008, kui pole selgesõnaliselt öeldud teisiti. Sellele installiti PowerChute Business Editioni agent. Siin on esimene peen punkt: agenditeenus tuleb käivitada mitte süsteemist, vaid kasutajalt, vastasel juhul ei saa agent cmd-faili käivitada.

Järgmisena installisime .Net Framework 4.7. Siin on vaja taaskäivitamist, isegi kui raamistik seda pärast installimist selgesõnaliselt ei küsi, muidu ei lähe see kaugemale. Pärast võib ikka uuendusi tulla, mis tuleb samuti installida.

Järgmisena installisime PowerShell 5.1. Nõuab ka taaskäivitamist, isegi kui ta ei küsi.
Järgmisena installige PowerCLI 11.5. Üsna värske versioon, sellest ka varasemad nõuded. Saate seda teha Interneti kaudu, selle kohta on palju artikleid, kuid oleme selle juba alla laadinud, nii et kopeerisime lihtsalt kõik failid moodulite kausta.

Kontrollitud:

Get-Module -ListAvailable

Ok, näeme, et oleme installinud:

Import-Module VMWare.PowerCLI

Jah, Powershelli konsool käivitatakse loomulikult administraatorina.

Powershelli seaded.

  • Lubage mis tahes skriptide käivitamine:

Set-ExecutionPolicy Unrestricted

  • Või saate lubada ainult skriptisertifikaatide ignoreerimist:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Lubage PowerCLI-l luua ühendus kehtetute (aegunud) sertifikaatidega serveritega:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Lülitage välja PowerCLI-teate väljund kogemustevahetusprogrammiga liitumise kohta, vastasel juhul on logis palju ebavajalikku teavet:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Salvestage kasutaja mandaadid VMWare'i hosti sisselogimiseks, et mitte neid skriptis selgesõnaliselt kuvada:

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

Kontrollimine näitab, kelle me salvestasime:

Get-VICredentialStoreItem

Ühendust saate ka kontrollida: Connect-VIServeri aadress.

Skript ise, näiteks: ühendatud, välja lülitatud, igaks juhuks lahti ühendatud, on võimalikud järgmised valikud:


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

4. Vaikimisi.cmd

Sama partiifail, mille käivitas APC agent. See asub jaotises „C:Program Files[ (x86)]APCPowerChute Business Editionagentcmdfiles” ja sees:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" - fail "C:...shutdown_hosts.ps1"
Tundub, et kõik oli konfigureeritud ja kontrollitud, käivitasime isegi cmd - see töötab õigesti, lülitab selle välja.

Käivitame APC-konsoolist käsufaili testi (seal on nupp Test) - see ei tööta.

Siin on see ebamugav hetk, mil kogu tehtud töö pole viinud midagi.

5. Katarsis

Vaatame tegumihaldurit, näeme cmd-välke, powershelli vilkumisi. Vaatame lähemalt - cmd *32 ja vastavalt ka powershell *32. Me mõistame seda APC agenditeenus on 32-bitine, mis tähendab, et see käitab vastavat konsooli.

Käivitame administraatorina Powershell x86 ning installime ja konfigureerime PowerCLI uuesti alates 3. sammust.

Noh, muudame Powershelli kõneliini:

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

6. Õnnelik lõpp!

Allikas: www.habr.com

Lisa kommentaar