使用 Azure 節點的啟動腳本
您可以設定啟動文稿,以在啟動時自動在一組 Azure 節點上執行(已布建)。 使用啟動文稿,您可以確定已正確設定一組節點以執行特定作業。 此外,如果節點因為服務中斷而無法使用,且角色實例必須再次布建在 Azure 中,則會還原為已知狀態。 例如,使用啟動文稿,您可以安裝應用程式或驅動程式、設定共用資料夾,或開啟特定應用程式的防火牆埠。 您也可以使用啟動腳本,在一組使用特定節點範本部署的 Azure 節點內,以不同的方式設定節點的子集。
在本主題中:
注意
- 從 HPC Pack 2008 R2 Service Pack 2 開始,支援 Azure 啟動腳本。
- 如果啟動腳本需要超過 15 分鐘才能完成,Azure Fabric 控制器可能會導致角色實例的布建失敗。
設定和使用啟動腳本的一般步驟
以下是設定和使用 Azure 節點啟動文稿的一般步驟:
建立組態腳本(例如,startup.bat),其會使用環境變數來區分節點和設定不同的組態。 如需詳細資訊,請參閱本主題中的其餘章節。
使用 hpcpack 命令來封裝腳本,並將其上傳至用來部署 Azure 節點的 Azure 記憶體帳戶。
重要
封裝和上傳啟動腳本時,請勿指定
/relativePath
參數。 啟動文本只應該從 Azure 節點的根目錄執行。建立或編輯 Azure 節點範本以指定啟動腳本。
啟動 (布建) Azure 節點。
啟動文本會自動部署到 Azure 節點,並在節點上執行。 如果文稿執行時發生問題,您可以檢閱錯誤記錄檔。 如需詳細資訊,請參閱 使用 Microsoft HPC Pack針對 Azure 節點部署進行疑難解答。
文稿名稱
您必須確定您上傳至 Azure 的套件名稱,以及執行腳本的名稱(以及節點範本中指定的名稱)。 只允許下表中的命名慣例:
文稿名稱 | 套件名稱 |
---|---|
file.extension (範例:startup.bat) |
file.extension.zip (範例:startup.bat.zip) -或- 檔案.zip(範例:startup.zip) |
環境變數
您可以使用下表中的環境變數,這些環境變數會在 Azure 節點上自動設定,以協助設定啟動文稿:
環境變數 | 描述 |
---|---|
HPC_NODE_NAME | Microsoft HPC Pack 自動設定的 Azure 節點名稱,例如,AZURECN-0014。 |
HPC_NODE_GROUPS | 節點所屬節點群組的逗號分隔清單。 允許腳本的行為針對節點的不同子集進行特製化。 注意:只有在第一次啟動 Azure 節點時,才會設定 HPC_NODE_GROUPS。 如果變數已更新,然後再次布建節點,則不會動態更新變數。 |
例
下列範例是批處理檔,會在節點群組 Port31337 Server Group所識別的節點子集上設定防火牆規則。 您可以調整此模式,以建立執行其他工作的啟動腳本。
@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
)
記錄檔
如果啟動文稿執行時發生問題,請檢閱腳本的記錄檔。 啟動文稿的記錄會列在下表中。 記錄檔位於每個 Azure 背景工作節點上的 [%CCP_HOME%] 資料夾中。
日誌檔 | 描述 |
---|---|
HpcStartupCommand.log | 結束程式代碼和輸出數據流 |
HpcStartupCommand.err | 錯誤數據流 |
另請參閱
設定適用於 Microsoft HPC Pack 的 Azure 節點範本