Технологія PowerFlex: Пояснення функції запуску сценарію на хості (також відомого як виправлення ОС)

Summary: Ця функція використовується для запуску наданих користувачем сценаріїв на серверах, на яких розміщені компоненти MDM або SDS. Цю функцію можна використовувати для будь-яких цілей, зовнішніх для системи PowerFlex, таких як запуск набору команд оболонки Linux, виправлення операційної системи тощо. ...

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

Інтерфейс користувача - Pre-PFMP (PowerFlex 4.x)

Передумови

Обов'язковий - основний скрипт знаходиться в /opt/emc/scaleio/lia/bin/ каталог з правами на виконання.

  • Ім'я скрипту має бути patch_script 

Необов'язковий - скрипт валідації знаходиться в /opt/emc/scaleio/lia/bin/ каталог з правами на виконання.

  • Ім'я скрипту має бути verification_script


> Ця функція підтримується лише на Linux (RHEL та SLES).
> Ця функція перевіряє, чи є код виходу 0 (Нуль) наприкінці виконання.
> Коди виходу та запуск скриптів можна знайти в журналах LIA.
> Клієнт несе відповідальність за тестування patch_script та verification_script перед запуском процесу за допомогою шлюзу.
> Особливості розташування: Ведіть → системні журнали та аналіз, → запускайте скрипт на хостів.

Технічне обслуговування ГВ 
Запустити скрипт 

Етапи та потоки

Виконання сценарію на:
1. Вся система - всі вузли
PowerFlex За замовчуванням скрипт виконується на домені захисту (PD) першого хоста, потім переходить до другого і так далі.
Паралельно на різних доменах захисту відключений - за замовчуванням знімається галочка.
Подробиці про ПД 
Паралельно на різних доменах захисту включено - вибравши цю опцію, patch_script буде працювати паралельно на всіх ПД.
PD, які не мають MDM, є першими, а вузли кластера — останніми.
2_2 (1).png

2. Домен захисту - це конкретні PD PD
, які не мають MDM, є першими, а вузли кластера MDM - останніми.

3. Fault Set - це конкретна ФС.
ФС, які не мають MDM, є першими, а вузли кластера MDM – останніми.

4. SDS - один вузол


SDSКонфігурація виконання:
1. Зупиніть процес у разі збою сценарію.
1.1 Зупинка процесу при збої скрипта включена - за замовчуванням галочка поставлена.
Весь запуск зазнає невдачі та зупиниться, як тільки patch_script verification_script, якщо вибрано) вийде з будь-яким іншим кодом, крім 0 (Нуль).
Запущена конфігурація 
1.2 Зупинка процесу при збої сценарію відключена.
У разі, якщо patch_script вийде з ладу, виконання цього вузла зазнає невдачі, і система перейде на наступний вузол і запустить patch_script на цьому вузлі.
Запущена конфігурація 

2. Тайм-аут сценарію - скільки часу чекати закінчення patch_script?
Запуск скрипта має налаштовуваний тайм-аут, який вибирає користувач.
За замовчуванням налаштований на 15 хвилин → через помилку, тайм-аут жорстко закодований до 15 хвилин, у версіях старше PowerFlex 3.6.
Весь запуск зазнає невдачі та зупиниться, як тільки час виконання сценарію закінчиться.

3. Скрипт перевірки - Чи хочете ви запустити verification_script після того, як patch_script було запущено?
3.1 Run - patch_script запуститься, і як тільки це буде зроблено, verification_script запуститься, в залежності від того, чи було patch_script дії після перезавантаження чи ні (розділ #4).
3.2 Do not Run - patch_script буде бігти, і як тільки це буде зроблено, весь біг зупиниться і закінчиться так само успішно.
Запущена конфігурація 

4. Дія після скрипту - Чи хочете ви перезавантажити вузол після виконання patch_script?
4.1 Перезавантаження - після того, як patch_script закінчиться біг і вийде з кодом 0 (Zero), вузол перезавантажиться, і зупиниться або продовжить в залежності від того, чи був обраний verification_script для запуску чи ні (розділ #3).
Якщо Gateway знаходиться на вузлі, який потрібно перезавантажити, він не перезавантажиться, операція проходить успішно, і буде показано спливаюче вікно, яке нагадує нам перезавантажити його вручну.
4.2 Не перезавантажуватися - після того, як patch_script закінчили біг і вийшли з кодом 0 (Zero), вузол не буде перезавантажуватися, а зупинятися або продовжувати в залежності від того, чи був обраний verification_script для запуску чи ні (розділ #3).
Запущена конфігурація 


Запустіть скрипт на хостів:
Натисніть "Run Script on Hosts" ->Validate phase starts.
На цьому етапі надсилається запит до LIA кожного вузла для перевірки існування файлів patch_script та verification_script (якщо вибрано) під /opt/emc/scaleio/lia/bin/.
Логіка коду вибирає випадковий список вузлів для роботи (відповідно до згаданих умов).
Запустити скрипт 


Початковий етап виконання:
Натисніть кнопку «Запустити фазу виконання».
1. Шлюз робить такі перевірки:

a. Перевірте, чи немає несправної ємності.
b. Перевірте допустиму вільну ємність.
c. Перевірте дійсний стан кластера.
d. Переконайтеся, що жоден інший SDS не перебуває в режимі обслуговування.

2. Переведіть SDS у режим технічного обслуговування.
3. Запустіть patch_script - після вдалого запуску файл видаляється і створюється файл з нього резервної копії в тому ж каталозі.
З назвою backup_patch_script
4. Перезавантажити хост (якщо вибрано
)5. Run verification_script (якщо вибрано) - після вдалого запуску файл видаляється і створюється файл його резервної копії в тому ж каталозі з ім'ям backup_verification_script.
6. Вийдіть з режиму технічного обслуговування SDS.
7. Операція завершена успішно.
Почніть виконувати фазу (1).png

 

RESTAPI - Post-PFMP (PowerFlex 4.x)

  • Запустіть сценарій виправлення на всіх або деяких системних вузлах з необов'язковим перезавантаженням і необов'язковим сценарієм перевірки. Операція має певний рівень паралелізму.
  • Файли скриптів повинні зберігатися в папці вузла: /opt/emc/scaleio/lia/bin Крім того, вони можуть бути завантажені GW на вузол. Скрипти можуть бути взяті з локальної папки GW або завантажені з спільного доступу HTTP/HTTPS.
  • Список SdsId та/або mdmId може бути наданий, щоб явно вибрати вузли для роботи.
  • Назви файлів жорстко закодовані і не можуть бути змінені: patch_script і verification_script

Команда REST

  • /im/types/Configuration/actions/liaRunOsPatching

необхідні параметри

  • Обов'язковим є будь-який з наступних параметрів: pdIds/fsIds/sdsIds/mdmIds / executeOnAllSdss / executeOnAllMdms
    • pdIds  - запускаються на всіх вузлах, які входять до наступних доменів захисту (PD Ids), у десятковому форматі
    • fsIds  - виконується на всіх вузлах, які входять до наступних наборів несправностей (FS Ids), у десятковому форматі
    • sdsIds  - запускається на всіх SDS, перелічених Ids, у десятковому форматі
    • mdmIds  - запускається на всіх MDM, перелічених за ідентифікаторами, у десятковому форматі
    • executeOnAllSdss  - працювати на всіх SDS (true/false)
    • executeOnAllMdms  - запускається на всіх MDM (true/false)

Необов'язкові параметри

  • isRebootRequired - чи повинен кожен вузол перезавантажуватися після запуску сценарію патчу (значення: true/false)
  • isVerificationScriptRequired - чи повинен скрипт перевірки виконуватися на кожному вузлі (значення: true/false)
  • isRunningInParallelOnPds - чи повинна операція виконуватися паралельним способом на вузлах, які належать до різних ПД (значення: true/false)
  • isStopProcessingOnScriptFailure - чи повинна вся операція зупинятися у випадку збою скрипту (значення: true/false)
  • TimeoutMs - тайм-аут для запуску сценарію патчу в мілісекундах
  • isUploadFileNeeded  - Чи повинен GW завантажувати скрипти на вузли (значення: true/false)

Наступні поля актуальні, коли isUploadFileNeeded  є «істинним»:

  • patchScriptFilePath  - або ім'я локальної папки, або URL-адреса http/https скрипта патчу
  • verificationScriptFilePath  - або ім'я локальної папки, або URL-адреса http/https сценарію перевірки
  • maintenanceModeType  - Тип режимуобслуговування (значення: ІММ/ПММ)
  • verificationScriptTimeoutSec  - тайм-аут сценарію верифікації в секундах
  • rebootTimeoutSec  - тайм-аут перезавантаження вузла в секундах

Зверніть увагу, що перед виконанням команди liaRunOsPatching слід спочатку авторизуватися і отримати конфігурацію системи, дивіться приклад нижче.
 

Приклад команди

* змінна token містить токен Keycloak, який був повернутий з /auth/login або з /api/gatewayLogin.
**ip-address - IP-адреса http сервера, що містить скрипти для виконання

Get json конфігурації системи, який буде корисним навантаженням команди patch (повинен замінити liaPassword і mdmPassword вручну з null на деякий рядок).


<>Вставте висновок цієї команди (з фіксованими паролями) у файл 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
 


Виконайте команду 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

    Журнали

    Шлюз:

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

    ЛІЯ:
    /opt/emc/scaleio/lia/logs/trc.x

    Кінчик- Спеціальний перемикач для утримання скрипта у вузлі під час усунення несправностей або тестування:

    • Редагувати файл /opt/emc/scaleio/gateway/webapps/ROOT/WEB-INF/classes/gatewayInternal.properties
    • Знайдіть поле "ospatching.delete.scripts=false"
    • Змініть на true для усунення несправностей (за замовчуванням 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.