PowerFlex: Kjør skript på vert (aka OS Patching) Funksjon forklart

Summary: Funksjonen brukes til å kjøre skript fra brukeren på servere som er vert for MDM- eller SDS-komponenter. Funksjonen kan brukes til alle andre formål enn PowerFlex-systemet, for eksempel å kjøre et sett med Linux-skallkommandoer, oppdatere et operativsystem med mer. ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

Brukergrensesnitt – pre-PFMP (PowerFlex 4.x)

Forhåndskrav

Obligatorisk - hovedskriptet ligger i /opt/emc/scaleio/lia/bin/ Katalog med utførelsestillatelser.

  • Skriptnavn må være patch_script 

Valgfritt – valideringsskriptet finnes i /opt/emc/scaleio/lia/bin/ Katalog med utførelsestillatelser.

  • Skriptnavn må være verification_script


> Funksjonen støttes bare på Linux (RHEL og SLES).
> Funksjonen sjekker om avslutningskoden er 0 (null) på slutten av kjøringen.
> Du finner utgangskoder og skriptkjøring i LIA-loggene.
> Det er kundens ansvar å teste patch_script og verification_script før prosessen kjøres ved hjelp av gateway.
> Funksjonsplassering: Vedlikehold systemloggene og analysene → → kjøre skript på verter.

Vedlikehold av GW 
Kjør skript 

Trinn og flyter

Kjører skript på:
1. Hele systemet – alle PowerFlex-noder
Skriptet kjører som standard på beskyttelsesdomenet til den første verten (PD), flytter deretter til det andre og så videre.
Parallelt på forskjellige beskyttelsesdomener deaktivert - som standard er avkrysningsruten fjernet.
PD detaljer 
Parallelt på forskjellige beskyttelsesdomener som er aktivert – ved å velge dette alternativet kjører patch_script parallelt på alle PD-er.
PD-er som ikke har MDM-er, er først, og klyngenoder er sist.
2_2 (1).png

2. Beskyttelsesdomene - en bestemt PD-PD-er
som ikke har MDM-er er først, og MDM-klyngenoder er sist.

3. Feilsett - en bestemt FS.
FS-er som ikke har MDM-er, er først, mens MDM-klyngenoder er de siste.

4. SDS - en enkelt SDS-node


Kjører konfigurasjon:
1. Stopp prosessen ved feil i skript.
1.1 Stopp prosessen ved skriptfeil aktivert – avmerkingsboksen er merket av som standard.
Hele kjøringen mislykkes og stoppes når patch_script (og verification_script hvis valgt) avsluttes med en annen kode enn 0 (null).
Running Config 
1.2 Stopp-prosessen ved skriptfeil deaktivert.
Hvis patch_script mislykkes, vil kjøringen av den noden mislykkes, og systemet vil flytte til neste node og kjøre patch_script på den noden.
Running Config 

2. Tidsavbrudd for skript – Hvor lang tid tar det å vente til patch_script er ferdig?
Kjøring av skriptet har et konfigurerbart tidsavbrudd som velges av brukeren.
Tidsavbruddet er som standard konfigurert til 15 minutter → på grunn av en feil, og er hardkodet til 15 minutter i versjoner som er eldre enn PowerFlex 3.6.
Hele kjøringen mislykkes og stopper når skriptkjøringen blir tidsavbrutt.

3. Bekreftelsesskript – Vil du kjøre verification_script etter at patch_script ble kjørt?
3.1 Kjør - patch_script vil kjøre, og når det er gjort, vil verification_script kjøre, avhengig av om patch_script etterhandling var å starte på nytt eller ikke (seksjon # 4).
3.2 Ikke kjør - patch_script vil kjøre, og når det er gjort, vil hele løpet stoppe og avsluttes som vellykket.
Running Config 

4. Post script-handling – Vil du starte noden på nytt etter at patch_script er kjørt?
4.1 Start på nytt – etter at patch_script er ferdig med å kjøre og avsluttet med kode 0 (null), vil noden starte på nytt og stoppe eller fortsette avhengig av om verification_script ble valgt til å kjøre eller ikke (seksjon #3).
Hvis Gateway er på en node som skal startes på nytt, vil den ikke starte på nytt, operasjonen lykkes, og en popup som minner oss om å starte den på nytt manuelt vil bli vist.
4.2 Ikke start på nytt - etter at patch_script ferdig med å kjøre og avsluttet med kode 0 (null), vil noden ikke starte på nytt, og stoppe eller fortsette avhengig av om verification_script ble valgt til å kjøre eller ikke (seksjon # 3).
Running Config 


Kjør skript på verter:
Trykk på "Run Script on Hosts" ->Valider fasen starter.
Denne fasen sender en forespørsel til hver av nodenes LIA om å bekrefte eksistensen av patch_script- og verification_script-filene (hvis valgt) under /opt/emc/scaleio/lia/bin/.
Kodelogikken velger en tilfeldig liste over noder som skal kjøres på (i henhold til de nevnte betingelsene).
Kjør skript 


Start utførelsesfasen:
Trykk på knappen "Start utførelsesfase".
1. Gateway utfører følgende verifikasjoner:

en. Kontroller at det ikke er noen kapasitetsfeil
b. Sjekk gyldig ledig kapasitet.
c. Kontroller gyldig klyngetilstand.
d. Kontroller at ingen andre SDS er i vedlikeholdsmodus.

2. Sett SDS i vedlikeholdsmodus.
3. Kjør patch_script - etter en vellykket kjøring slettes filen og en sikkerhetskopifil av den opprettes i samme katalog.
Med navnet backup_patch_script
4. Start verten på nytt (hvis valgt)
5. Kjør verification_script (hvis valgt) - etter en vellykket kjøring blir filen slettet og en sikkerhetskopifil av den opprettes i samme katalog med navnet backup_verification_script.
6. Gå ut av SDS fra vedlikeholdsmodus.
7. Operasjonen er fullført.
Start utførelsesfasen (1).png

 

RESTAPI - etter PFMP (PowerFlex 4.x)

  • Kjør et patchskript på alle eller noen av systemnodene, med valgfri omstart og valgfritt verifiseringsskript. Operasjonen har en viss grad av parallellitet.
  • Skriptfilene skal lagres i nodens mappe: /opt/emc/scaleio/lia/bin Alternativt kan de lastes opp av GW til noden. Skriptene kan enten hentes fra en lokal GW-mappe eller lastes ned fra HTTP / HTTPS-deling.
  • En liste over SdsIds og / eller mdmIds kan gis, for å eksplisitt velge nodene å kjøre på.
  • Filnavnene er hardkodet og kan ikke endres: patch_script og verification_script

REST-kommando

  • /im/types/Configuration/actions/liaRunOsPatching

Nødvendige parametere

  • En av følgende parametere er obligatorisk: pdIds/fsIds/sdsIds/mdmIds / executeOnAllSdss / executeOnAllMdms
    • pdIds  - kjøres på alle noder som er en del av følgende beskyttelsesdomener (PD-IDer), i desimalformat
    • fsIds  - kjøres på alle noder som er en del av følgende feilsett (FS ID-er), i desimalformat
    • sdsIds  - kjøres på alle SDS-er som er oppført av ID-er, i desimalformat
    • mdmIds  - kjøres på alle MDM-er oppført av ID-er, i desimalformat
    • executeOnAllSdss  - kjøre på alle SDS-er (sant/usant)
    • executeOnAllMdms  - kjøre på alle MDM-er (sant/usant)

Valgfrie parametere

  • isRebootRequired - bør hver node starte på nytt etter å ha kjørt patch script (verdier: true / false)
  • isVerificationScriptRequired - Skal verifikasjonsskriptet kjøres på hver node (verdier: sant/usant)
  • isRunningInParallelOnPds - skal operasjonen kjøre parallelt på noder som tilhører ulike PDer (verdier: sant/usant)
  • isStopProcessingOnScriptFailure - bør hele operasjonen stoppe i tilfelle skriptfeil (verdier: sant / usant)
  • TimeoutMs - Timeout for å kjøre patchskriptet i millisekunder
  • isUploadFileNeeded  - Skal GW laste opp skript til nodene (verdier: true / false)

Følgende felt er relevante når isUploadFileNeeded  er 'sant':

  • patchScriptFilePath  - enten navnet på den lokale mappen eller en http/https-URL til oppdateringsskriptet
  • verificationScriptFilePath  - enten navnet på den lokale mappen eller en http/https-URL til bekreftelsesskriptet
  • maintenanceModeType  - Type vedlikeholdsmodus(verdier: IMM/PMM)
  • verificationScriptTimeoutSec  - Tidsavbrudd for bekreftelsesskript i sekunder
  • rebootTimeoutSec  - Node reboot timeout i sekunder

Merk at før du kjører kommandoen liaRunOsPatching, bør du først logge på og få systemkonfigurasjonen, se eksemplet nedenfor.
 

Eksempel på kommando

*token-variabelen inneholder nøkkelkappetokenet som ble returnert fra /auth/login eller fra /api/gatewayLogin.
**< ip-adresse> - IP-adressen til en http-server som inneholder skriptene som skal kjøres

Få json av en systemkonfigurasjon, som vil være nyttelasten til patch-kommandoen (må erstatte liaPassword og mdmPassword manuelt fra null til en streng).


Sett inn utdataene fra denne kommandoen (med faste passord) i config.json-filen:

curl -s -X POST -k -H  "Content-Type: application/json" -d '{ "mdmIps":["1.2.3.4","5.6,7,8"], "mdmUser":"<mdm_username>", "mdmPassword":"<mdm_password>", "securityConfiguration":{ "allowNonSecureCommunicationWithMdm":"true", "allowNonSecureCommunicationWithLia":"true", "disableNonMgmtComponentsAuth":"false" } }' -H "Authorization: Bearer ${token}"  https://<m&o-ip-address>/im/types/Configuration/instances
 


Kjør oppdateringskommandoen:

 
curl -v -k -X -i POST -H "Content-Type:application/json" -H "Authorization: Bearer ${token}" 
 "https:/<m&o-ip-address>/im/types/Configuration/actions/liaRunOsPatching?executeOnAllSdss=true &isRebootRequired=true&isVerificationScriptRequired=true&patchScriptFilePath=https://<ip-address>/patch_script&verificationScriptFilePath=https://<ip-address>/verification_script&maintenanceModeType=IMM&rebootTimeoutSec=30" -d @config.json
 

    Additional Information

    Logger

    Gateway:

    • /opt/emc/scaleio/gateway/logs/scaleio.log
    • /opt/emc/scaleio/gateway/logs/scaleio-trace.log

    LIA:
    /opt/emc/scaleio/lia/logs/trc.x

    Tips- Spesiell bryter for å holde skriptet i noden ved feilsøking eller testing:

    • Edit file /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayInternal.properties
    • Finn feltet "ospatching.delete.scripts=false"
    • Endre til sant for feilsøking (standard er usann)

    Affected Products

    PowerFlex rack, ScaleIO
    Article Properties
    Article Number: 000206981
    Article Type: How To
    Last Modified: 23 Sept 2025
    Version:  4
    Find answers to your questions from other Dell users
    Support Services
    Check if your device is covered by Support Services.