Kuzima kwa usahihi kwa hypervisor ya VMWare ESXi wakati kiwango cha chaji cha betri ya APC UPS ni muhimu.

Kuna vifungu vingi mtandaoni kuhusu jinsi ya kusanidi Toleo la Biashara la PowerChute na jinsi ya kuunganisha kwa VMWare kutoka PowerShell, lakini sijapata moja ambayo inashughulikia pointi zote bora zaidi. Lakini zipo.

1. Utangulizi

Ingawa tuna uhusiano fulani na sekta ya nishati, matatizo ya nishati wakati mwingine hutokea. Hapa ndipo UPS inapoingia, lakini betri zake, kwa bahati mbaya, hazidumu kwa muda mrefu. Nini cha kufanya? Zima!

Ingawa seva zote zilikuwa halisi, mambo yalikuwa yakienda vizuri, na PowerChute Business Edition ilikuwa mkombozi wetu. Ni bure, kwa 5 seva, jambo ambalo lilitosha kabisa. Wakala, seva, na koni ziliwekwa kwenye mashine moja. Mwisho ulipokaribia, wakala alitekeleza faili ya amri iliyotuma shutdown.exe /s /m kwa seva za jirani, na kisha akazima mfumo wake wa uendeshaji. Kila mtu alinusurika.
Kisha wakati ukafika mashine pepe.

2. Data ya awali na tafakari

Kwa hivyo, tuna nini? Hakuna mengi - seva moja ya kimwili yenye Windows Server 2008 R2 na hypervisor moja yenye mashine kadhaa pepe, miongoni mwa hizo ni Windows Server 2019, na Windows Server 2003, na CentOSNa UPS nyingine - APC Smart-UPS.

Tulikuwa tumesikia kuhusu NUT, lakini bado hatujapata kujifunza. Tungetumia tu kile tulichokuwa nacho, yaani Toleo la Biashara la PowerChute.

Hypervisor inaweza kuzima mashine zake pepe kiotomatiki; unahitaji tu kuiambia ni wakati. Kuna kitu muhimu kinachoitwa VMWare.PowerCLI, kiendelezi cha Windows Powershell, ambayo hukuruhusu kuungana na hypervisor na kuwasiliana nayo. Pia kuna makala nyingi kuhusu mipangilio ya PowerCLI zinazopatikana mtandaoni.

3. Mchakato

UPS iliunganishwa kimwili kwenye lango la COM la seva ya 2008, kwa bahati nzuri kulikuwa na moja. Ingawa hii haikuwa muhimu - iliwezekana kuunganishwa na mashine yoyote pepe kupitia kibadilishaji cha kiolesura (MOXA). Windows seva. Vitendo vyote zaidi hufanywa kwenye mashine ambayo UPS imeunganishwa - Windows Server 2008, isipokuwa kama imeelezwa vinginevyo. Ina wakala wa Toleo la Biashara la PowerChute aliyesakinishwa. Hapa ni hatua ya kwanza ya hila: huduma ya wakala lazima izinduliwe sio kutoka kwa mfumo, lakini kutoka kwa mtumiaji, vinginevyo wakala hawezi kutekeleza faili ya cmd.

Kisha, tulisakinisha .Net Framework 4.7. Kuanzisha upya kunahitajika hapa., hata kama mfumo hauulizi kwa uwazi baada ya usakinishaji, vinginevyo haitafanya kazi. Huenda masasisho yakaja baadaye, na utahitaji kuyasakinisha pia.

Kisha, tuliweka PowerShell 5.1. Kuanzisha upya pia kunahitajika., hata asipouliza.
Ifuatayo, sakinisha PowerCLI 11.5. Ni toleo la hivi karibuni, kwa hivyo mahitaji ya hapo awali. Unaweza kufanya hivi mtandaoni; kuna nakala nyingi kuihusu, lakini tayari tumeipakua, kwa hivyo tulinakili faili zote kwenye folda ya Moduli.

Imechaguliwa:

Get-Module -ListAvailable

Sawa, tunaona, imewekwa:

Import-Module VMWare.PowerCLI

Ndiyo, kiweko cha Powershell bila shaka kimezinduliwa kama Msimamizi.

Mipangilio ya Powershell.

  • Ruhusu utekelezaji wa hati yoyote:

Set-ExecutionPolicy Unrestricted

  • Au ruhusu tu kupuuza vyeti vya hati:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • Ruhusu PowerCLI iunganishe kwa seva zilizo na vyeti batili (vilivyokwisha muda wake):

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Zuia ujumbe wa PowerCLI kuhusu kujiunga na mpango wa kubadilishana uzoefu, vinginevyo logi itajaa taarifa zisizo za lazima:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • Hifadhi kitambulisho cha mtumiaji cha kuingia kwa seva pangishi ya VMWare ili usizifichue kwa uwazi kwenye hati:

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

Cheki itaonyesha ni nani tuliyehifadhi:

Get-VICredentialStoreItem

Unaweza pia kuangalia uunganisho: Anwani ya Connect-VIServer.

Hati yenyewe, kwa mfano: imeunganishwa, imezimwa, imekatwa ikiwa tu, chaguzi zinazowezekana:


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

4. Chaguo-msingi.cmd

Faili sawa ya bechi inayoendesha wakala wa APC. Iko katika "C:\Program Files[ (x86)]\APCPowerChute Business Edition\agent\cmdfiles", na ndani yake:

C:Windowsmfumo32WindowsPowerShellv1.0powershell.exe" -Faili "C:...shutdown_hosts.ps1"
Inaonekana tumesanidi na kukagua kila kitu, hata tukazindua cmd - inafanya kazi kwa usahihi, inazima.

Tunazindua mtihani wa faili ya kundi kutoka kwa console ya APC (kuna kifungo cha Mtihani) - haifanyi kazi.

Hapa ni, wakati huo mbaya wakati kazi yote iliyofanywa haijasababisha chochote.

5. Catharsis

Tunaangalia meneja wa kazi na kuona cmd inawaka, kisha PowerShell inawaka. Tunaangalia kwa karibu zaidi - cmd *32 na, ipasavyo, PowerShell *32. Tunatambua hilo Huduma ya Wakala wa APC ni 32-bit, ambayo inamaanisha inazindua kiweko kinachofaa.

Zindua PowerShell x86 kama msimamizi na urudie hatua za usakinishaji na usanidi wa PowerCLI kutoka hatua ya 3.

Kweli, wacha tubadilishe laini inayoita PowerShell:

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

6. Mwisho wa furaha!

Chanzo: mapenzi.com

Nunua upangishaji wa kuaminika wa tovuti zilizo na ulinzi wa DDoS, seva za VPS VDS 🔥 Nunua upangishaji wa tovuti unaoaminika kwa ulinzi wa DDoS, seva za VPS VDS | ProHoster