共用方式為


hpcsync

從 Windows Azure 記憶體帳戶複製 OPC 套件,並將其解壓縮到 Windows Azure 節點上。

注意事項

此命令是在 HPC Pack 2008 R2 搭配 Service Pack 1 中引進,舊版不支援。

語法

hpcsync [<storageAccountName> <storageKey>] [<packageRoot>] [/packageName:<packageNameFilter>]   
[/container:<Container name>] [/blocksize:<blockSize>] [/usehttp]   
  
hpcsync {/? | /help}  

參數

在某些情況下,叢集管理員可以執行 clusrun hpcsync ,而不需為 hpcsync 命令指定任何參數。

參數 描述
<storageAccountName> 指定 Windows Azure 記憶體帳戶的公用名稱(您在 Windows Azure 節點範本中指定的相同記憶體名稱)。

這是帳戶公用 URL 中 <storageAccountName> 的值:https://<storageAccountName>.blob.core.windows.net

如果您指定 <storageAccountName>,您也必須指定 <storageKey>注意: 如果叢集管理員執行命令 clusrun hpcsync,則不需要指定記憶體帳戶名稱和密鑰。 這些值是由 CCP_AZURE_CONNECTIONSTRING 環境變數所提供(其設定為僅限 clusrun 作業的進程層級)。 如果叢集管理員執行 hpcsync 而不 clusrun,或叢集使用者執行 hpcsync,則必須在命令參數中提供記憶體帳戶資訊。
<storageKey> 指定 Windows Azure 記憶體帳戶的存取金鑰。

如果您指定 storageKey,您也必須指定 storageAccountName注意: 如果叢集管理員執行命令 clusrun hpcsync,則不需要指定記憶體帳戶名稱和密鑰。 這些值是由 CCP_AZURE_CONNECTIONSTRING 環境變數所提供(只有在 clusrun 作業的進程層級設定)。 如果叢集管理員執行 hpcsync 而不 clusrun,或叢集使用者執行 hpcsync,則必須在命令參數中提供記憶體帳戶資訊。
<packageRoot> 指定部署套件的目標根目錄。

當叢集管理員執行 命令時,預設值為 %CCP_PACKAGE_ROOT%。 叢集使用者的預設值是他或她的使用者目錄,%USERPROFILE%\Packages

若要讓SOA服務和 XL 正常運作,根目錄應該是預設值(%CCP_PACKAGE_ROOT%%USERPROFILE%\Packages)。

%CCP_PACKAGE_ROOT% 環境變數會指向由 Windows Azure 管理的位置。 HPC Pack 會在部署 Windows Azure 節點之後,使用 Windows Azure API 來設定此變數的值。 %CCP_PACKAGE_ROOT% 的值在 Windows Azure 部署中是一致的,但部署之間可能會有所不同。 注意: 將套件上傳至記憶體帳戶時(使用 hpcpack 上傳),您可以定義相對路徑屬性。 如果封裝指定相對路徑,封裝會部署 <至 packageRoot>\<relativePath> - 例如,%CCP_PACKAGE_ROOT%\myDir
/packageName 指定您要下載的套件。 如果您未指定此參數,則會下載所有 OPC 套件。
/容器 指定您要從中下載檔案之 Windows Azure 記憶體帳戶中的容器名稱。 如果您未指定此參數,則會從預設位置下載套件:儲存體帳戶中名為 hpcpackages 的容器
/blocksize 指定在下載時,檔案會以位元組為單位的區塊大小。 默認區塊大小為 4 MB(4194304 個字節)。 4 MB 也是區塊大小上限。 如果您遇到不穩定的網路連線,您可能會想要指定較小的區塊大小。
/usehttp 指定您想要覆寫透過埠 443 的默認 HTTPs 通道,並使用 HTTP over port 80 嘗試通訊。 如果失敗,它會還原為埠 443。 注意: 在 HPC Pack 2008 R2 搭配 Service Pack 3 中引進此參數,而且舊版不支援。
/? 在命令提示字元中顯示說明。
/help 在命令提示字元中顯示說明。

備註

  • hpcsync 可在已加入內部部署叢集 加入內部部署叢集的 Windows Azure 計算資源上, 執行至少Microsoft HPC Pack 2008 R2 SP1,或屬於 Windows Azure HPC Scheduler 部署的 Windows Azure 計算資源。

  • 當您從 HPC Cluster Manager 啟動 Windows Azure 節點時,hpcsync 會自動執行,而且如果任何節點實例在 Windows Azure 維護期間重新佈建,也會自動執行。 此機制可協助確保啟動時節點上有可用的必要檔案,或重新布建節點實例時。 在節點布建執行時,自動 hpcsync 呼叫,而不需要任何參數。 這表示封裝會從記憶體中的預設位置複製到節點上的預設位置。 如需詳細資訊,請參閱本主題稍後 利用應用程式部署的自動 hpcsync 呼叫

  • 因為它會在高載至 Windows Azure 部署期間自動執行,因此您不一定需要直接執行 hpcsync。 不過,如果您在部署 Windows Azure 節點之後將套件暫存至記憶體,或將套件部署到 Windows Azure HPC 排程器部署,您可以使用 clusrun手動執行 hpcsynchpcsync 也提供一些參數來複製不同記憶體容器的套件,以及將封裝部署至替代目標目錄。

  • hpcsync 非常適合從 Windows Azure 記憶體將 SOA 服務、XLL 檔案和啟動腳本部署到 Windows Azure 節點上的預期位置。 或者,您可以使用 hpcpack 命令(hpcpack 上傳hpcpack 下載)來移動 Windows Azure 記憶體與 Windows Azure 節點之間的其他類型的檔案、應用程式或作業數據。 如需詳細資訊,請參閱 hpcpack

  • 若要使用此命令,叢集用戶必須知道記憶體帳戶名稱和主要存取密鑰。

範例

若要讓叢集管理員將 Windows Azure 記憶體帳戶上預設容器的所有 OPC 檔案部署到一組 Windows Azure 背景工作節點:

clusrun /nodegroup:AzureWorkerNodes hpcSync

若要讓叢集使用者將所有 OPC 檔案從 Windows Azure 儲存體帳戶 (myContainer) 上的特定容器部署到一組 Windows Azure 節點的預設目錄 (節點 1-3):

job submit /requestednodes:node1,node2,node3 hpcSync myAccount myKey /container:myContainer

若要協助針對檔案部署進行疑難解答,您可以嘗試將檔案部署至本機計算機,C:\temp來測試命令:

hpcsync myAccount myKey C:\temp

利用應用程式部署的自動 hpcsync 呼叫

若要在節點布建期間利用自動 hpcsync 呼叫,您必須將 OPC 套件暫存到 Windows Azure 儲存器帳戶上的 hpcpackages 容器,才能部署節點。 您可以使用 hpcpack 命令來封裝檔案,然後將檔案上傳至 Windows Azure 記憶體。 (根據預設,hpcpack 上傳 會將套件放在 hpcpackages 容器中;如果您不想將套件自動部署至所有 Windows Azure 節點,請指定替代容器。

根據預設,針對叢集系統管理員 hpcsync 會將檔案部署至 Windows Azure 節點上的位置,而該位置是由 %CCP_PACKAGE_ROOT% 環境變數所決定。 此變數會在布建程式期間於 Windows Azure 節點上設定。 擷取的檔案會放在一個資料夾中,決定如下:%CCP_PACKAGE_ROOT%\<packageName>\<uploadTimeStamp>。 這是從節點範本呼叫的SOA服務、XLL、Excel 活頁簿和 啟動 腳本的預期位置。 不過,對於叢集使用者在其命令行中呼叫的應用程式來說,這並不方便。

若要簡化可執行檔的資料夾結構,您可以在將封裝上傳至記憶體時,設定套件的相對路徑屬性。 hpcsync 擷取檔案時套用相對路徑,因此路徑的判斷方式如下:%CCP_PACKAGE_ROOT%\<relativePath>。 然後,使用者可以指定其應用程式的路徑,如下列作業送出命令範例所示:作業提交 %CCP_PACKAGE_ROOT%\myRelativePath\myapp.exe

如需詳細資訊,請參閱 將應用程式部署至 Windows HPC 叢集中的 Windows Azure 節點

關於 %CCP_PACKAGE_ROOT% 的重要考慮

  • 在 Windows Azure 節點上,%CCP_PACKAGE_ROOT% 資料夾會在 10 GB 磁碟分區上建立。 這表示節點實例上的所有應用程式檔不能超過 10 GB。 如果應用程式有相當大量的輸入和輸出檔案,您可以使用啟動腳本來授與 C:\ 磁碟驅動器的使用者許可權,讓使用者可以寫入節點上的所有可用臨時空間。

  • 當您手動執行 hpcsync 時,您可以覆寫預設位置 (%CCP_PACKAGE_ROOT%)。 例如,您可以在每個 Windows Azure 節點上建立資料夾,然後在 hpcsync執行時指定該位置。 所有套件都會解壓縮到該資料夾。 不過,任何部署的新節點實例(或自動重新布建)都不會包含該資料夾,而且套件會自動部署至預設位置。

  • 叢集使用者只有 %CCP_PACKAGE_ROOT%中資料夾的寫入許可權。 除非您修改 Windows Azure 節點上的資料夾許可權,否則只有叢集管理員可以在 %CCP_PACKAGE_ROOT%之外執行應用程式。

  • hpcsync 部署套件時,未擷取的檔案具有超過 256 個字元的完整路徑。 擷取檔案暫時放置的根目錄,最後放置最多可能需要 136 個字元,為檔名、子目錄(如果有的話)留下 120 個字元,以及 relativePath (如果指定的話)。 如果擷取檔案的路徑超過 256 個字元,套件部署就會失敗。

請參閱

hpcpack
clusrun
使用 Microsoft HPC Pack 將高載至 Azure 背景工作實例