APC UPS batareyasının doldurulma səviyyəsi kritik olduqda VMWare ESXi hipervizorunun düzgün bağlanması

Orada PowerChute Business Edition-ı necə konfiqurasiya etmək və PowerShell-dən VMWare-ə necə qoşulmaq barədə çoxlu məqalələr var, lakin mən bütün bunları incə məqamların təsviri ilə bir yerdə tapa bilmədim. Amma onlar mövcuddur.

1. Giriş

Enerji ilə müəyyən bağlılığımız olsa da, bəzən elektrik enerjisi ilə bağlı problemlər yaranır. UPS burada işə düşür, lakin onun batareyaları, təəssüf ki, uzun sürmür. Nə etməli? Söndür!

Bütün serverlər fiziki olsa da, işlər yaxşı gedirdi, PowerChute Business Edition bizə kömək etdi. Pulsuz, 5 server üçün, bu kifayət qədər idi. Bir maşında agent, server və konsol quraşdırılıb. Sona yaxınlaşdıqca, agent sadəcə olaraq qonşu serverlərə shutdown.exe /s /m göndərən əmr faylını icra etdi və sonra onun ƏS-ni bağladı. Hamı sağdır.
Sonra virtual maşınların vaxtı gəldi.

2. Fon və əkslər

Bəs bizdə nə var? Heç bir şey yoxdur - Windows Server 2008 R2 ilə bir fiziki server və Windows Server 2019, Windows Server 2003 və CentOS daxil olmaqla bir neçə virtual maşınla bir hipervizor. Və başqa bir UPS - APC Smart-UPS.

Biz NUT haqqında eşitmişik, lakin onu hələ öyrənə bilməmişik; biz yalnız əlimizdə olandan, yəni PowerChute Business Edition-dan istifadə etdik.

Hipervisor virtual maşınlarını özü bağlaya bilər; qalan şey ona vaxtın gəldiyini söyləməkdir. Belə faydalı bir şey var VMWare.PowerCLI, bu, hipervizora qoşulmağa və ona lazım olan hər şeyi söyləməyə imkan verən Windows Powershell üçün genişləndirmədir. PowerCLI parametrləri haqqında çoxlu məqalələr də var.

3. Proses

UPS fiziki olaraq 2008 serverinin com portuna qoşulmuşdu, xoşbəxtlikdən orada idi. Bu vacib olmasa da - interfeys çeviricisi (MOXA) vasitəsilə istənilən virtual Windows serverinə qoşulmaq mümkün idi. Bundan əlavə, bütün hərəkətlər UPS-in qoşulduğu maşında yerinə yetirilir - Windows Server 2008, açıq şəkildə başqa cür göstərilmədiyi təqdirdə. Onda PowerChute Business Edition agenti quraşdırılıb. İlk incə məqam budur: agent xidməti sistemdən deyil, istifadəçidən işə salınmalıdır, əks halda agent cmd faylını icra edə bilməyəcək.

Sonra .Net Framework 4.7 quraşdırdıq. Burada yenidən yükləmə tələb olunur, hətta çərçivə quraşdırmadan sonra bunu açıq şəkildə tələb etməsə belə, əks halda daha irəli getməyəcək. Bundan sonra, yeniləmələr hələ də gələ bilər, onları da quraşdırmaq lazımdır.

Sonra PowerShell 5.1 quraşdırdıq. Həmçinin reboot tələb olunur, soruşmasa belə.
Sonra, PowerCLI 11.5 quraşdırın. Olduqca yeni versiya, buna görə də əvvəlki tələblər. Bunu İnternet vasitəsilə edə bilərsiniz, bu barədə bir çox məqalə var, lakin biz onu artıq yükləmişik, buna görə də bütün faylları Modullar qovluğuna köçürdük.

Yoxlandı:

Get-Module -ListAvailable

Yaxşı, quraşdırdığımızı görürük:

Import-Module VMWare.PowerCLI

Bəli, Powershell konsolu əlbəttə ki, Administrator olaraq işə salınır.

Powershell parametrləri.

  • İstənilən skriptin icrasına icazə verin:

Set-ExecutionPolicy Unrestricted

  • Və ya yalnız skript sertifikatlarına məhəl qoymamağa icazə verə bilərsiniz:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned 

  • PowerCLI-yə etibarsız (müddəti bitmiş) sertifikatları olan serverlərə qoşulmağa icazə verin:

Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false

  • Təcrübə mübadiləsi proqramına qoşulmaq haqqında PowerCLI mesajının çıxışını sıxışdırın, əks halda jurnalda çoxlu lazımsız məlumatlar olacaq:

Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false

  • VMWare hostuna daxil olmaq üçün istifadəçi etimadnamələrini skriptdə açıq şəkildə göstərməmək üçün yadda saxlayın:

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

Yoxlama kimi saxladığımızı göstərəcək:

Get-VICredentialStoreItem

Siz həmçinin əlaqəni yoxlaya bilərsiniz: Connect-VIServer ünvanı.

Skriptin özü, məsələn: qoşuldu, söndürüldü, yalnız hər halda ayrıldı, aşağıdakı seçimlər mümkündür:


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

4. Default.cmd

APC agenti tərəfindən işə salınan eyni toplu fayl. O, “C:Program Files[(x86)]APCPowerChute Business Editionagentcmdfiles”də və içərisində yerləşir:

"C:Windowssystem32WindowsPowerShellv1.0powershell.exe" -Fayl "C:...shutdown_hosts.ps1"
Deyəsən, hər şey konfiqurasiya edilib və yoxlanılıb, hətta cmd-ni işə saldıq - o, düzgün işləyir, onu söndürür.

APC konsolundan bir əmr faylı testini həyata keçiririk (orada Test düyməsi var) - işləmir.

Budur, bütün görülən işlərin heç bir nəticə vermədiyi o yöndəmsiz an.

5. Katarsis

Biz tapşırıq menecerinə baxırıq, cmd flaşlarını, powershell flaşlarını görürük. Gəlin daha yaxından nəzər salaq - cmd *32 və müvafiq olaraq powershell *32. Biz bunu başa düşürük APC agent xidməti 32 bitdir, yəni müvafiq konsolu idarə edir.

Biz powershell x86-nı administrator kimi işə salırıq və PowerCLI-ni yenidən 3-cü addımdan quraşdırıb konfiqurasiya edirik.

Yaxşı, gəlin powershell zəng xəttini dəyişdirək:

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

6. Xoşbəxt sonluq!

Mənbə: www.habr.com

Добавить комментарий