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 суулгана уу. Нэлээд сүүлийн үеийн хувилбар, тиймээс өмнөх шаардлага. Та үүнийг интернетээр хийж болно, энэ талаар олон нийтлэл байдаг, гэхдээ бид үүнийг аль хэдийн татаж авсан тул бид бүх файлыг Modules хавтас руу хуулсан.

Шалгасан:

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-г администратороор ажиллуулж, PowerCLI-г 3-р алхамаас дахин суулгаж тохируулна.

За, powershell дуудлагын шугамыг өөрчилье:

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

6. Аз жаргалтай төгсгөл!

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх