PowerFlex: Kør script på værtsfunktion (aka OS Patching) forklaret

Summary: Funktionen bruges til at køre brugerleverede scripts på servere, der er vært for MDM- eller SDS-komponenter. Funktionen kan bruges til ethvert formål uden for PowerFlex-systemet, såsom at køre et sæt Linux shell-kommandoer, lappe et operativsystem og mere. ...

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

UI – Pre-PFMP (PowerFlex 4.x)

Forudsætninger

Obligatorisk - hovedscriptet er placeret i /opt/emc/scaleio/lia/bin/ mappe med udførelsestilladelser.

  • Scriptnavnet skal være patch_script 

Valgfrit – valideringsscriptet findes i /opt/emc/scaleio/lia/bin/ mappe med udførelsestilladelser.

  • Scriptnavnet skal være verification_script


> Funktionen understøttes kun på Linux (RHEL og SLES).
> Funktionen kontrollerer, om afslutningskoden er 0 (nul) i slutningen af udførelsen.
> Afslutningskoder og scriptkørsel kan findes i LIA-logfilerne.
> Det er kundens ansvar at teste patch_script og verification_script, før processen køres ved hjælp af Gateway.
> Funktionsplacering: Vedligeholde → systemlogfiler og analyse → køre script på værter.

GW vedligeholdelse 
Run script 

Trin og flows

Kører script på:
1. Hele systemet – alle PowerFlex-noder
Som standard kører scriptet på den første værts beskyttelsesdomæne (PD) og flyttes derefter til det andet osv.
Parallelt på forskellige beskyttelsesdomæner deaktiveret - som standard er afkrydsningsfeltet ryddet.
Oplysninger om PD 
Parallelt på forskellige aktiverede beskyttelsesdomæner – ved at vælge denne indstilling kører patch_script parallelt på alle PD'er.
PD er, der ikke har MDM, er de første, og klyngenoder er de sidste.
2_2 (1).png

2. Beskyttelsesdomæne – en specifik PD
PD er, der ikke har MDM er, er den første, og MDM-klyngenoderne er den sidste.

3. Fejlsæt - en bestemt FS.
FS er, der ikke har MDM'er, er først, og MDM-klyngenoder er sidste.

4. SDS – en enkelt SDS-node


Kører konfiguration:
1. Stop processen ved scriptfejl.
1.1 Stop processen ved scriptfejl aktiveret - som standard er afkrydsningsfeltet markeret.
Hele kørslen mislykkes og stopper, når patch_script (og verification_script, hvis valgt) afsluttes med en anden kode end 0 (nul).
Kørsel af config 
1.2 Stop processen ved scriptfejl deaktiveret.
Hvis patch_script mislykkes, mislykkes udførelsen af den node, og systemet flytter til den næste node og kører patch_script på den node.
Kørsel af config 

2. Timeout for script – Hvor lang tid skal der ventes på, at patch_script afsluttes?
Kørsel af scriptet har en konfigurerbar timeout, som vælges af brugeren.
Som standard konfigureret til 15 minutter → på grund af en fejl er timeout hårdt kodet til 15 minutter i versioner, der er ældre end PowerFlex 3.6.
Hele kørslen mislykkes og stopper, når scriptkørslen er timeout.

3. Bekræftelsesscript – Vil du køre verification_script, når patch_script er kørt?
3.1 Kør - patch_script kører, og når det er gjort, køres verification_script, afhængigt af om den patch_script post-handling skulle genstarte eller ej (sektion #4).
3.2 Kør ikke - patch_script kører, og når det er gjort, stopper hele kørslen og afsluttes med succes.
Kørsel af config 

4. Handling efter script – Vil du genstarte noden, når patch_script er kørt?
4.1 Genstart - når patch_script er færdig med at køre og afsluttet med kode 0 (nul), genstarter noden og stopper eller fortsætter, afhængigt af om verification_script blev valgt til at køre eller ej (sektion #3).
Hvis Gateway er på en node, der skal genstartes, genstarter den ikke, handlingen lykkes, og der vises en pop-up, der minder os om at genstarte den manuelt.
4.2 Genstart ikke - når patch_script er færdig med at køre og afsluttet med kode 0 (nul), genstarter noden ikke og stopper eller fortsætter, afhængigt af om verification_script blev valgt til at køre eller ej (sektion #3).
Kørsel af config 


Kør script på værter:
Tryk på "Run Script on Hosts" -->Valider fasestart .
Denne fase sender en anmodning til hver af nodens LIA for at bekræfte eksistensen af patch_script- og verification_script-filerne (hvis valgt) under /opt/emc/scaleio/lia/bin/.
Kodelogikken vælger en tilfældig liste over noder, der skal køres på (i henhold til de nævnte betingelser).
Run script 


Start udførelsesfasen:
Tryk på knappen "Start udførelsesfase".
1. Gateway foretager følgende verificeringer:

en. Kontrollér, at der ikke er nogen fejlbehæftet kapacitet.
b. Tjek den gyldige ekstra kapacitet.
c. Kontroller den gyldige klyngetilstand.
d. Kontroller, at intet andet sikkerhedsdatablad er i vedligeholdelsestilstand.

2. Sæt sikkerhedsdatabladet i vedligeholdelsestilstand.
3. Kør patch_script - efter en vellykket kørsel slettes filen, og der oprettes en sikkerhedskopifil af den på samme mappe.
Med navnet backup_patch_script
4. Genstart værten (hvis valgt)
5. Kør verification_script (hvis valgt) - efter en vellykket kørsel slettes filen, og der oprettes en sikkerhedskopifil af den på samme mappe med navnet backup_verification_script.
6. Afslut sikkerhedsdatabladet fra vedligeholdelsestilstand.
7. Handlingen blev gennemført.
Start udførelsesfase (1).png

 

RESTAPI – Post-PFMP (PowerFlex 4.x)

  • Kør et patchscript på alle eller nogle af systemnoderne med en valgfri genstart og et valgfrit verifikationsscript. Operationen har en vis grad af parallelisme.
  • Scriptfilerne skal gemmes i nodens mappe: /opt/emc/scaleio/lia/bin Alternativt kan GW uploade dem til noden. Scriptene kan enten tages fra en lokal GW-mappe eller downloades fra HTTP/HTTPS-deling.
  • Der kan leveres en liste over SdsId'er og/eller mdmId'er, så du eksplicit kan vælge de noder, der skal køres på.
  • Filnavnene er hårdt kodede og kan ikke ændres: patch_script og verification_script

REST-kommando

  • /im/types/Konfiguration/handlinger/liaRunOsPatching

Påkrævede parametre

  • En af følgende parametre er obligatorisk: pdIds/fsIds/sdsIds/mdmIds / executeOnAllSdss / executeOnAllMdms
    • pdIds  - køre på alle noder, der er en del af følgende beskyttelsesdomæner (PD-id'er), i decimalformat
    • fsIds  - køre på alle noder, der er en del af følgende fejlsæt (FS Id'er), i decimalformat
    • sdsIds  - køre på alle SDS'er, der er anført af id'er, i decimalformat
    • mdmIds  - køre på alle MDM'er, der er angivet efter id'er, i decimalformat
    • executeOnAllSdss  - Kør på alle SDS'er (sandt / falsk)
    • executeOnAllMdms  - kør på alle MDM'er (sandt / falsk)

Valgfrie parametre

  • isRebootRequired - Skal hver node genstartes efter at have kørt patchscriptet (værdier: true/false)
  • isVerificationScriptRequired - Skal verifikationsscriptet køre på hver node (værdier: sand/falsk)
  • isRunningInParallelOnPds - skal operationen køre parallelt på noder, der tilhører forskellige PD'er (værdier: sand/falsk)
  • isStopProcessingOnScriptFailure - skal hele operationen stoppe i tilfælde af en scriptfejl (værdier: sand/falsk)
  • TimeoutMs - timeout for at køre patch-scriptet i millisekunder
  • isUploadFileNeeded  - Skal GW uploade scripts til noderne (værdier: sand/falsk)

Følgende felter er relevante, når isUploadFileNeeded  er 'sand':

  • patchScriptFilePath  - enten det lokale mappenavn eller en http/https-URL til patchscriptet
  • verificationScriptFilePath  - enten det lokale mappenavn eller en http/https-URL til verifikationsscriptet
  • maintenanceModeType  - Type af vedligeholdelsestilstand(værdier: IMM/PMM)
  • verificationScriptTimeoutSec  - timeout for verifikationsscript på få sekunder
  • rebootTimeoutSec  - Timeout for genstart af node på få sekunder

Bemærk, at før du kører liaRunOsPatching-kommandoen, skal du først logge ind og hente systemkonfigurationen, se eksemplet nedenfor.
 

Eksempel på kommando

*tokenvariablen indeholder Keycloak-tokenet, der blev returneret fra /auth/login eller fra /api/gatewayLogin.
**<ip-address> – IP-adressen på en http-server, der indeholder de scripts, der skal køres

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


Indsæt outputtet af denne kommando (med faste adgangskoder) 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
 


Kør patch-kommandoen:

 
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

    Logfiler

    Gateway:

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

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

    Drikkepenge- Speciel switch til at holde scriptet i noden under fejlfinding eller test:

    • Rediger fil /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayInternal.properties
    • Find feltet "ospatching.delete.scripts=false"
    • Skift til sand til fejlfinding (standard er falsk)

    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.