共用方式為


使用 Azure 節點的啟動腳本

您可以設定啟動文稿,以在啟動時自動在一組 Azure 節點上執行(已布建)。 使用啟動文稿,您可以確定已正確設定一組節點以執行特定作業。 此外,如果節點因為服務中斷而無法使用,且角色實例必須再次布建在 Azure 中,則會還原為已知狀態。 例如,使用啟動文稿,您可以安裝應用程式或驅動程式、設定共用資料夾,或開啟特定應用程式的防火牆埠。 您也可以使用啟動腳本,在一組使用特定節點範本部署的 Azure 節點內,以不同的方式設定節點的子集。

在本主題中:

備註

  • 從 HPC Pack 2008 R2 Service Pack 2 開始,支援 Azure 啟動腳本。
  • 如果啟動腳本需要超過 15 分鐘才能完成,Azure Fabric 控制器可能會導致角色實例的布建失敗。

設定和使用啟動腳本的一般步驟

以下是設定和使用 Azure 節點啟動文稿的一般步驟:

  1. 建立組態腳本(例如 ,startup.bat),其會使用環境變數來區分節點和設定不同的組態。 如需詳細資訊,請參閱本主題中的其餘章節。

  2. 使用 hpcpack 命令封裝腳本,並將其上傳至用來部署 Azure 節點的 Azure 記憶體帳戶。

    這很重要

    在封裝和上傳啟動腳本時,請勿指定 /relativePath 參數。 啟動文本只應該從 Azure 節點的根目錄執行。

  3. 建立或編輯 Azure 節點範本以指定啟動腳本。

  4. 啟動 (布建) 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 伺服器群組所識別的節點子集上設定防火牆規則。 您可以調整此模式,以建立執行其他工作的啟動腳本。

@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 節點範本