VMWare ESXi -hypervisorin oikea sammutus, kun APC UPS:n akun lataustaso on kriittinen

Siellä on monia artikkeleita PowerChute Business Editionin määrittämisestä ja yhteyden muodostamisesta VMWareen PowerShellistä, mutta jotenkin en löytänyt kaikkea tätä yhdestä paikasta, jossa kuvattaisiin hienovaraisia ​​kohtia. Mutta niitä on olemassa.

1. merkintä

Huolimatta siitä, että meillä on jonkinlainen yhteys energiaan, sähkön kanssa tulee joskus ongelmia. Tässä UPS tulee peliin, mutta sen akut eivät valitettavasti kestä kauan. Mitä tehdä? Sammuttaa!

Vaikka kaikki palvelimet olivat fyysisiä, asiat sujuivat hyvin, PowerChute Business Edition auttoi meitä. Ilmainen, 5 palvelimelle, mikä riitti. Agentti, palvelin ja konsoli asennettiin yhdelle koneelle. Kun loppu lähestyi, agentti yksinkertaisesti suoritti komentotiedoston, joka lähetti shutdown.exe /s /m naapuripalvelimille ja sulki sitten käyttöjärjestelmän. Kaikki ovat elossa.
Sitten oli virtuaalikoneiden aika.

2. Tausta ja heijastukset

Joten mitä meillä on? Ei mitään – yksi fyysinen palvelin Windows Server 2008 R2:lla ja yksi hypervisor, jossa on useita virtuaalikoneita, mukaan lukien Windows Server 2019, Windows Server 2003 ja CentOS. Ja toinen UPS – APC Smart-UPS.

Kuulimme NUT:sta, mutta emme ole vielä päässeet opiskelemaan sitä; käytimme vain sitä, mikä oli käsillä, nimittäin PowerChute Business Editionia.

Hypervisor voi itse sammuttaa virtuaalikoneensa; ei jää muuta kuin kertoa sille, että on aika. On olemassa niin hyödyllinen asia VMWare.PowerCLI, tämä on Windows Powershellin laajennus, jonka avulla voit muodostaa yhteyden hypervisoriin ja kertoa sille kaiken tarvitsemasi. Siellä on myös monia artikkeleita PowerCLI-asetuksista.

3. Prosessi

UPS oli fyysisesti kytkettynä vuoden 2008 palvelimen com-porttiin, onneksi se oli siellä. Vaikka tämä ei ole tärkeää - oli mahdollista muodostaa yhteys MOXA:n kautta mihin tahansa virtuaaliseen Windows-palvelimeen. Lisäksi kaikki toiminnot suoritetaan koneella, johon UPS on kytketty - Windows Server 2008, ellei toisin mainita. PowerChute Business Edition -agentti asennettiin siihen. Tässä on ensimmäinen hienovarainen kohta: agenttipalvelua ei tarvitse käynnistää järjestelmästä, vaan käyttäjästä, muuten agentti ei pysty suorittamaan cmd-tiedostoa.

Seuraavaksi asensimme .Net Framework 4.7:n. Tässä vaaditaan uudelleenkäynnistys, vaikka kehys ei nimenomaisesti pyytäisi sitä asennuksen jälkeen, muuten se ei mene pidemmälle. Myöhemminkin saattaa vielä tulla päivityksiä, jotka on myös asennettava.

Seuraavaksi asensimme PowerShell 5.1:n. Vaatii myös uudelleenkäynnistyksenvaikka hän ei kysyisikään.
Asenna seuraavaksi PowerCLI 11.5. Melko tuore versio, joten aikaisemmat vaatimukset. Voit tehdä sen Internetin kautta, tästä on monia artikkeleita, mutta olemme jo ladaneet sen, joten kopioimme vain kaikki tiedostot Moduulit-kansioon.

Tarkistettu:

Get-Module -ListAvailable

Ok, näemme, että olemme asentaneet:

Import-Module VMWare.PowerCLI

Kyllä, Powershell-konsoli on tietysti käynnistetty järjestelmänvalvojana.

Powershell-asetukset.

  • Salli kaikkien komentosarjojen suorittaminen:

Set-ExecutionPolicy Unrestricted

  • Tai voit vain sallia komentosarjavarmenteiden huomiotta jättämisen:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Salli PowerCLI:n muodostaa yhteys palvelimiin, joilla on virheelliset (vanhentuneet) varmenteet:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Estä PowerCLI-sanoman tulos kokemustenvaihto-ohjelmaan liittymisestä, muuten lokiin tulee paljon turhaa tietoa:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Tallenna käyttäjän tunnistetiedot VMWare-isäntään kirjautumista varten, jotta ne eivät näy suoraan komentosarjassa:

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

Tarkistaminen näyttää kenet olemme tallentaneet:

Get-VICredentialStoreItem

Voit myös tarkistaa yhteyden: Connect-VIServer-osoite.

Itse komentosarja, esimerkiksi: kytketty, pois päältä, irrotettu varmuuden vuoksi, seuraavat vaihtoehdot ovat mahdollisia:


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

4. Oletus.cmd

Sama erätiedosto, jonka APC-agentti käynnistää. Se sijaitsee kansiossa "C:Program Files[ (x86)]APCPowerChute Business Editionagentcmdfiles" ja sisällä:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Tiedosto "C:...shutdown_hosts.ps1"
Näyttää siltä, ​​​​että kaikki oli määritetty ja tarkistettu, käynnistimme jopa cmd - se toimii oikein, sammuttaa sen.

Suoritamme komentotiedostotestin APC-konsolista (siellä on Testi-painike) - se ei toimi.

Tässä on se kiusallinen hetki, kun kaikki tehty työ ei ole johtanut mihinkään.

5. Katarsis

Katsomme tehtävänhallintaa, näemme cmd-vilkkuja, powershell-vilkkuja. Katsotaanpa tarkemmin - cmd *32 ja vastaavasti powershell *32. Ymmärrämme sen APC-agenttipalvelu on 32-bittinen, mikä tarkoittaa, että se käyttää vastaavaa konsolia.

Käynnistämme powershell x86:n järjestelmänvalvojana ja asennamme ja määritämme PowerCLI:n uudelleen vaiheesta 3 alkaen.

Vaihdetaanpa powershell-puhelulinjaa:

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

6. Onnellinen loppu!

Lähde: will.com

Lisää kommentti