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).
> Функция проверяет, равен ли код выхода нулю после выполнения.
> Информация о кодах выхода и запуске сценария доступна в журналах LIA.
> Перед запуском процесса с помощью шлюза заказчик обязан протестировать patch_script и verification_script.
> Местоположение функции: Maintain → System Logs and Analysis → Run Script on Hosts.

Техническое обслуживание GW 
Запуск сценария 

Этапы и процессы

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

2. Защищенный домен —отдельный PD
Сначала выделяются конкретные PD, у которых нет MDM, а узлы кластера с MDM — последними.

3. Неисправный компонент (FS) — отдельный FS
Сначала выделяются конкретные FS, у которых нет MDM, а узлы кластера с MDM — последними.

4. SDS — отдельный узел SDS


Конфигурация выполнения:
1. Остановите выполнение процесса, если возникнет ошибка в сценарии.
1.1 Остановка процесса при сбое сценария включена — по умолчанию флажок установлен.
Весь запуск завершится сбоем и остановкой после выхода patch_scriptverification_script, если он выбран) с любым другим кодом, кроме 0 (Zero).
работающая конфигурация 
1.2 Отключено автоматическая остановка процесса при ошибке выполнения сценария.
В случае сбоя patch_script выполнение этого узла завершится сбоем, система переместится на следующий узел и запустит patch_script на этом узле.
работающая конфигурация 

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

3. Сценарий проверки — нужно ли verification_script после выполнения сценария patch_script?
3.1 Выполнить — patch_script будет выполнен, и после этого verification_script, в зависимости от того, будет ли после выполнения patch_script перезагрузка (раздел 4).
3.2 Не выполнять — patch_script будет выполнен, и после этого весь запуск остановится и завершится успешно.
работающая конфигурация 

4. Действие после выполнения сценария: нужно ли перезапустить узел после выполнения сценария patch_script?
4.1 Перезапустить — после выполнения patch_script и выхода из него с кодом 0 (Zero) узел перезагрузится и остановится или продолжит работу в зависимости от того,был ли выбран сценарий verification_script для выполнения (раздел 3).
Если шлюз находится на перезагружаемом узле, он не будет перезагружаться, операция будет выполнена успешно, и появится всплывающее окно с напоминанием о необходимости перезагрузки вручную.
4.2 Не перезагружать — после завершения работы patch_script и выхода с кодом 0 (Zero) узел не перезагружается и не останавливается или продолжает работу в зависимости от того, был ли выбран для выполнения сценарий verification_script (раздел 3).
работающая конфигурация 


Выполнение сценария на хостах:
Нажмите «Run Script on Hosts» --> Начинается этап валидации.
На этом этапе отправляется запрос на каждый из LIA узла для проверки наличия файлов patch_script и verification_script (если выбраны) в /opt/emc/scaleio/lia/bin/.
Логика кода выбирает случайный список узлов для запуска (в соответствии с указанными условиями).
Запуск сценария 


Начать этап выполнения.
Нажмите кнопку «Start Execution phase».
1. Шлюз выполняет следующие проверки:

a. Убедитесь, что емкость не повреждена.
b. Проверьте допустимую резервную емкость.
c. Проверьте действительное состояние кластера.
d. Убедитесь, что другие SDS не находятся в режиме обслуживания.

2. Переведите SDS в режим «Maintenance Mode»
3. Выполните команду patch_script — после успешного выполнения файл удаляется, а файл резервной копии создается в том же каталоге.
С именем backup_patch_script
4. Перезагрузите хост (если выбран)
5. Выполните команду verification_script (если выбрана) после успешного выполнения файл удаляется, а файл резервной копии создается в том же каталоге с именем backup_verification_script
6. Выведите SDS из режима «Maintenance Mode».
7. Операция выполнена успешно.
Start execute phase (1).png

 

RESTAPI - Post-PFMP (PowerFlex 4.x)

  • Запустите сценарий исправления на всех или некоторых узлах системы с опциональной перезагрузкой и опциональным сценарием проверки. Для операции характерен определенный уровень параллелизма.
  • Файлы сценариев должны храниться в папке узла: /opt/emc/scaleio/lia/bin Кроме того, GW может загрузить их на узел. Сценарии можно извлечь из локальной папки GW или скачать из общего ресурса HTTP/HTTPS.
  • Можно предоставить список SdsIds и/или mdmIds, чтобы явным образом выбрать узлы для запуска.
  • Имена файлов имеют жесткую кодировку и не могут быть изменены: patch_script и verification_script

Команда REST

  • /im/types/Configuration/actions/liaRunOsPatching

Обязательные параметры

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

Дополнительные параметры

  • isRebootRequired - должен ли каждый узел перезапускаться после выполнения сценария исправления? (значения: true/false);
  • isVerificationScriptRequired - должен ли сценарий проверки выполняться на каждом узле (значения: true/false);
  • isRunningInParallelOnPds - если операция выполняется параллельно на узлах, принадлежащих разным PD (значения: true/false);
  • isStopProcessingOnScriptFailure - должна ли вся операция прекращаться при сбое сценария (значения: true/false);
  • TimeoutMs - истечение времени ожидания выполнения сценария исправления в миллисекундах;
  • isUploadFileNeeded  - должен ли GW загружать сценарии на узлы (значения: true/false)

Следующие поля выводятся при isUploadFileNeeded  значении «true»:

  • patchScriptFilePath  - либо имя локальной папки, либо URL-адрес http/https сценария исправления;
  • verificationScriptFilePath  - либо имя локальной папки, либо URL-адрес http/https сценария проверки;
  • maintenanceModeType  - тип режима обслуживания (значения: IMM/PMM);
  • verificationScriptTimeoutSec  - время ожидания выполнения сценария проверки в секундах;
  • rebootTimeoutSec  - время ожидания перезагрузки узла в секундах.

Обратите внимание, что перед выполнением команды liaRunOsPatching необходимо сначала войти в систему и получить конфигурацию системы, см. пример ниже.
 

Пример команды

В переменной *token хранится токен Keycloak, полученный в результате запроса с /auth/login или /api/gatewayLogin.
**<ip-address> — IP-адрес сервера http, содержащего сценарии для выполнения команды

Get the json of a system configuration, которая будет полезной нагрузкой команды исправления (необходимо вручную заменить 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
 


Выполните команду исправления:

 
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

    LIA:
    /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.