PowerFlex: Vysvětlení funkce spouštění skriptu na hostiteli (neboli opravy operačního systému)

Summary: Tato funkce se používá ke spouštění uživatelských skriptů na serverech, které hostují komponenty MDM nebo SDS. Funkci lze použít pro jakýkoli účel mimo systém PowerFlex, jako je spuštění sady příkazů prostředí Linux, opravy operačního systému a další. ...

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

Uživatelské rozhraní – před PFMP (PowerFlex 4.x)

Požadavky

Povinné – hlavní skript se nachází ve složce /opt/emc/scaleio/lia/bin/ s oprávněními ke spuštění.

  • Název skriptu musí být patch_script 

Volitelné – ověřovací skript se nachází ve složce /opt/emc/scaleio/lia/bin/ s oprávněními ke spuštění.

  • Název skriptu musí být verification_script


> Tato funkce je podporována pouze v systému Linux (RHEL a SLES).
> Tato funkce zkontroluje, zda je ukončovací kód na konci procesu 0 (nula).
> Ukončovací kódy a spuštění skriptu naleznete v protokolech LIA.
> Je odpovědností zákazníka otestovat skript patch_script a verification_script před spuštěním procesu pomocí brány.
> Umístění funkce: Maintain → System Logs and Analysis → Run Script on Hosts.

Údržba brány 
spustit skript 

Kroky a postupy

Spuštění skriptu:
1. Celý systém – všechny uzly PowerFlex
Ve výchozím nastavení je skript spuštěn v doméně ochrany (PD) prvního hostitele, poté se přesune na druhou atd.
Souběžně v různých doménách ochrany zakázáno – ve výchozím nastavení není toto políčko zaškrtnuto.
podrobnosti o doméně ochrany 
Souběžně v různých doménách ochrany povoleno – po zvolení této možnosti bude skript patch_script probíhat souběžně na doménách ochrany.
Domény ochrany, které nemají uzly MDM, jsou první a uzly clusteru jsou poslední.
2_2 (1).png

2. Doména ochrany – konkrétní doména ochrany
Domény ochrany, které nemají uzly MDM, jsou první a uzly clusteru MDM jsou poslední.

3. Sada selhání – konkrétní sada selhání.
Sady selhání, které nemají uzly MDM, jsou první a uzly clusteru MDM jsou poslední.

4. SDS – jeden uzel SDS


Spuštěná konfigurace:
1. Zastavte proces při selhání skriptu.
1.1 Povoleno zastavení procesu při selhání skriptu – ve výchozím nastavení je políčko zaškrtnuto.
Celý proces selže a zastaví se, jakmile se skript patch_script (a verification_script, pokud je vybrán) ukončí s jiným kódem než 0 (nula).
spuštěná konfigurace 
1.2 Zastavení procesu při selhání skriptu je zakázáno.
V případě, že skript patch_script selže, spuštění tohoto uzlu také selže a systém se přesune do dalšího uzlu a spustí na něm skript patch_script.
spuštěná konfigurace 

2. Vypršení časového limitu skriptu – jak dlouho se má čekat na dokončení skriptu patch_script?
Spuštění skriptu má konfigurovatelný časový limit, který si zvolí uživatel.
Ve výchozím nastavení je časový limit nakonfigurovaný na 15 minut → kvůli chybě je ve verzích starších než PowerFlex 3.6 pevně zakódován na 15 minut.
Celý proces selže a zastaví se, jakmile vyprší časový limit spuštění skriptu.

3. Ověřovací skript – Chcete spustit skript verification_script po spuštění skriptu patch_script?
3.1 Spuštění – spustí se skript patch_script a po jeho dokončení se spustí skript verification_script v závislosti na tom, zda následnou akcí po skriptu patch_script bylo restartování nebo ne (část č. 4).
3.2 Nespuštění – spustí se skript patch_script a po jeho dokončení se celý proces zastaví a skončí stejně úspěšně.
spuštěná konfigurace 

4. Akce po provedení skriptu – Chcete po spuštění skriptu patch_script restartovat uzel?
4.1 Restart – po dokončení skriptu patch_script a ukončení s kódem 0 (nula) se uzel restartuje a zastaví se nebo bude pokračovat v závislosti na tom, zda byl skript verification_script vybrán ke spuštění nebo ne (část č. 3).
Pokud je brána v uzlu, který chcete restartovat, k restartu nedojde, operace proběhne úspěšně a zobrazí se místní okno s výzvou, abychom restart provedli rušně.
4.2 Nerestartování – jakmile se skript patch_script dokončí a skončí s kódem 0 (nula), uzel se nerestartuje a zastaví se nebo pokračuje v závislosti na tom, zda byl skript verification_script vybrán ke spuštění nebo ne (část č. 3).
spuštěná konfigurace 


Spuštění skriptu na hostitelích:
Klikněte na tlačítko „Run Script on Hosts“ –> začne fáze ověření.
Tato fáze odešle požadavek do každé LIA uzlu k ověření existence skriptu patch_scriptverification_script (pokud jsou vybrané) v části /opt/emc/scaleio/lia/bin/.
Logika kódu vybere náhodný seznam uzlů, na kterých se má spustit (podle zmíněných podmínek).
spustit skript 


Spuštění fáze provedení:
Klikněte na tlačítko „Lstart execution phase“.
1. Brána provede následující ověření:

a. Zkontrolujte, zda nedošlo k selhání kapacity.
b. Zkontrolujte platnou záložní kapacitu.
c. Zkontrolujte platný stav clusteru.
d. Zkontrolujte, zda není v režimu údržby žádné jiné SDS.

2. Uvedení jednotky SDS do režimu údržby.
3. Spuštění skriptu patch_script – po úspěšném spuštění se soubor odstraní a vytvoří se jeho záložní soubor ve stejném adresáři.
S názvem backup_patch_script
4. Restartujte hostitele (je-li vybrán)
5. Spuštění skriptu verification_script (pokud je vybrán) – po úspěšném spuštění se soubor smaže a vytvoří se jeho záložní soubor ve stejném adresáři s názvem backup_verification_script.
6. Ukončete režim údržby u SDS.
7. Operace byla úspěšně dokončena.
Start execute phase (1).png

 

RESTAPI – po PFMP (PowerFlex 4.x)

  • Spusťte opravný skript na všech nebo některých systémových uzlech s volitelným restartováním a volitelným ověřovacím skriptem. Operace má určitou úroveň paralelismu.
  • Soubory skriptů by měly být uloženy ve složce uzlu: /opt/emc/scaleio/lia/bin. Případně je může brána nahrát do uzlu. Skripty je možné vzít z místní složky brány nebo stáhnout ze sdílené složky HTTP/HTTPS.
  • Abyste mohli přímo zvolit uzly, na kterých se mají spustit, je možné poskytnout seznam identifikátorů SdsId a/nebo mdmId.
  • Názvy souborů jsou pevně zakódované a nelze je změnit: patch_scriptverification_script

Příkaz REST

  • /im/types/Configuration/actions/liaRunOsPatching

Požadované parametry

  • Je povinný jeden z následujících parametrů: pdIds/fsIds/sdsIds/mdmIds / executeOnAllSdss / executeOnAllMdms
    • pdIds  – spustit na všech uzlech, které jsou součástí následujících domén ochrany (ID PD), v desítkovém formátu
    • fsIds  – spustit na všech uzlech, které jsou součástí následujících sad selhání (ID FS), v desítkovém formátu
    • sdsIds  – spustit na všech SDS uvedených podle ID v desítkovém formátu
    • mdmIds  – spustit na všech MDM seřazených podle ID, v desítkovém formátu
    • executeOnAllSdss  – spustit na všech SDS (true/false)
    • executeOnAllMdms  – spustit na všech MDM (true/false)

Volitelné parametry

  • isRebootRequired – každý uzel by se měl restartovat po spuštění opravného skriptu (hodnoty: true/false)
  • isVerificationScriptRequired – pokud by měl ověřovací skript běžet na každém uzlu (hodnoty: true/false)
  • isRunningInParallelOnPds – pokud by měla operace probíhat souběžně na uzlech, které patří do různých domén ochrany (hodnoty: true/false)
  • isStopProcessingOnScriptFailure – pokud by se celá operace měla zastavit v případě selhání skriptu (hodnoty: true/false)
  • TimeoutMs – časový limit pro spuštění opravného skriptu v milisekundách
  • isUploadFileNeeded  – pokud by brána měla nahrávat skripty do uzlů (hodnoty: true/false)

Následující pole jsou relevantní, pokud isUploadFileNeeded  mají hodnotu „true“:

  • patchScriptFilePath  – buď název místní složky, nebo http/https URL opravného skriptu
  • verificationScriptFilePath  – buď název místní složky, nebo http/https URL ověřovacího skriptu
  • maintenanceModeType  – Typ režimuúdržby (hodnoty: IMM/PMM)
  • verificationScriptTimeoutSec  – časový limit ověřovacího skriptu v sekundách
  • rebootTimeoutSec  – časový limit restartování uzlu v sekundách

Upozorňujeme, že před spuštěním příkazu liaRunOsPatching byste se měli nejprve přihlásit a získat konfiguraci systému, viz příklad níže.
 

Příklad příkazu

Proměnná *token obsahuje token Keycloak, který byl vrácen z umístění /auth/login nebo z /api/gatewayLogin.
**<ip-address> – IP adresa serveru http obsahující skripty, které se mají spustit

Získejte soubor json konfigurace systému, což bude datová část příkazu k opravě (je nutné ručně nahradit liaPassword a mdmPassword z hodnoty null na nějaký řetězec).


Vložte výstup tohoto příkazu (s pevnými hesly) do souboru config.json:

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
 


Spusťte příkaz k opravě:

 
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

    Protokoly

    Brána:

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

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

    Tip – Speciální přepínač pro zachování skriptu v uzlu při odstraňování problémů nebo testování:

    • Upravte soubor /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayInternal.properties
    • Vyhledejte pole „ospatching.delete.scripts=false“
    • Změňte hodnotu na „true“ pro odstraňování problémů (výchozí hodnota je „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.