Использование скрипта запуска для узлов Azure
Вы можете настроить скрипт запуска, который выполняется автоматически на наборе узлов Azure при их запуске (подготовлено). С помощью скрипта запуска можно убедиться, что группа узлов настроена правильно для выполнения определенных заданий. Кроме того, узлы восстанавливаются в известном состоянии, если они становятся недоступными из-за прерывания службы, а экземпляры ролей должны быть подготовлены снова в Azure. Например, с помощью скрипта запуска можно установить приложения или драйверы, настроить общую папку или открыть порты брандмауэра для определенных приложений. Вы также можете использовать скрипт запуска для настройки подмножества узлов в наборе узлов Azure, развернутых с помощью определенного шаблона узла.
В этом разделе:
пример
Заметка
- Скрипты запуска Azure поддерживаются начиная с пакета HPC 2008 R2 с пакетом обновления 2.
- Если выполнение скрипта запуска занимает более 15 минут, контроллер Azure Fabric может привести к сбою подготовки экземпляра роли.
Общие действия по настройке и использованию скрипта запуска
Ниже приведены общие действия по настройке и использованию скрипта запуска для узлов Azure.
Создайте скрипт конфигурации (например, startup.bat), который использует переменные среды для различения узлов и задания различных конфигураций. Дополнительные сведения см. в остальных разделах этой статьи.
Используйте команду hpcpack, чтобы упаковать скрипт и отправить его в учетную запись хранения Azure, которая используется для развертывания узлов Azure.
Важный
Не указывайте параметр
/relativePath
при упаковке и отправке скрипта запуска. Скрипт запуска должен выполняться только из корневого каталога узлов Azure.Создайте или измените шаблон узла Azure, чтобы указать скрипт запуска.
Запустите (подготовьте) узлы Azure.
Скрипт запуска автоматически развертывается на узлах Azure и выполняется на узлах. Если проблема возникает при запуске скрипта, можно просмотреть журналы ошибок. Дополнительные сведения см. в статье Устранение неполадок при развертывании узлов Azure с помощью пакета Microsoft HPC.
Имена скриптов
Необходимо обеспечить соответствие имени пакета, отправленного в Azure, и имени выполняемого скрипта (и указанного в шаблоне узла). Разрешены только соглашения об именовании в следующей таблице:
Имя скрипта | Имя пакета |
---|---|
file.extension (например, startup.bat) |
file.extension.zip (например, startup.bat.zip) -ИЛИ- .zip файла (например, startup.zip) |
Переменные среды
Переменные среды можно использовать в следующей таблице, которая автоматически устанавливается на узлах Azure, чтобы настроить скрипт запуска:
Переменная среды | Описание |
---|---|
HPC_NODE_NAME | Имя узла Azure, который автоматически настраивается пакетом Microsoft HPC, например, AZURECN-0014. |
HPC_NODE_GROUPS | Список групп узлов с разделителями-запятыми, к которым принадлежит узел. Позволяет специализированному поведению скрипта для разных подмножеств узлов. Примечание. HPC_NODE_GROUPS устанавливается только при первом запуске узла Azure. Переменная не обновляется динамически, если переменная обновляется и узел подготавливается снова. |
Пример
В следующем примере приведен пакетный файл, который настраивает правило брандмауэра в подмножестве узлов, которые определяются группой узлов группе серверов Port31337. Этот шаблон можно адаптировать для создания скриптов запуска, выполняющих другие задачи.
@echo off
echo %HPC_NODE_GROUPS% | findstr /C: "Port31337 Server Group"
if %errorlevel% == 0 (
echo Creating firewall exception
netsh advfirewall firewall add rule name="MyRule" dir=in protocol=tcp localport=31337 action=allow enable=yes
)
Файлы журнала
Если проблема возникает при запуске скрипта запуска, просмотрите файлы журнала для скрипта. Журналы для скриптов запуска перечислены в следующей таблице. Файлы журнала находятся в папке %CCP_HOME% на каждом рабочем узле Azure.
Файл журнала | Описание |
---|---|
HpcStartupCommand.log | Код выхода и поток вывода |
HpcStartupCommand.err | Поток ошибок |