PowerFlex: Run Script on Host (aka OS Patching) Functie uitgelegd

Summary: De functie wordt gebruikt om door de gebruiker geleverde scripts uit te voeren op servers waarop MDM- of SDS-onderdelen worden gehost. De functie kan worden gebruikt voor elk doel buiten het PowerFlex-systeem, zoals het uitvoeren van een reeks Linux-shellopdrachten, het patchen van een besturingssysteem en meer. ...

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)

Vereisten

Verplicht - het hoofdscript bevindt zich in /opt/emc/scaleio/lia/bin/ Directory met uitvoeringsmachtigingen.

  • Scriptnaam moet patch_script zijn 

Optioneel: het validatiescript bevindt zich in /opt/emc/scaleio/lia/bin/ Directory met uitvoeringsmachtigingen.

  • Scriptnaam moet verification_script zijn


> De functie wordt alleen ondersteund op Linux (RHEL en SLES).
> De functie controleert of de afsluitcode 0 (nul) is aan het einde van de uitvoering.
> Afsluitcodes en scriptuitvoering zijn te vinden in de LIA-logboeken.
> Het is de verantwoordelijkheid van de klant om de patch_script en verification_script te testen voordat het proces wordt uitgevoerd met Gateway.
> Feature location: Onderhoud → systeemlogboeken en analyse → voer scripts uit op hosts.

GW onderhoud 
Script uitvoeren 

Stappen en stromen

Script uitvoeren op:
1. Volledig systeem - alle PowerFlex-knooppunten
Standaard wordt het script uitgevoerd op het beschermingsdomein (PD) van de eerste host, en vervolgens naar de tweede host verplaatst, enzovoort.
Tegelijkertijd op verschillende beschermingsdomeinen uitgeschakeld - het selectievakje is standaard uitgeschakeld.
PD-gegevens 
Parallel op verschillende beschermingsdomeinen ingeschakeld: als u deze optie selecteert, wordt de patch_script parallel uitgevoerd op alle PD's.
PD's die geen MDM's hebben, zijn de eerste en clusterknooppunten zijn de laatste.
2_2 (1).png

2. Beschermingsdomein: een specifieke PD
PD's die geen MDM's hebben, zijn de eerste en de MDM-clusterknooppunten zijn de laatste.

3. Fault Set - een specifieke FS.
FS'en die geen MDM's hebben, zijn de eerste en MDM-clusterknooppunten zijn de laatste.

4. SDS - één SDS-knooppunt


Actieve configuratie:
1. Stop het proces bij een scriptfout.
1.1 Proces stoppen bij scriptfout ingeschakeld - het selectievakje is standaard aangevinkt.
De hele uitvoering zal mislukken en stoppen zodra de patch_script (en verification_script indien geselecteerd) afsluiten met een andere code dan 0 (nul).
UITVOERINGSCONFIGURATIE 
1.2 Proces stoppen bij scriptfout uitgeschakeld.
Als de patch_script mislukt, mislukt de uitvoering van dat knooppunt en gaat het systeem naar het volgende knooppunt en voert het patch_script uit op dat knooppunt.
UITVOERINGSCONFIGURATIE 

2. Time-out van script - Hoe lang moet ik wachten tot de patch_script is voltooid?
Het uitvoeren van het script heeft een configureerbare time-out, die door de gebruiker wordt gekozen.
Standaard ingesteld op 15 minuten → vanwege een bug, is de time-out hard gecodeerd naar 15 minuten, in versies ouder dan PowerFlex 3.6.
De hele uitvoering mislukt en stopt zodra er een time-out is opgetreden tijdens het uitvoeren van het script.

3. Verificatiescript - Wilt u de verification_script uitvoeren nadat de patch_script is uitgevoerd?
3.1 Uitvoeren - patch_script wordt uitgevoerd en als het eenmaal is gedaan, wordt de verification_script uitgevoerd, afhankelijk van of de patch_script post-actie was om opnieuw op te starten of niet (sectie #4).
3.2 Niet uitvoeren - patch_script wordt uitgevoerd en als het eenmaal is gedaan, stopt de hele run en eindigt deze net zo succesvol.
UITVOERINGSCONFIGURATIE 

4. Actie achteraf script: wilt u het knooppunt opnieuw opstarten nadat de patch_script is uitgevoerd?
4.1 Opnieuw opstarten - nadat patch_script is uitgevoerd en is afgesloten met code 0 (nul), zal het knooppunt opnieuw opstarten en stoppen of doorgaan, afhankelijk van of de verification_script is gekozen om uit te voeren of niet (sectie #3).
Als Gateway zich op een knooppunt bevindt dat opnieuw moet worden opgestart, wordt deze niet opnieuw opgestart, slaagt de bewerking en wordt een pop-up weergegeven die ons eraan herinnert om handmatig opnieuw op te starten.
4.2 Niet opnieuw opstarten - nadat patch_script is uitgevoerd en is afgesloten met code 0 (Nul), zal het knooppunt niet opnieuw opstarten en stoppen of doorgaan, afhankelijk van of de verification_script is gekozen om uit te voeren of niet (sectie #3).
UITVOERINGSCONFIGURATIE 


Run script on hosts:
Druk op "Run Script on Hosts" -->Valideer het starten van de fase .
Deze fase stuurt een aanvraag naar elk van de LIA van het knooppunt om het bestaan van de patch_script en verification_script (indien geselecteerd) bestanden te verifiëren onder /opt/emc/scaleio/lia/bin/.
De codelogica selecteert een willekeurige lijst met knooppunten om op uit te voeren (volgens de genoemde voorwaarden).
Script uitvoeren 


Start uitvoeringsfase:
Druk op de knop "Start uitvoeringsfase".
1. De gateway voert de volgende verificaties uit:

een. Controleer of er geen defecte capaciteit is.
b. Controleer de geldige reservecapaciteit.
c. Controleer de geldige clusterstatus.
d. Controleer of er geen andere SDS in de onderhoudsmodus staat.

2. Zet de SDS in de onderhoudsmodus.
3. Voer de patch_script uit: als het bestand goed is uitgevoerd, wordt het verwijderd en wordt er een back-up van gemaakt in dezelfde map.
Met de naam backup_patch_script
4. Host opnieuw opstarten (indien geselecteerd)
5. Run verification_script (if selected): als het bestand is uitgevoerd, wordt het verwijderd en wordt er een back-up van gemaakt in dezelfde map met de naam backup_verification_script.
6. Haal de SDS uit de onderhoudsmodus.
7. Bewerking is voltooid.
Start uitvoeringsfase (1).png

 

RESTAPI - Post-PFMP (PowerFlex 4.x)

  • Voer een patchscript uit op alle of enkele systeemknooppunten, met een optionele herstart en een optioneel verificatiescript. De operatie heeft een zekere mate van parallellisme.
  • De scriptbestanden moeten worden opgeslagen in de map van het knooppunt: /opt/emc/scaleio/lia/bin Als alternatief kunnen ze door de GW worden geüpload naar het knooppunt. De scripts kunnen worden overgenomen uit een lokale GW-map of worden gedownload van HTTP/HTTPS-share.
  • Er kan een lijst met SdsId's en/of mdmIds worden opgegeven om expliciet de knooppunten te kiezen waarop moet worden uitgevoerd.
  • De bestandsnamen zijn hard gecodeerd en kunnen niet worden gewijzigd: patch_script en verification_script

REST-opdracht

  • /im/types/Configuration/actions/liaRunOsPatching

Vereiste parameters

  • Een van de volgende parameters is verplicht: pdIds/fsIds/sdsIds/mdmIds / executeOnAllSdss / executeOnAllMdms
    • pdIds  - uitvoeren op alle knooppunten die deel uitmaken van de volgende beschermingsdomeinen (PD-id's), in decimale indeling
    • fsIds  - uitvoeren op alle knooppunten die deel uitmaken van de volgende foutsets (FS-id's), in decimale indeling
    • sdsIds  - uitvoeren op alle SDS-exemplaren vermeld bij Ids, in decimaal formaat
    • mdmIds  - uitvoeren op alle MDM's vermeld door Ids, in decimale indeling
    • executeOnAllSdss  - uitvoeren op alle SDS-exemplaren (waar/niet waar)
    • executeOnAllMdms  - uitvoeren op alle MDM's (waar/niet waar)

Optionele parameters

  • isRebootRequired - Moet elk knooppunt opnieuw opstarten na het uitvoeren van het patchscript (waarden: waar/onwaar)
  • isVerificationScriptRequired - Moet het verificatiescript op elk knooppunt worden uitgevoerd (waarden: waar/onwaar)
  • isRunningInParallelOnPds - moet de bewerking parallel worden uitgevoerd op knooppunten die tot verschillende PD's behoren (waarden: waar/onwaar)
  • isStopProcessingOnScriptFailure - moet de hele operatie stoppen in geval van een scriptfout (waarden: waar/onwaar)
  • TimeoutMs - Time-out voor het uitvoeren van het patchscript in milliseconden
  • isUploadFileNeeded  - Moet GW scripts uploaden naar de knooppunten (waarden: waar/onwaar)

De volgende velden zijn van belang wanneer isUploadFileNeeded  is 'waar':

  • patchScriptFilePath  - ofwel de naam van de lokale map of een http/https-URL van het patchscript
  • verificationScriptFilePath  - ofwel de lokale mapnaam of een http/https-URL van het verificatiescript
  • maintenanceModeType  - Type onderhoudsmodus(waarden: IMM/PMM)
  • verificationScriptTimeoutSec  - Time-out van het verificatiescript in seconden
  • rebootTimeoutSec  - Time-out voor opnieuw opstarten van knooppunten in seconden

Merk op dat voordat u de opdracht liaRunOsPatching uitvoert, u zich eerst moet aanmelden en de systeemconfiguratie moet ophalen, zie het onderstaande voorbeeld.
 

Opdrachtvoorbeeld

*tokenvariabele bevat het Keycloak-token dat is geretourneerd vanuit /auth/login of vanuit /api/gatewayLogin.
**<ip-address> - IP-adres van een http-server met de scripts die moeten worden uitgevoerd

Haal de json van een systeemconfiguratie op, wat de payload van de patch-opdracht zal zijn (liaPassword en mdmPassword moeten handmatig worden vervangen van null naar een tekenreeks).


Plaats de uitvoer van deze opdracht (met vaste wachtwoorden) in het config.json bestand:

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
 


Voer de patch-opdracht uit:

 
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

    Logboeken

    Gateway:

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

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

    Fooi- Speciale schakelaar om het script in het knooppunt te houden tijdens het oplossen van problemen of het testen:

    • Bestand bewerken /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayInternal.properties
    • Zoek het veld "ospatching.delete.scripts=false"
    • Wijzigen in true voor probleemoplossing (standaard is false)

    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.