Di asta krîtîk a bateriya APC UPS-ê de qutkirina dilşewat a hîpervisorê VMWare ESXi

Li wir gelek gotar hene ku meriv çawa PowerChute Business Edition mîheng dike û meriv çawa ji PowerShell-ê bi VMWare ve girêdide, lê bi rengekî min nekarî van hemîyan li yek cîhek bibînim, bi ravekirina xalên nazik. Lê ew hene.

1. Destpêk

Digel ku hin têkiliya me bi enerjiyê re heye, carinan pirsgirêkên elektrîkê derdikevin. Li vir UPS tê lîstin, lê bataryayên wê, mixabin, pir dirêj nakin. Çi bikim? Temirandin!

Dema ku hemî server fîzîkî bûn, tişt baş diçûn, PowerChute Business Edition alîkariya me kir. Belaş, ji bo 5 pêşkêşkeran, ku pir bes bû. Agent, server û konsolek li ser yek makîneyê hate saz kirin. Her ku dawî nêzîk bû, ajan tenê pelek fermanek ku shutdown.exe /s /m şand serverên cîran, û dûv re OS-ya xwe qut kir. Her kes sax e.
Dûv re dema makîneyên virtual bû.

2. Paşnav û refleks

Îcar çi me heye? Qet tiştek tune - serverek laşî bi Windows Server 2008 R2 û yek hîpervisor bi çend makîneyên virtual, di nav de Windows Server 2019, Windows Server 2003, û CentOS. Û UPS-a din - APC Smart-UPS.

Me li ser NUT bihîst, lê hîna negihîştiye xwendina wê; me tenê ya ku di dest de bû, ango PowerChute Business Edition bikar anî.

Hîpervisor dikare makîneyên xwe yên virtual bixwe bigire; ya ku dimîne ev e ku jê re bêje ku ew dem e. Tiştek wusa kêrhatî heye VMWare.PowerCLI, ev pêvekek ji bo Windows Powershell-ê ye ku dihêle hûn bi hîpervisorê ve girêbidin û her tiştê ku hûn hewce ne jê re bibêjin. Di derbarê mîhengên PowerCLI de gelek gotar jî hene.

3. Pêvajo

UPS bi fizîkî bi porta com ya servera 2008 ve girêdayî bû, bextewar ew li wir bû. Her çend ev ne girîng e - mimkun bû ku bi navgînek veguherînerek navbeynkar (MOXA) bi her serverek Windows-ê ya virtual ve were girêdan. Zêdetir, hemî kiryar li ser makîneya ku UPS pê ve girêdayî ye têne kirin - Windows Server 2008, heya ku bi eşkere tiştek din neyê gotin. Nûnera PowerChute Business Edition li ser hate saz kirin. Li vir xala yekem a nazik heye: karûbarê agentê divê ne ji pergalê, lê ji bikarhênerê were destpêkirin, wekî din dê ajan nikaribin pelê cmd bicîh bîne.

Piştre me .Net Framework 4.7 saz kir. Li vir rebootek pêdivî ye, tevî ku çarçove piştî sazkirinê bi eşkere nepirse, wekî din ew ê bêtir neçe. Dûv re, dibe ku nûvekirin hîn jî werin, ku ew jî hewce ne ku werin saz kirin.

Piştre me PowerShell 5.1 saz kir. Di heman demê de rebootek hewce dike, heta ku ew nepirse.
Piştre, PowerCLI 11.5 saz bikin. Guhertoyek pir nû, ji ber vê yekê hewcedariyên berê. Hûn dikarin wê bi riya Înternetê bikin, di derbarê vê de gelek gotar hene, lê me berê ew dakêşand, ji ber vê yekê me tenê hemî pelan li peldanka Modules kopî kir.

Kontrol kirin:

Get-Module -ListAvailable

Ok, em dibînin ku me saz kiriye:

Import-Module VMWare.PowerCLI

Erê, konsolê Powershell bê guman wekî Rêvebir tê destpêkirin.

Mîhengên Powershell.

  • Destûrê bide cîbicîkirina her skrîptê:

Set-ExecutionPolicy Unrestricted

  • An jî hûn dikarin tenê destûr bidin ku sertîfîkayên skrîptê werin paşguh kirin:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Destûrê bide PowerCLI ku bi pêşkêşkerên bi sertîfîkayên nederbasdar (qedirbûyî) ve girêbide:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Derketina peyama PowerCLI ya di derbarê tevlêbûna bernameya pevguhertina ezmûnê de bitepisîne, wekî din dê di têketinê de gelek agahdariya nepêwist hebin:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Ji bo têketina mêvandarê VMWare pêbaweriyên bikarhêner hilînin da ku wan bi eşkereyî di skrîptê de nîşan nedin:

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

Kontrolkirin dê nîşan bide ku me kî xilas kiriye:

Get-VICredentialStoreItem

Her weha hûn dikarin girêdanê kontrol bikin: Navnîşana Connect-VIServer.

Skrîpta bixwe, mînakî: ve girêdayî ye, vemirî, di her rewşê de veqetandin, vebijarkên jêrîn mimkun in:


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

4. Bingehîn.cmd

Heman pelê pelê ku ji hêla nûnerê APC ve hatî destpêkirin. Ew di "C: Pelên Bernameyê[ (x86)] APCPowerChute Business Editionagentcmdfiles", û di hundurê de ye:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Pelê "C:...shutdown_hosts.ps1"
Wusa dixuye ku her tişt hate mîheng kirin û kontrol kirin, me cmd jî dest pê kir - ew rast dixebite, wê vedike.

Em ceribandinek pelê fermanê ji konsolê APC-ê dimeşînin (li wir bişkojka Testê heye) - ew nexebite.

Va ye, ew kêliya nerehet e ku hemî xebata ku hatî kirin nehiştiye tiştek.

5. Katarsîs

Em li gerînendeyê peywirê dinêrin, em çirûskên cmd, çirûskên powershell dibînin. Ka em hûrgulî lê binêrin - cmd *32 û, li gorî, powershell *32. Em vê yekê fêm dikin Karûbarê nûnerê APC 32-bit e, ku tê vê wateyê ku ew konsolê têkildar dimeşîne.

Em powershell x86 wekî rêveberek dest pê dikin, û PowerCLI ji gava 3-ê dîsa saz dikin û mîheng dikin.

Welê, bila em xeta banga powershell biguhezînin:

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

6. Dawiya xweş!

Source: www.habr.com

Add a comment