VMWare ESXi հիպերվիզորի ճիշտ անջատում, երբ APC UPS մարտկոցի լիցքավորման մակարդակը կարևոր է

Կան բազմաթիվ հոդվածներ այն մասին, թե ինչպես կարգավորել PowerChute Business Edition-ը և ինչպես միանալ VMWare-ին PowerShell-ից, բայց ինչ-որ կերպ ես չկարողացա գտնել այս ամենը մեկ տեղում՝ նուրբ կետերի նկարագրությամբ: Բայց նրանք կան։

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 սերվերի պորտին, բարեբախտաբար այն այնտեղ էր: Թեև դա կարևոր չէ. հնարավոր էր միանալ ինտերֆեյսի փոխարկիչի (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. Default.cmd

Նույն խմբաքանակի ֆայլը, որը գործարկվում է APC գործակալի կողմից: Այն գտնվում է «C:Program Files[ (x86)]APCpowerChute Business Editionagentcmdfiles-ում և ներսում՝

«C:Windowssystem32WindowsPowerShellv1.0powershell.exe» -Ֆայլ «C:...shutdown_hosts.ps1»
Թվում է, թե ամեն ինչ կազմաձևված և ստուգված է, մենք նույնիսկ գործարկեցինք cmd-ը, այն ճիշտ է աշխատում, անջատում է այն:

Մենք հրամանի ֆայլի փորձարկում ենք կատարում APC վահանակից (այնտեղ կա Test կոճակ) - այն չի աշխատում:

Ահա այն անհարմար պահը, երբ կատարված ամբողջ աշխատանքը ոչնչի չի հանգեցրել։

5. Կատարսիս

Մենք նայում ենք առաջադրանքների մենեջերին, տեսնում ենք cmd-ի, powershell-ի բռնկումները: Եկեք ավելի սերտ նայենք - cmd *32 և, համապատասխանաբար, powershell *32: Մենք դա հասկանում ենք APC գործակալի ծառայությունը 32-բիթանոց է, ինչը նշանակում է, որ այն աշխատում է համապատասխան վահանակով:

Մենք գործարկում ենք powershell x86-ը որպես ադմինիստրատոր և նորից տեղադրում և կարգավորում ենք PowerCLI-ն 3-րդ քայլից:

Դե, եկեք փոխենք powershell զանգի գիծը.

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

6. Happy end!

Source: www.habr.com

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