PowerFlex: Opis funkcji uruchamiania skryptu na hoście (czyli poprawki systemu operacyjnego)

Summary: Funkcja ta służy do uruchamiania skryptów dostarczonych przez użytkownika na serwerach hostujących komponenty MDM lub SDS. Funkcja może być wykorzystana do dowolnego celu zewnętrznego w stosunku do systemu PowerFlex, takie jak uruchomienie zestawu poleceń wiersza poleceń systemu Linux, aktualizacja systemu operacyjnego, i wiele innych. ...

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

Interfejs użytkownika — Pre-PFMP (PowerFlex 4.x)

Wymagania wstępne

Obowiązkowe — skrypt główny znajduje się w /opt/emc/scaleio/lia/bin/ katalogu z uprawnieniami do wykonywania.

  • Skrypt musi mieć nazwę patch_script 

Opcjonalnie — skrypt weryfikacyjny znajduje się w /opt/emc/scaleio/lia/bin/ katalogu z uprawnieniami do wykonywania.

  • Skrypt musi mieć nazwę verification_script


> Ta funkcja jest obsługiwana tylko w systemie Linux (RHEL i SLES).
> Funkcja sprawdza, czy kod wyjścia to 0 (zero) na końcu wykonania.
> Kody wyjścia i uruchomienie skryptu można znaleźć w dziennikach LIA.
> Klient jest odpowiedzialny za przetestowanie skryptów patch_script i verification_script przed uruchomieniem procesu za pomocą bramki.
> Lokalizacja funkcji: Maintain → System Logs and Analysis → Run Script on Hosts.

Konserwacja bramy 
Uruchom skrypt 

Kroki i procesy

Uruchamianie skryptu:
1. Cały system — wszystkie węzły PowerFlex
Domyślnie skrypt jest uruchamiany w domenie ochrony pierwszego hosta (PD), a następnie przechodzi do drugiego itd.
Równolegle w przypadku wyłączenia różnych domen ochrony — pole wyboru jest domyślnie odznaczone.
Szczegóły PD 
Równolegle w przypadku włączenia różnych domen ochrony — po wybraniu tej opcji skrypt patch_script będzie uruchamiany równolegle na wszystkich domenach ochrony.
Domeny ochrony, które nie mają modułów MDM, są pierwsze, a węzły klastra ostatnie.
2_2 (1).png

2. Protection Domain — określona domena ochrony
Domeny ochrony, które nie mają modułów MDM, są pierwsze, a węzły klastra MDM ostatnie.

3. Fault Set — określony zestaw błędów.
Zestawy błędów, które nie mają modułów MDM, są pierwsze, a węzły klastra MDM ostatnie.

4. SDS — pojedynczy węzeł SDS


Uruchamianie konfiguracji:
1. Stop process on script failure.
1.1 Opcja Stop process on script failure włączona — domyślnie pole wyboru jest zaznaczone.
Całe uruchomienie zakończy się niepowodzeniem i zostanie zatrzymane po zakończeniu skryptów patch_script (i verification_script, jeśli wybrano) z innym kodem niż 0 (zero).
uruchamianie konfiguracji 
1.2 Opcja Stop process on script failure wyłączona.
W przypadku niepowodzenia skryptu patch_script wykonanie tego węzła zakończy się niepowodzeniem, a system przejdzie do kolejnego węzła i uruchomi skrypt patch_script na tym węźle.
uruchamianie konfiguracji 

2. Script timeout — ile czasu należy czekać na zakończenie skryptu patch_script?
Uruchomienie skryptu ma konfigurowalny limit czasu, który jest wybierany przez użytkownika.
Domyślnie jest on skonfigurowany na 15 minut → z powodu błędu limit czasu jest zakodowany na 15 minut w wersjach starszych niż PowerFlex 3.6.
Całe uruchomienie zakończy się niepowodzeniem po przekroczeniu limitu czasu uruchomienia skryptu.

3. Verification script — czy chcesz uruchomić skrypt verification_script po uruchomieniu skryptu patch_script?
3.1 Run— patch_script zostanie uruchomiony, a po zakończeniu zostanie uruchomiony verification_script, w zależności od tego, czy po uruchomieniu skryptu patch_script system ma włączyć się ponownie czy nie (sekcja nr 4).
3.2 Do not Run — patch_script zostanie uruchomiony, a po zakończeniu całe uruchomienie zakończy się powodzeniem.
uruchamianie konfiguracji 

4. Post script action — czy chcesz uruchomić węzeł po uruchomieniu skryptu patch_script?
4.1 U Reboot— po zakończeniu uruchomienia skryptu patch_script z kodem 0 (zero), węzeł uruchomi się ponownie i zatrzyma lub kontynuuje działanie w zależności od tego, czy wybrano uruchomienie skryptu verification_script (sekcja #3).
Jeśli bramka znajduje się na węźle, który ma zostać uruchomiony ponownie, nie uruchomi się ponownie, operacja zakończy się sukcesem i zostanie wyświetlone wyskakujące okienko z monitem o ręczne przeprowadzenie ponownego uruchomienia.
4.2 Do not reboot — po zakończeniu działania skryptu patch_script z kodem 0 (zero), węzeł nie uruchomi się ponownie i zatrzyma się lub kontynuuje działanie w zależności od tego, czy wybrano uruchomienie skryptu verification_script (sekcja #3).
uruchamianie konfiguracji 


Run Script on Hosts
Naciśnij przycisk „Run Script on Hosts” —> rozpocznie się faza Validate.
Faza ta wyśle żądanie do każdego z LIA węzła w celu zweryfikowania obecności plików patch_script i verification_script (jeśli wybrano) w lokalizacji /opt/emc/scaleio/lia/bin/.
Logika kodu wybiera losową listę węzłów do uruchomienia (zgodnie z wymienionymi warunkami).
Uruchom skrypt 


Start execution phase:
Naciśnij przycisk „Start execution phase”.
1. Brama wykonuje następujące weryfikacje:

a. Sprawdzenie, czy nie ma uszkodzonej pojemności.
b. Sprawdzenie prawidłowej pojemności zapasowej.
c. Sprawdzenie prawidłowego stanu klastra.
d. Sprawdzenie, czy żaden inny SDS nie jest w trybie konserwacji.

2. Wprowadź SDS w tryb konserwacji.
3. Uruchom skrypt patch_script — po pomyślnym uruchomieniu plik zostanie usunięty, a jego kopia zapasowa zostanie utworzona w tej samej lokalizacji
z nazwą backup_patch_script
4. Uruchom ponownie hosta (jeśli wybrano)
5. Uruchom skrypt verification_script (jeśli wybrano) — po pomyślnym uruchomieniu plik zostanie usunięty, a plik kopii zapasowej zostanie utworzony w tym samym katalogu z nazwą backup_verification_script.
6. Wyjdź z trybu konserwacji SDS.
7. Operacja została przeprowadzona pomyślnie.
Rozpocznij fazę wykonania (1).png

 

RESTAPI — po PFMP (PowerFlex 4.x)

  • Uruchom skrypt poprawki na wszystkich lub niektórych węzłach systemu z opcjonalnym ponownym uruchomieniem i opcjonalnym skryptem weryfikacyjnym. Operacja ma pewien poziom równoległości.
  • Pliki skryptów powinny być przechowywane w folderze węzła: /opt/emc/scaleio/lia/bin Można też przesłać je przez bramę do węzła. Skrypty można pobrać z lokalnego folderu bramy lub pobrać z udostępnionego folderu HTTP/HTTPS.
  • Można podać listę identyfikatorów SdsId i/lub mdmId, aby wyraźnie wybrać węzły do uruchomienia.
  • Nazwy plików są zakodowane na stałe i nie można ich zmienić: patch_scriptverification_script

Polecenie REST

  • /im/types/Configuration/actions/liaRunOsPatching

Wymagane parametry

  • Jeden z następujących parametrów jest wymagany: pdIds/fsIds/sdsIds/mdmIds / executeOnAllSdss / executeOnAllMdms
    • pdIds  - uruchom na wszystkich węzłach, które są częścią następujących domen ochrony (identyfikatory PD w formacie dziesiętnym)
    • fsIds  - uruchom na wszystkich węzłach, które są częścią następujących zestawów błędów (identyfikatory FS w formacie dziesiętnym)
    • sdsIds  - uruchom na wszystkich SDS, podanych według identyfikatorów w formacie dziesiętnym
    • mdmIds  - uruchom na wszystkich modułach MDM, podanych według identyfikatorów w formacie dziesiętnym
    • executeOnAllSdss  - uruchom na wszystkich SDS (true/false)
    • executeOnAllMdms  - uruchom na wszystkich modułach MDM (true/false)

Parametry opcjonalne

  • isRebootRequired - czy każdy węzeł powinien ponownie uruchomić się po uruchomieniu skryptu poprawki (wartości: true/false)
  • isVerificationScriptRequired - czy skrypt weryfikacyjny należy uruchomić na każdym węźle na każdym węźle (wartości: true/false)
  • isRunningInParallelOnPds - czy operacja powinna być wykonywana równolegle na węzłach, które należą do różnych PD (wartości: true/false)
  • isStopProcessingOnScriptFailure - czy cała operacja powinna zostać zatrzymana w przypadku awarii skryptu (wartości: true/false)
  • TimeoutMs - limit czasu dla uruchomienia skryptu poprawki w milisekundach
  • isUploadFileNeeded  - czy brama powinna przesłać skrypty do węzłów (wartości: true/false)

Poniższe pola są istotne, gdy isUploadFileNeeded  mają wartość true:

  • patchScriptFilePath  - nazwa folderu lokalnego lub adres URL http/https skryptu poprawki
  • verificationScriptFilePath  - nazwa folderu lokalnego lub adres URL http/https skryptu weryfikacyjnego
  • maintenanceModeType  - typ trybu konserwacji (wartości: IMM/PMM)
  • verificationScriptTimeoutSec  - limit czasu skryptu weryfikacyjnego w sekundach
  • rebootTimeoutSec  - limit czasu ponownego uruchomienia węzła w sekundach

Należy pamiętać, że przed uruchomieniem polecenia liaRunOsPatching należy najpierw zalogować się i uzyskać konfigurację systemu, patrz poniższy przykład.
 

Przykład polecenia

* Zmienna tokenu zawiera token Keycloak zwrócony z logowania /auth/ lub z /api/gatewayLogin.
** <adres_IP> — adres IP serwera http zawierającego skrypt, który ma zostać uruchomiony

Pobierz plik json konfiguracji systemu, który będzie stanowić ładunek polecenia poprawki (należy ręcznie zmienić wartości liaPassword mdmPassword z null na jakiś ciąg).


Wprowadź wynik tego polecenia (z ustalonymi hasłami) do pliku 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
 


Uruchom polecenie poprawki:

 
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

    Dzienniki

    Bramka:

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

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

    Wskazówka — specjalny przełącznik, który zachowuje skrypt w węźle podczas rozwiązywania problemów lub testowania:

    • Edytuj plik /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayInternal.properties
    • Znajdź pole „ospatching.delete.scripts=false”
    • Zmień na true w celu rozwiązywania problemów (ustawienie domyślne to 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.