VMWare ESXi hüperviisori korrektsed väljalülitamise protseduurid APC UPSi kriitilise aku taseme korral

Võrgus on palju artikleid selle kohta, kuidas seadistada PowerChute Business Editionit ja kuidas ühendada VMWare'i PowerShellist, kuid kõike seda ühes kohas, sealhulgas peeneid nüansse, pole kuidagi kokku saadud. Need nüansid aga eksisteerivad.

1. Sissejuhatus

Hoolimata meie seotuse energiasektoriga, esinevad elektriprobleemid vahel ikka. Siinkohal astub mängu UPS, kuid kahjuks pole ka selle akud kauakestvad. Mida teha? Lülitada välja!

Kuni kõik serverid olid füüsilised, läks kõik kenasti, PowerChute Business Edition aitas meid. Tasuta, kuni 5 serverid, mis oli täiesti piisav. Ühel masinal oli installitud agent, server ja konsool. Kui lõpp lähenes, käivitas agent lihtsalt käsufaili, mis saadab kõrvalseisvatele serveritele shutdown.exe /s /m, ja siis suletakse tema enda opsüsteem. Kõik on elus.
Siis tuli aeg virtuaalmasinate.

2. Algandmed ja mõtted

Nii, mida me siis omame? Mitte midagi – üks füüsiline server Windows Server 2008 R2 ja üks hüperviisor mitme virtuaalse masinaga, sealhulgas Windows Server 2019, Windows Server 2003 ja CentOS. Ja veel UPS – APC Smart-UPS.

Nutist olime kuulnud, kuid seni pole selle uurimisega jõudnud tegeleda, oleme kasutanud ainult seda, mis käepärast olla, nimelt PowerChute Business Editionit.

Hüperviisor suudab ise oma virtuaalmasinad sulgeda, jääb vaid temale teatada, et on aeg. On selline kasulik vahend nagu VMWare.PowerCLI, mis on laiendus Windows PowerShellile, mis võimaldab ühendada hüperviisoriga ja edastada vajalikud teated. PowerCLI seadistuse kohta on samuti palju artikleid olemas.

3. Protsess

UPS on füüsiliselt ühendatud 2008 serveri com-porti, õnneks oli see olemas. Kuigi see ei ole põhimõtteliselt oluline – oleks võinud ühendada mis tahes virtuaalse Windows serveriga läbi liidestekonverteri (MOXA). Edasi toimuvad kõik toimingud masinas, kuhu UPS on ühendatud – Windows Server 2008, kui ei ole selgelt märgitud teisiti. Seal paigaldati PowerChute Business Edition agent. Siin on esimene õrn nüanss: agendi teenus tuleb käivitada mitte süsteemist, vaid kasutajalt, muidu ei suuda agent cmd-faili käivitada.

Edasi paigaldasime .Net Framework 4.7. Siin on vajalik taaskäivitamine, isegi kui raamistik seda pärast installimist selgelt ei nõua, muidu ei edene edasi. Pärast võib tulla ka uuendusi, need tuleb samuti installida.

Edasi paigaldasime PowerShell 5.1. Ka siin on vajalik taaskäivitamine, isegi kui seda ei nõuta.
Jätkame PowerCLI 11.5 installimist. See on üsna uus versioon, seega ka varasemad nõuded. Saame alla laadida internetist, sellest on palju artikleid, kuid meil oli see juba allalaaditud, seega kopeerisime lihtsalt kõik failid kausta Modules.

Kontrollisime:

Get-Module -ListAvailable

Okei, näeme, et oleme installinud:

Import-Module VMWare.PowerCLI

Jah, PowerShelli konsool on kindlasti avatud administraatorina.

PowerShelli seaded.

  • Lubage igasuguste skriptide täitmine:

Set-ExecutionPolicy Unrestricted

  • Või lubage ainult ignoreerida skriptide sertifikaate:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Lubage PowerCLI ühendus serveritega, millel on kehtetud (aegunud) sertifikaadid:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Vaigistage PowerCLI teade osalemise kohta kogemuste vahetamise programmis, muidu on logis palju liigset:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Salvesta kasutaja sisselogimise andmed VMWare hostile, et neid skriptis avalikult mitte näidata:

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

Kontrollimine näitab, kelle oleme salvestanud:

Get-VICredentialStoreItem

Saame ka ühendust kontrollida: Connect-VIServer address.

Skript, näiteks: ühendame, peatame, igaks juhuks lahti, võimalused on järgmised:


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

4. Default.cmd

Just see käskluse fail, mis käivitub APC agendi poolt. Asub "C:Program Files[ (x86)]APCPowerChute Business Editionagentcmdfiles", ja sees:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -File "C:…shutdown_hosts.ps1"
Tundub, et oleme kõik seadistanud ja kontrollinud, isegi käivitasime cmd – töötab õigesti, sulgeb.

Käivitame APC konsooli käskluse faili kontrollimise (seal on nupp Test) – ei tööta.

Ahaa, see on see ebamugav hetk, kui kogu vaeva pole vilju toonud.

5. Katarssis

Vaadates ülesannete haldurit, näeme – cmd vilksas, powershell vilksas. Jätkame tähelepanelikult jälgimist – cmd *32 ja seega powershell *32. Saame aru, et APC agendi teenus on 32-bitine, seega käivitab see vastava konsooli.

Käivitame PowerShell x86 administraatorina, teeme PowerCLI installimise ja seadistamise punktist 3 uuesti.

Ja muudame PowerShelli käivitusliini:

"C:Windows<b>64-bitistele süsteemidele).</b>WindowsPowerShellv1.0powershell.exe…

6. Õnnelik lõpp!

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster