Korrekte ôfsluting fan 'e VMWare ESXi hypervisor as it APC UPS-batterijladingsnivo kritysk is

D'r binne in protte artikels oer hoe't jo PowerChute Business Edition konfigurearje en hoe't jo ferbine mei VMWare fan PowerShell, mar op ien of oare manier koe ik dit alles net fine op ien plak, mei in beskriuwing fan 'e subtile punten. Mar se bestean.

1. Ynlieding

Nettsjinsteande it feit dat wy wat ferbining hawwe mei enerzjy, ûntsteane soms problemen mei elektrisiteit. Dit is wêr't de UPS yn spiel komt, mar har batterijen, helaas, duorje net lang. Wat te dwaan? Útsette!

Wylst alle servers fysyk wiene, gongen dingen goed, PowerChute Business Edition holp ús út. Fergees, foar 5 servers, wat genôch wie. In agint, server en konsole waarden ynstalleare op ien masine. Doe't it ein tichterby kaam, die de agint gewoan in kommando-bestân dy't shutdown.exe /s /m stjoerde nei oanbuorjende tsjinners, en dan syn OS ôfslute. Elkenien is yn libben.
Doe wie it tiid foar firtuele masines.

2. Eftergrûn en refleksjes

Dus wat hawwe wy? Helemaal neat - ien fysike tsjinner mei Windows Server 2008 R2 en ien hypervisor mei ferskate firtuele masines, ynklusyf Windows Server 2019, Windows Server 2003, en CentOS. En in oare UPS - APC Smart-UPS.

Wy hearden oer NUT, mar binne noch net om it te bestudearjen; wy brûkten allinich wat by de hân wie, nammentlik PowerChute Business Edition.

De hypervisor kin har firtuele masines sels útsette; alles wat oerbliuwt is it te fertellen dat it tiid is. D'r is sa'n nuttich ding VMWare.PowerCLI, dit is in útwreiding foar Windows Powershell wêrmei jo ferbine kinne mei de hypervisor en alles fertelle wat jo nedich binne. D'r binne ek in protte artikels oer PowerCLI-ynstellingen.

3. Proses

De UPS wie fysyk ferbûn mei de com-poarte fan 'e 2008-tsjinner, lokkich wie it der. Hoewol dit net wichtich is - it wie mooglik om te ferbinen fia in ynterface-konverter (MOXA) nei elke firtuele Windows-tsjinner. Fierder wurde alle aksjes útfierd op 'e masine wêrmei de UPS is ferbûn - Windows Server 2008, útsein as eksplisyt oars oanjûn. De PowerChute Business Edition-agint waard derop ynstalleare. Hjir is it earste subtile punt: de agenttsjinst moat net fan it systeem lansearre wurde, mar fan 'e brûker, oars kin de agent it cmd-bestân net útfiere.

Dêrnei hawwe wy .Net Framework 4.7 ynstalleare. In herstart is hjir nedich, sels as it ramt der nei ynstallaasje net eksplisyt om freget, oars giet it net fierder. Neitiid kinne noch updates komme, dy't ek ynstallearre wurde moatte.

Folgjende hawwe wy PowerShell 5.1 ynstalleare. Ek fereasket in trochstart, ek al freget er net.
Ynstallearje dan PowerCLI 11.5. Hiel resinte ferzje, dus de foarige easken. Jo kinne it fia it ynternet dwaan, d'r binne in protte artikels oer dit, mar wy hawwe it al ynladen, dus wy hawwe gewoan alle bestannen kopieare nei de map Modules.

kontrolearre:

Get-Module -ListAvailable

Ok, wy sjogge dat wy ynstalleare hawwe:

Import-Module VMWare.PowerCLI

Ja, de Powershell-konsole wurdt fansels lansearre as Administrator.

Powershell ynstellings.

  • Tastean útfiering fan alle skripts:

Set-ExecutionPolicy Unrestricted

  • Of jo kinne allinich tastean dat skriptsertifikaten negeare wurde:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Lit PowerCLI ferbine mei servers mei ûnjildige (ferrûne) sertifikaten:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Underdruk de útfier fan it PowerCLI-berjocht oer meidwaan oan it programma foar útwikseling fan ûnderfining, oars sil d'r in protte oerstallige ynformaasje yn it log wêze:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Bewarje de brûkersbewizen foar it oanmelden by de VMWare-host om se net eksplisyt yn it skript te sjen:

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

Kontrolearje sil sjen litte wa't wy bewarre hawwe:

Get-VICredentialStoreItem

Jo kinne ek kontrolearje de ferbining: Connect-VIServer adres.

It skript sels, bygelyks: ferbûn, útskeakele, losmakke foar it gefal dat de folgjende opsjes mooglik binne:


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

4. Default.cmd

Itselde batchbestân dat wurdt lansearre troch de APC-agint. It leit yn "C: Program Files[(x86)]APCPowerChute Business Editionagentcmdfiles", en binnen:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Bestân "C:...shutdown_hosts.ps1"
It liket derop dat alles is konfigureare en kontrolearre, wy hawwe sels cmd lansearre - it wurket goed, skeakelet it út.

Wy rinne in kommandobestântest út 'e APC-konsole (d'r is in Testknop dêr) - it wurket net.

Hjir is it, dat ûnhandige momint dat al it dien wurk ta neat laat hat.

5. Katarsis

Wy sjogge nei de taakbehearder, wy sjogge cmd-flitsen, powershell-flitsen. Litte wy in tichterby besjen - cmd *32 en, dus, powershell *32. Wy begripe dat De APC-agenttsjinst is 32-bit, wat betsjut dat it de oerienkommende konsole rint.

Wy starte powershell x86 as behearder, en ynstallearje en konfigurearje PowerCLI fan stap 3 wer.

No, litte wy de powershell-opropline feroarje:

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

6. Lokkich ein!

Boarne: www.habr.com

Add a comment