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

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

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)

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