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. ...

Ez a cikk a következő(k)re vonatkozik: Ez a cikk nem vonatkozik a következő(k)re: Ez a cikk nem kapcsolódik egyetlen konkrét termékhez sem. Ez a cikk nem azonosítja az összes termékverziót.

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)

    Érintett termékek

    PowerFlex rack, ScaleIO
    Termék tulajdonságai
    Article Number: 000206981
    Article Type: How To
    Utoljára módosítva: 23 szept. 2025
    Version:  4
    Választ kaphat kérdéseire más Dell-felhasználóktól
    Támogatási szolgáltatások
    Ellenőrizze, hogy a készüléke rendelkezik-e támogatási szolgáltatással.