Mbyllja e saktë e hipervizorit VMWare ESXi kur niveli i ngarkimit të baterisë APC UPS është kritik

Ka shumë artikuj atje se si të konfiguroni PowerChute Business Edition dhe si të lidheni me VMWare nga PowerShell, por disi nuk mund t'i gjeja të gjitha këto në një vend, me një përshkrim të pikave delikate. Por ato ekzistojnë.

1. hyrje

Pavarësisht se kemi njëfarë lidhje me energjinë, ndonjëherë lindin probleme me energjinë elektrike. Këtu hyn në lojë UPS, por bateritë e tij, mjerisht, nuk zgjasin shumë. Çfarë duhet bërë? Fike!

Ndërsa të gjithë serverët ishin fizikë, gjërat po shkonin mirë, PowerChute Business Edition na ndihmoi. Falas, për 5 serverë, që ishte mjaft e mjaftueshme. Një agjent, server dhe tastierë u instaluan në një makinë. Me afrimin e fundit, agjenti thjesht ekzekutoi një skedar komandimi që dërgoi shutdown.exe /s /m te serverët fqinjë dhe më pas mbylli OS-në e tij. Të gjithë janë gjallë.
Pastaj erdhi koha për makinat virtuale.

2. Sfondi dhe reflektimet

Pra, çfarë kemi ne? Asgjë - një server fizik me Windows Server 2008 R2 dhe një hipervizor me disa makina virtuale, duke përfshirë Windows Server 2019, Windows Server 2003 dhe CentOS. Dhe një tjetër UPS - APC Smart-UPS.

Kemi dëgjuar për NUT, por nuk kemi arritur ende ta studiojmë atë; ne përdorëm vetëm atë që kishim në dorë, domethënë PowerChute Business Edition.

Hipervizori mund të mbyllë vetë makinat e tij virtuale; gjithçka që mbetet është t'i tregojmë se është koha. Ekziston një gjë kaq e dobishme VMWare.PowerCLI, kjo është një shtesë për Windows Powershell që ju lejon të lidheni me hipervizorin dhe t'i tregoni gjithçka që ju nevojitet. Ka gjithashtu shumë artikuj atje rreth cilësimeve të PowerCLI.

3. Procesi

UPS-i ishte i lidhur fizikisht me portin com të serverit 2008, për fat të mirë ishte aty. Edhe pse kjo nuk është e rëndësishme - ishte e mundur të lidhesh me një konvertues ndërfaqeje (MOXA) me çdo server virtual të Windows. Më tej, të gjitha veprimet kryhen në makinën me të cilën është lidhur UPS - Windows Server 2008, përveç nëse shprehimisht shprehet ndryshe. Agjenti PowerChute Business Edition u instalua në të. Këtu është pika e parë delikate: shërbimi i agjentit duhet të nisë jo nga sistemi, por nga përdoruesi, përndryshe agjenti nuk do të jetë në gjendje të ekzekutojë skedarin cmd.

Më pas instaluam .Net Framework 4.7. Këtu kërkohet një rindezje, edhe nëse korniza nuk e kërkon në mënyrë eksplicite pas instalimit, përndryshe nuk do të shkojë më tej. Më pas, përditësimet mund të vijnë ende, të cilat gjithashtu duhet të instalohen.

Më pas instaluam PowerShell 5.1. Kërkon gjithashtu një rindezje, edhe nëse nuk pyet.
Më pas, instaloni PowerCLI 11.5. Një version mjaft i fundit, prandaj kërkesat e mëparshme. Mund ta bëni përmes Internetit, ka shumë artikuj në lidhje me këtë, por ne e kemi shkarkuar tashmë, kështu që thjesht i kopjuam të gjithë skedarët në dosjen Modules.

Kontrolluar:

Get-Module -ListAvailable

Ok, ne shohim që kemi instaluar:

Import-Module VMWare.PowerCLI

Po, tastiera Powershell sigurisht që është lançuar si Administrator.

Cilësimet e Powershell.

  • Lejo ekzekutimin e çdo skripti:

Set-ExecutionPolicy Unrestricted

  • Ose mund të lejoni vetëm që certifikatat e skriptit të shpërfillen:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Lejo që PowerCLI të lidhet me serverë me certifikata të pavlefshme (të skaduara):

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Mbyllni daljen e mesazhit PowerCLI për t'u bashkuar me programin e shkëmbimit të përvojës, përndryshe do të ketë shumë informacione të panevojshme në regjistër:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Ruani kredencialet e përdoruesit për t'u identifikuar në hostin VMWare në mënyrë që të mos i shfaqni ato në mënyrë eksplicite në skript:

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

Kontrollimi do të tregojë se kë kemi ruajtur:

Get-VICredentialStoreItem

Mund të kontrolloni gjithashtu lidhjen: Connect-VIServer address.

Vetë skripti, për shembull: i lidhur, i fikur, i shkëputur për çdo rast, opsionet e mëposhtme janë të mundshme:


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

4. E paracaktuar.cmd

I njëjti skedar grumbull që lëshohet nga agjenti APC. Ndodhet në "C:Program Files[ (x86)]APCpowerChute Business Editionagentcmdfiles", dhe brenda:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Skedari "C:...shutdown_hosts.ps1"
Duket sikur gjithçka ishte konfiguruar dhe kontrolluar, madje kemi nisur cmd - funksionon si duhet, e fiket.

Ne kryejmë një provë të skedarit të komandës nga tastiera APC (ekziston një buton Test atje) - nuk funksionon.

Ja ku është ai momenti i sikletshëm kur e gjithë puna e bërë nuk ka çuar në asgjë.

5. Katarsis

Ne shikojmë menaxherin e detyrave, shohim ndezje cmd, ndezje të powershell. Le të hedhim një vështrim më të afërt - cmd *32 dhe, në përputhje me rrethanat, powershell *32. Ne e kuptojmë atë Shërbimi i agjentit APC është 32-bit, që do të thotë se ai drejton tastierën përkatëse.

Ne lëshojmë powershell x86 si administrator dhe instalojmë dhe konfigurojmë PowerCLI nga hapi 3 përsëri.

Epo, le të ndryshojmë linjën e thirrjes së powershell:

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

6. Fund i lumtur!

Burimi: www.habr.com

Shto një koment