將資料移至 Azure Blob 儲存體
如果您的工作流程包含將資料移至 Azure Blob 儲存體,請確定您是使用有效率的策略。 您應該建立快取、將 Blob 容器新增為儲存體目標,然後使用 Azure HPC Cache 來複製您的資料。
本文說明將資料移至 Blob 儲存體來與 Azure HPC Cache 搭配使用的最佳方式。
提示
本文不適用於 NFS 掛接 Blob 儲存體 (ADLS-NFS 儲存體目標)。 您可以在將 ADLS-NFS Blob 容器新增至 HPC Cache 之前或之後,使用任何以 NFS 為基礎的方法填入 ADLS-NFS Blob 容器。 若要深入了解,請閱讀使用 NFS 通訊協定預先載入資料。
請記住以下事實:
Azure HPC Cache 會使用特殊的儲存體格式,組織 Blob 儲存體中的資料。 這就是為何 Blob 儲存體目標必須是新的、空白的容器,或必須是先前用於 Azure HPC Cache 資料的 Blob 容器。
當您使用多個用戶端及平行作業時,透過 Azure HPC Cache 將資料複製到後端儲存體目標會更有效率。 一個用戶端發出的簡單複製命令會將資料緩慢移動。
本文所述的策略適用於填入空的 Blob 容器,或將檔案新增至先前使用的儲存體目標。
透過 Azure HPC Cache 複製資料
Azure HPC Cache 旨在同時為多個用戶端提供服務,因此若要透過快取複製資料,您應該使用來自多個用戶端的平行寫入。
通常用來將資料從一個儲存體系統傳輸至另一個儲存體系統的 cp
或 copy
命令,是只會一次複製一個檔案的單一執行緒處理序。 這意謂著檔案伺服器一次只會擷取一個檔案;這相當浪費快取資源。
本節說明的策略,可用於建立多用戶端、多執行緒檔案複製系統,使用 Azure HPC Cache 將資料移至 Blob 儲存體。 它說明檔案傳輸概念和決策點,這些可用來以多個用戶端和簡單的複製命令進行有效率的資料複製。
此外,也說明一些能夠提供幫助的公用程式。 msrsync
公用程式可用來把將資料集分割成貯體及使用 rsync 命令的處理序部分自動化。 parallelcp
指令碼是另一個公用程式,可自動讀取來源目錄並發出複製命令。
策略性規劃
建置策略來平行複製資料時,您應該了解檔案大小、檔案計數及目錄深度方面的權衡取捨。
- 當檔案較小時,攸關的計量是每秒檔案數。
- 當檔案較大 (10 MiBi 或更大) 時,攸關的計量是每秒位元組數。
每個複製處理序都有輸送量速率和檔案傳輸速率,藉由對複製命令的長度進行計時及分解檔案大小和檔案計數,即可測量這些速率。 本文件未涵蓋這些速率的測量方式說明,但請務必了解您將處理的是大型檔案還是小型檔案。
使用 Azure HPC Cache 擷取平行資料的策略包括:
手動複製 - 您可以藉由在背景中針對幾組預先定義的檔案或路徑,一次執行多個複製命令,在用戶端上手動建立多執行緒複製。 如需詳細資料,請閱讀 Azure HPC Cache 資料擷取 - 手動複製方法。
使用
msrsync
-msrsync
部分自動化複製是包裝函式公用程式,可執行多個平行rsync
程序。 如需詳細資料,請閱讀 Azure HPC Cache 資料擷取 - msrsync 方法。使用
parallelcp
編寫指令碼複製 - 在 Azure HPC Cache 資料擷取 - 平行複製指令碼方法中,了解如何建立及執行平行複製指令碼。
下一步
設定儲存體之後,請了解用戶端掛接快取的方式。