Хомӯши дурусти гипервизори VMWare ESXi вақте ки сатҳи пуркунии батареяи APC UPS муҳим аст

Дар он ҷо мақолаҳои зиёде мавҷуданд, ки чӣ гуна танзим кардани PowerChute Business Edition ва чӣ гуна ба VMWare аз PowerShell пайваст шудан мумкин аст, аммо бо кадом роҳ ман ҳамаи инро дар як ҷо бо тавсифи нуктаҳои нозук пайдо карда натавонистам. Аммо онҳо вуҷуд доранд.

1. Муқаддима

Сарфи назар аз он, ки мо бо энергия то андозае алока дорем, баъзан бо кувваи электр проблемахо ба миён меоянд. Дар ин ҷо UPS ба кор меояд, аммо батареяҳои он, афсӯс, дер давом намекунанд. Чӣ бояд кард? Хомӯш кардан!

Дар ҳоле ки ҳама серверҳо ҷисмонӣ буданд, корҳо хуб буданд, PowerChute Business Edition ба мо кӯмак кард. Озод, барои 5 сервер, ки хеле кофӣ буд. Дар як мошин агент, сервер ва консол насб карда шуданд. Вақте ки ба охир расид, агент танҳо як файли фармонро иҷро кард, ки shutdown.exe /s /m -ро ба серверҳои ҳамсоя фиристод ва сипас OS-ро қатъ кард. Ҳама зиндаанд.
Пас аз он вақт барои мошинҳои виртуалӣ расид.

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 ҷисмонӣ пайваст буд, хушбахтона он ҷо буд. Гарчанде ки ин муҳим нест - тавассути табдилдиҳандаи интерфейс (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. Default.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-ро ҳамчун администратор оғоз кунед, PowerCLI-ро аз қадами 3 дубора насб кунед ва танзим кунед.

Хуб, биёед хати занги powershell-ро иваз кунем:

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

6. Охири хуш!

Манбаъ: will.com

Илова Эзоҳ