PowerFlex: Kör skript på värd (även kallat OS Patching) Förklaring av funktionen

Summary: Funktionen används för att köra skript som tillhandahålls av användaren på servrar som är värdar för MDM- eller SDS-komponenter. Funktionen kan användas för alla syften utanför PowerFlex-systemet, till exempel för att köra en uppsättning Linux-skalkommandon, korrigera ett operativsystem med mera. ...

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

Användargränssnitt – före PFMP (PowerFlex 4.x)

Förutsättningar

Obligatoriskt – huvudskriptet finns i /opt/emc/scaleio/lia/bin/ katalog med körningsbehörigheter.

  • Skriptnamnet måste vara patch_script 

Valfritt – valideringsskriptet finns i /opt/emc/scaleio/lia/bin/ katalog med körningsbehörigheter.

  • Skriptnamnet måste vara verification_script


> Funktionen stöds endast på Linux (RHEL och SLES).
> Funktionen kontrollerar om slutkoden är 0 (noll) i slutet av körningen.
> Avslutningskoder och skriptkörning finns i LIA-loggarna.
> Det är kundens ansvar att testa patch_script och verification_script innan processen körs med hjälp av Gateway.
> Plats för funktionen: Upprätthålla → systemloggar och analyser → köra skript på värdar.

GW underhåll 
Kör skript 

Steg och flöden

Köra skript på:
1. Hela systemet – alla PowerFlex-noder
Som standard körs skriptet på den första värdens skyddsdomän (PD) och flyttas sedan till den andra och så vidare.
Parallellt på olika skyddsdomäner inaktiverade – som standard är kryssrutan avmarkerad.
Uppgifter om PD 
Parallellt på olika skyddsdomäner aktiverade – om du väljer det här alternativet körs patch_script parallellt på alla PD:er.
PD:er som inte har MDM:er är först och klusternoder är sist.
2_2 (1).png

2. Protection Domain – en specifik PD
PD som inte har MDM är först och MDM-klusternoder är sist.

3. Feluppsättning – en specifik FS.
FS:er som inte har MDM:er är först och MDM-klusternoder är sista.

4. SDS – en enda SDS-nod


som kör konfiguration:
1. Stoppa processen vid skriptfel.
1.1 Stoppa process vid skriptfel aktiverat – som standard är kryssrutan markerad.
Hela körningen misslyckas och stoppas när patch_script (och verification_script om det väljs) avslutas med någon annan kod än 0 (noll).
Running Config 
1.2 Stoppprocess vid skriptfel inaktiverat.
Om patch_script misslyckas misslyckas körningen av den noden och systemet går vidare till nästa nod och kör patch_script på den noden.
Running Config 

2. Tidsgräns för skript – Hur lång tid ska det ta att vänta på att patch_script ska slutföras?
När skriptet körs har du en konfigurerbar tidsgräns som användaren väljer.
Som standard är tidsgränsen hårdkodad till 15 minuter → på grund av en bugg i versioner som är äldre än PowerFlex 3.6.
Hela körningen misslyckas och stoppas när tidsgränsen för skriptkörningen har överskridits.

3. Verifieringsskript – Vill du köra verification_script efter att patch_script har körts?
3.1 Kör - patch_script kommer att köras och när det är klart kommer verification_script att köras, beroende på om patch_script efteråtgärd var att starta om eller inte (avsnitt #4).
3.2 Kör inte - patch_script kommer att köras och när det är klart kommer hela körningen att stoppas och avslutas lika framgångsrikt.
Running Config 

4. Åtgärd efter skript – Vill du starta om noden när patch_script har körts?
4.1 Starta om - när patch_script har körts klart och avslutats med kod 0 (noll) kommer noden att starta om och stoppa eller fortsätta beroende på om verification_script valdes att köras eller inte (avsnitt #3).
Om gatewayen finns på en nod som ska startas om kommer den inte att startas om, åtgärden lyckas och ett popup-fönster som påminner oss om att starta om den manuellt visas.
4.2 Starta inte om – när patch_script har körts klart och avslutats med kod 0 (noll) kommer noden inte att starta om och stoppas eller fortsätta beroende på om verification_script valdes att köras eller inte (avsnitt #3).
Running Config 


Kör skript på värdar:
Tryck på "Run Script on Hosts" –>Validera att fasen startar.
Den här fasen skickar en begäran till var och en av nodens LIA för att verifiera förekomsten av patch_script och verification_script (om du väljer) filer under /opt/emc/scaleio/lia/bin/. – Herr talman,
Kodlogiken väljer en slumpmässig lista över noder som ska köras på (enligt de nämnda villkoren).
Kör skript 


Starta körningsfasen:
Tryck på knappen "Starta körningsfas".
1. Gatewayen gör följande verifieringar:

a. Kontrollera att det inte finns någon trasig kapacitet.
b. Kontrollera giltig reservkapacitet.
c. Kontrollera giltigt klustertillstånd.
d. Kontrollera att inget annat SDS är i underhållsläge.

2. Gå in i SDS i underhållsläge.
3. Kör patch_script – efter en lyckad körning tas filen bort och en säkerhetskopia av den skapas i samma katalog.
Med namnet backup_patch_script
4. Starta om värden (om den valts)
5. Kör verification_script (om du har valt) – efter en lyckad körning tas filen bort och en säkerhetskopia av den skapas i samma katalog med namnet backup_verification_script.
6. Avsluta SDS från underhållsläge.
7. Åtgärden har slutförts.
Starta körningsfas (1).png

 

RESTAPI – Efter PFMP (PowerFlex 4.x)

  • Kör ett korrigeringsskript på alla eller några av systemnoderna, med en valfri omstart och ett valfritt verifieringsskript. Åtgärden har en viss nivå av parallellitet.
  • Skriptfilerna ska lagras i nodens mapp: /opt/emc/scaleio/lia/bin Alternativt kan de laddas upp av GW till noden. Skripten kan antingen hämtas från en lokal GW-mapp eller laddas ned från HTTP/HTTPS-resursen.
  • En lista över SdsIds och/eller mdmIds kan tillhandahållas för att uttryckligen välja de noder som ska köras på.
  • Filnamnen är hårdkodade och kan inte ändras: patch_script och verification_script

REST-kommando

  • /im/types/Configuration/actions/liaRunOsPatching

Obligatoriska parametrar

  • Någon av följande parametrar är obligatorisk: pdIds/fsIds/sdsIds/mdmIds / executeOnAllSdss / executeOnAllMdms
    • pdIds  - körs på alla noder som ingår i följande skyddsdomäner (PD-ID), i decimalformat
    • fsIds  - körs på alla noder som ingår i följande feluppsättningar (FS-ID), i decimalformat
    • sdsIds  - körs på alla SDS:er som listas av Ids, i decimalformat
    • mdmIds  - körs på alla MDM-enheter som anges av ID:n, i decimalformat
    • executeOnAllSdss  - körs på alla SDS:er (sant/falskt)
    • executeOnAllMdms  - körs på alla MDM-enheter (sant/falskt)

Valfria parametrar

  • isRebootRequired - Ska varje nod starta om efter att ha kört korrigeringsskriptet (värden: true/false)
  • isVerificationScriptRequired - Om verifieringsskriptet körs på varje nod (värden: sant/falskt)
  • isRunningInParallelOnPds - om operationen körs på ett parallellt sätt på noder som tillhör olika PD (värden: sant/falskt)
  • isStopProcessingOnScriptFailure - Om hela åtgärden stoppas i händelse av ett skriptfel (värden: true/false)
  • TimeoutMs - timeout för att köra patchskriptet i millisekunder
  • isUploadFileNeeded  - Ska GW ladda upp skript till noderna (värden: true/false)

Följande fält är relevanta när isUploadFileNeeded  är "sant":

  • patchScriptFilePath  - antingen det lokala mappnamnet eller en http/https-URL för patchskriptet
  • verificationScriptFilePath  - antingen det lokala mappnamnet eller en http/https-URL för verifieringsskriptet
  • maintenanceModeType  - Typ av underhållsläge(värden: IMM/PMM)
  • verificationScriptTimeoutSec  - Tidsgräns för verifieringsskript i sekunder
  • rebootTimeoutSec  – Tidsgräns för omstart av nod i sekunder

Observera att innan du kör kommandot liaRunOsPatching bör du först logga in och hämta systemkonfigurationen, se exemplet nedan.
 

Kommandoexempel

*token variabeln innehåller den Keycloak token som returnerades från /auth/login eller från /api/gatewayLogin.
ip-address – IP-adressen för en http-server som innehåller skripten som ska köras

Hämta json för en systemkonfiguration, som kommer att vara nyttolasten för patchkommandot (måste ersätta liaPassword och mdmPassword manuellt från null till någon sträng).


<>Infoga utdata från det här kommandot (med fasta lösenord) 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 kommandot patch:

 
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

    Loggar

    Gateway:

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

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

    Dricks- Särskild växel för att behålla skriptet i noden vid felsökning eller testning:

    • Redigera filen /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayInternal.properties
    • Leta reda på fältet "ospatching.delete.scripts=false"
    • Ändra till sant för felsökning (standardvärdet är falskt)

    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.