APC UPS батареясының сыни деңгейінде VMWare ESXi гипервизорын керемет түрде өшіру

PowerChute Business Edition конфигурациялау және PowerShell-тен VMWare-ге қалай қосылу керектігі туралы көптеген мақалалар бар, бірақ мен мұның бәрін бір жерден таба алмадым, нәзік нүктелердің сипаттамасы бар. Бірақ олар бар.

1. Кіріспе

Энергиямен байланысымыз бар болғанымен, кейде электр қуатына қатысты мәселелер туындайды. Бұл жерде UPS жұмыс істейді, бірақ оның батареялары, өкінішке орай, ұзаққа созылмайды. Не істеу? Өшіру!

Барлық серверлер физикалық болғанымен, бәрі жақсы жүріп жатты, PowerChute Business Edition бізге көмектесті. Тегін, 5 сервер үшін, бұл жеткілікті болды. Агент, сервер және консоль бір құрылғыға орнатылды. Соңы жақындаған кезде агент көрші серверлерге shutdown.exe /s /m жіберетін пәрмен файлын орындап, одан кейін оның ОЖ-ны өшірді. Барлығы тірі.
Содан кейін виртуалды машиналарға уақыт келді.

2. Фон және рефлексиялар

Сонымен, бізде не бар? Ештеңе жоқ – Windows Server 2008 R2 жүйесі бар бір физикалық сервер және Windows Server 2019, Windows Server 2003 және CentOS қоса алғанда бірнеше виртуалды машиналары бар бір гипервизор. Және тағы бір UPS – APC Smart-UPS.

Біз NUT туралы естідік, бірақ оны әлі зерттеген жоқпыз; біз тек қолда бар нәрсені, атап айтқанда PowerChute Business Edition-ды қолдандық.

Гипервизор өзінің виртуалды машиналарын өзі өшіре алады; оған уақыт келгенін айту ғана қалады. VMWare.PowerCLI пайдалы нәрсе бар, бұл гипервизорға қосылуға және оған қажет нәрсені айтуға мүмкіндік беретін Windows Powershell кеңейтімі. Сондай-ақ PowerCLI параметрлері туралы көптеген мақалалар бар.

3. Процесс

UPS 2008 серверінің com портына физикалық түрде қосылды, бақытымызға орай ол сонда болды. Бұл маңызды емес болса да - интерфейс түрлендіргіші (MOXA) арқылы кез келген виртуалды Windows серверіне қосылу мүмкін болды. Әрі қарай, барлық әрекеттер UPS қосылған құрылғыда орындалады - Windows Server 2008, егер басқаша анық көрсетілмесе. Оған PowerChute Business Edition агенті орнатылды. Міне, бірінші нәзік нүкте: агент қызметін жүйеден емес, пайдаланушыдан іске қосу керек, әйтпесе агент cmd файлын орындай алмайды.

Содан кейін біз .Net Framework 4.7 орнаттық. Мұнда қайта жүктеу қажет, орнатудан кейін рамка оны нақты сұрамаса да, әйтпесе ол одан әрі жүрмейді. Содан кейін жаңартулар әлі де келуі мүмкін, оларды орнату қажет.

Содан кейін PowerShell 5.1 орнаттық. Сондай-ақ қайта жүктеуді қажет етеді, ол сұрамаса да.
Содан кейін PowerCLI 11.5 орнатыңыз. Өте соңғы нұсқасы, сондықтан алдыңғы талаптар. Сіз мұны Интернет арқылы жасай аласыз, бұл туралы көптеген мақалалар бар, бірақ біз оны жүктеп алдық, сондықтан біз барлық файлдарды Модульдер қалтасына көшірдік.

Тексерілді:

Get-Module -ListAvailable

Жарайды, біз орнатқанымызды көреміз:

Import-Module VMWare.PowerCLI

Иә, Powershell консолі, әрине, Әкімші ретінде іске қосылады.

Powershell параметрлері.

  • Кез келген сценарийді орындауға рұқсат етіңіз:

Set-ExecutionPolicy Unrestricted

  • Немесе сценарий сертификаттарының еленбеуіне ғана рұқсат бере аласыз:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • PowerCLI-ге жарамсыз (мерзімі өткен) сертификаттары бар серверлерге қосылуға рұқсат беріңіз:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Тәжірибе алмасу бағдарламасына қосылу туралы PowerCLI хабарламасының шығуын басыңыз, әйтпесе журналда қажет емес ақпарат көп болады:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • VMWare хостына кіру үшін пайдаланушы тіркелгі деректерін сценарийде анық көрсетпеу үшін сақтаңыз:

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

Тексеру кімді сақтағанымызды көрсетеді:

Get-VICredentialStoreItem

Сондай-ақ қосылымды тексеруге болады: Connect-VIServer мекенжайы.

Сценарийдің өзі, мысалы: қосылған, өшірілген, ажыратылған жағдайда келесі опциялар мүмкін:


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

4. Әдепкі.cmd

APC агенті іске қосатын бірдей пакеттік файл. Ол "C:Program Files[(x86)]APCPowerChute Business Editionagentcmdfiles" ішінде және ішінде орналасқан:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Файл "C:...shutdown_hosts.ps1"
Барлығы конфигурацияланған және тексерілген сияқты, біз тіпті cmd-ды іске қостық - ол дұрыс жұмыс істейді, оны өшіреді.

Біз APC консолінен пәрмендік файлды тексеруді іске қосамыз (Сынақ түймесі бар) - ол жұмыс істемейді.

Міне, сол бір ыңғайсыз сәт, атқарылған жұмыстың еш нәтиже бермегені.

5. Катарсис

Біз тапсырмалар менеджеріне қараймыз, біз cmd жыпылықтауын, powershell жыпылықтауын көреміз. Толығырақ қарастырайық - cmd *32 және, тиісінше, powershell *32. Біз мұны түсінеміз APC агент қызметі 32 биттік болып табылады, яғни ол сәйкес консольді іске қосады.

Біз әкімші ретінде powershell x86 іске қосамыз және 3-қадамнан бастап PowerCLI қайта орнатып, конфигурациялаймыз.

Ал, Powershell қоңырау желісін өзгертейік:

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

6. Бақытты аяқталу!

Ақпарат көзі: www.habr.com

пікір қалдыру