教學課程:透過SMB將數據複製到 Azure Data Box Heavy
將數據複製到 Azure Data Box Heavy
重要
Azure 資料箱現在支援 Blob 層級的存取層指派。 本教學課程中包含的步驟會反映更新的數據複製程式,而且是區塊 Blob 特有的步驟。
本節中包含的信息適用於 2024 年 4 月 1 日之後的訂單。
本教學課程說明如何使用本機 Web UI 從主計算機連線及複製數據。
在本教學課程中,您會了解如何:
- 連線 至 Data Box Heavy
- 將數據複製到 Data Box Heavy
您可以透過SMB、NFS、REST、資料複製服務或受控磁碟,將數據從來源伺服器複製到資料箱。
在每個案例中,請確定共用名稱、資料夾名稱和數據大小遵循 Azure 儲存體 和 Data Box Heavy 服務限制中所述的指導方針。
必要條件
在您開始前,請確定:
- 您完成教學 課程:設定 Azure Data Box Heavy。
- 您會收到 Data Box Heavy,且入口網站中的訂單狀態為 「已傳遞」。
- 您有主計算機,其中包含您想要複製到 Data Box Heavy 的數據。 主電腦必須:
- 執行支援的作業系統。
- 線上到高速網路。 如需最快的複製速度,可以平行使用兩個 40 GbE 連線(每個節點一個)。 如果您沒有 40-GbE 連線可用,建議您至少有兩個 10 GbE 連線(每個節點一個)。
連線 Data Box Heavy 共用
根據選取的記憶體帳戶,Data Box Heavy 最多會建立:
- GPv1 和 GPv2 的每個相關聯記憶體帳戶有三個共用。
- 進階記憶體的一個共用。
- Blob 記憶體帳戶的一個共用,包含四個存取層的每一個資料夾。
下表會識別您可以連線的數據箱共享名稱,以及上傳至目標儲存體帳戶的數據類型。 它也會識別您複製源數據的共享和目錄階層。
儲存體類型 | 共用名稱 | 第一層實體 | 第二層實體 | 第三層實體 |
---|---|---|---|---|
區塊 Blob | <storageAccountName>_BlockBlob | <\accessTier> | <\containerName> | <\blockBlob> |
分頁 Blob | <\storageAccountName>_PageBlob | <\containerName> | <\pageBlob> | |
檔案儲存體 | <\storageAccountName>_AzFile | <\fileShareName> | <\檔> |
您無法將檔案直接 複製到任何資料匣共用的根 資料夾。 相反地,根據您的使用案例,在數據箱共用內建立資料夾。
區塊 Blob 支援在檔案層級指派存取層。 將檔案複製到區塊 Blob 共用時,建議的最佳做法是在適當的存取層內新增子資料夾。 建立新的子資料夾之後,請視需要繼續將檔案新增至每個子資料夾。
針對位於區塊 Blob 共用根目錄的任何資料夾建立新的容器。 該資料夾內的任何檔案會以區塊 Blob 的形式複製到記憶體帳戶的預設存取層。
如需 Blob 存取層的詳細資訊,請參閱 Blob 數據的存取層。 如需存取層最佳做法的詳細資訊,請參閱 使用 Blob 存取層的最佳做法。
下表顯示數據箱上共用的 UNC 路徑,以及上傳數據的對應 Azure 儲存體 路徑 URL。 最後一個 Azure 儲存體 路徑 URL 可以衍生自 UNC 共享路徑。
Azure 儲存體類型 | 數據箱共用 |
---|---|
Azure 區塊 Blob | \\<DeviceIPAddress>\<storageaccountname_BlockBlob>\<accessTier>\<ContainerName>\myBlob.txt https://<storageaccountname>.blob.core.windows.net/<ContainerName>/myBlob.txt |
Azure 分頁 Blob | \\<DeviceIPAddress>\<storageaccountname_PageBlob>\<ContainerName>\myBlob.vhd https://<storageaccountname>.blob.core.windows.net/<ContainerName>/myBlob.vhd |
Azure 檔案 | \\<DeviceIPAddress>\<storageaccountname_AzFile>\<ShareName>\myFile.txt https://<storageaccountname>.file.core.windows.net/<ShareName>/myFile.txt |
如需 Blob 存取層的詳細資訊,請參閱 Blob 數據的存取層。 如需存取層最佳做法的詳細資訊,請參閱 使用 Blob 存取層的最佳做法。
使用 Windows 或 Linux 用戶端進行連線的步驟不同。
注意
請遵循相同的步驟,以平行方式連線到裝置的兩個節點。
Windows 系統上的 連線
如果使用 Windows Server 主計算機,請遵循下列步驟來連線到 Data Box Heavy。
第一個步驟是驗證並啟動工作階段。 移至 連線 並複製。 按兩下 [取得認證 ] 以取得與記憶體帳戶相關聯之共用的存取認證。
在 [存取共用和複製資料] 對話框中,複製對應至共用的使用者名稱和密碼。 按一下 [確定]。
若要從主計算機存取與您的記憶體帳戶相關聯的共用(下列範例中的 databoxe2etest ),請開啟命令視窗。 在命令提示字元中,輸入:
net use \\<IP address of the device>\<share name> /u:<user name for the share>
視您的資料格式而定,共享路徑如下所示:
- Azure 區塊 Blob -
\\10.100.10.100\databoxe2etest_BlockBlob
- Azure 分頁 Blob -
\\10.100.10.100\databoxe2etest_PageBlob
- Azure 檔案服務 -
\\10.100.10.100\databoxe2etest_AzFile
- Azure 區塊 Blob -
出現提示時,請輸入共用的密碼。 下列範例可用來連線至IP位址為10.100.100.10.100的數據箱上的 BlockBlob 共用。
net use \\10.100.10.100\databoxe2etest_BlockBlob /u:databoxe2etest Enter the password for 'databoxe2etest' to connect to '10.100.10.100': The command completed successfully.
按 Windows + R。在 [ 執行] 視窗中,指定
\\<device IP address>
。 按兩下 [確定] 以開啟 檔案總管。您現在應該會看到共享為資料夾。 請注意,在此範例中, 正在使用 BlockBlob 共用。 因此,代表四個可用存取層的四個資料夾存在。 這些資料夾在其他共享中無法使用。
一律為您想要在共用下複製的檔案建立資料夾,然後將檔案複製到該資料夾。 您無法將檔案直接 複製到記憶體帳戶中的根 資料夾。 在PageBlob共用下建立的任何資料夾都代表將數據上傳為 Blob 的容器。 同樣地,在代表 BlockBlob 共用存取層的資料夾內建立的任何子資料夾也代表 Blob 記憶體容器。 AzFile 共用內建立的資料夾代表檔案共用。
在 BlockBlob 共用根目錄建立的資料夾將會建立為 Blob 容器。 這些容器的存取層將會繼承自記憶體帳戶。
Linux 系統上的 連線
如果使用 Linux 用戶端,請使用下列命令掛接 SMB 共用。
sudo mount -t nfs -o vers=2.1 10.126.76.172:/databoxe2etest_BlockBlob /home/databoxubuntuhost/databox
參數 vers
是Linux主機支援的SMB版本。 在上述命令中插入適當的版本。
如需 Data Box Heavy 支援的 SMB 版本,請參閱 Linux 用戶端支援的文件系統。
將數據複製到 Data Box Heavy
連線到 Data Box Heavy 共用之後,下一個步驟是複製數據。
複製考慮
開始資料複製之前,請先檢閱下列考慮:
請務必將數據複製到對應至適當數據格式的共用。 例如,將區塊 Blob 資料複製到區塊 Blob 的共用。 將 VHD 複製到分頁 Blob。
如果數據格式不符合適當的共享類型,則在稍後的步驟中,數據上傳至 Azure 將會失敗。
複製數據時,請確定數據大小符合 Azure 記憶體和 Data Box Heavy 限制中所述 的大小限制。
如果 Data Box Heavy 上傳的數據是由 Data Box Heavy 以外的其他應用程式同時上傳,這可能會導致上傳作業失敗和數據損毀。
建議:
- 您不會同時使用 SMB 和 NFS。
- 將相同的數據複製到 Azure 上的相同端目的地。
在這些情況下,無法判斷最終結果。
一律為您想要在共用下複製的檔案建立資料夾,然後將檔案複製到該資料夾。 在區塊 Blob 和分頁 Blob 共用下建立的資料夾代表數據上傳為 Blob 的容器。 您無法將檔案直接 複製到記憶體帳戶中的根 資料夾。
線上到 SMB 共享之後,請開始資料複製。
您可以使用任何 SMB 相容的檔案複製工具,例如 Robocopy 來複製您的數據。 您可以使用 Robocopy 來起始多個複製作業。 使用下列命令:
robocopy <Source> <Target> * /e /r:3 /w:60 /is /nfl /ndl /np /MT:32 or 64 /fft /Log+:<LogFile>
下表說明屬性。
屬性 描述 /e 複製子目錄,包括空白目錄。 /r: 指定失敗複製的重試次數。 /w: 指定重試之間的等候時間,以秒為單位。 /is 包含相同的檔案。 /nfl 指定不記錄檔案名稱。 /ndl 指定不記錄目錄名稱。 /np 指定不會顯示複製作業的進度(到目前為止複製的檔案或目錄數目)。 顯示進度會大幅降低效能。 /MT 使用多線程,建議使用 32 或 64 個線程。 此選項未與加密檔案搭配使用。 您可能需要分隔加密和未加密的檔案。 不過,單個線程複製會大幅降低效能。 /fft 使用 來減少任何文件系統的時間戳粒度。 /b 以備份模式複製檔案。 /z 在 [重新啟動] 模式中複製檔案,如果環境不穩定,請使用此檔案。 此選項會因為其他記錄而減少輸送量。 /zb 使用重新啟動模式。 如果拒絕存取,此選項會使用備份模式。 此選項會因為檢查點而減少輸送量。 /efsraw 複製 EFS 原始模式中的所有加密檔案。 僅搭配加密的檔案使用。 log+:<LogFile> 將輸出附加至現有的記錄檔。 下列範例顯示 robocopy 命令的輸出,以將檔案複製到 Data Box Heavy。
C:\Users>Robocopy C:\Git\azure-docs-pr\contributor-guide \\10.100.10.100\devicemanagertest1_AzFile\templates /MT:24 ------------------------------------------------------------------------------- ROBOCOPY :: Robust File Copy for Windows ------------------------------------------------------------------------------- Started : Thursday, April 4, 2019 2:34:58 PM Source : C:\Git\azure-docs-pr\contributor-guide\ Dest : \\10.100.10.100\devicemanagertest1_AzFile\templates\ Files : *.* Options : *.* /DCOPY:DA /COPY:DAT /MT:24 /R:5 /W:60 ------------------------------------------------------------------------------ 100% New File 206 C:\Git\azure-docs-pr\contributor-guide\article-metadata.md 100% New File 209 C:\Git\azure-docs-pr\contributor-guide\content-channel-guidance.md 100% New File 732 C:\Git\azure-docs-pr\contributor-guide\contributor-guide-index.md 100% New File 199 C:\Git\azure-docs-pr\contributor-guide\contributor-guide-pr-criteria.md New File 178 C:\Git\azure-docs-pr\contributor-guide\contributor-guide-pull-request-co100% .md New File 250 C:\Git\azure-docs-pr\contributor-guide\contributor-guide-pull-request-et100% e.md 100% New File 174 C:\Git\azure-docs-pr\contributor-guide\create-images-markdown.md 100% New File 197 C:\Git\azure-docs-pr\contributor-guide\create-links-markdown.md 100% New File 184 C:\Git\azure-docs-pr\contributor-guide\create-tables-markdown.md 100% New File 208 C:\Git\azure-docs-pr\contributor-guide\custom-markdown-extensions.md 100% New File 210 C:\Git\azure-docs-pr\contributor-guide\file-names-and-locations.md 100% New File 234 C:\Git\azure-docs-pr\contributor-guide\git-commands-for-master.md 100% New File 186 C:\Git\azure-docs-pr\contributor-guide\release-branches.md 100% New File 240 C:\Git\azure-docs-pr\contributor-guide\retire-or-rename-an-article.md 100% New File 215 C:\Git\azure-docs-pr\contributor-guide\style-and-voice.md 100% New File 212 C:\Git\azure-docs-pr\contributor-guide\syntax-highlighting-markdown.md 100% New File 207 C:\Git\azure-docs-pr\contributor-guide\tools-and-setup.md ------------------------------------------------------------------------------ Total Copied Skipped Mismatch FAILED Extras Dirs : 1 1 1 0 0 0 Files : 17 17 0 0 0 0 Bytes : 3.9 k 3.9 k 0 0 0 0 C:\Users>
若要優化效能,請在複製數據時使用下列 robocopy 參數。 (下列數位代表最佳案例。
平台 大部分是小型檔案 < 512 KB 大部分是中型檔案 512 KB-1 MB 大部分大型檔案 > 1 MB Data Box Heavy 6 個 Robocopy 工作階段
每個工作階段 24 個線程6 個 Robocopy 工作階段
每個工作階段 16 個線程6 個 Robocopy 工作階段
每個工作階段 16 個線程如需 Robocopy 命令的詳細資訊,請移至 Robocopy 和幾個範例。
開啟目標資料夾以檢視並驗證複製的檔案。
複製資料時:
- 檔名、大小和格式會經過驗證,以確保符合 Azure 對象和記憶體限制,以及 Azure 檔案和容器命名慣例。
- 為了確保數據完整性,總和檢查碼也會內嵌計算。
如果您在複製程式期間發生任何錯誤,請下載錯誤檔案以進行疑難解答。 選取箭號圖示以下載錯誤檔案。
如需詳細資訊,請參閱 將數據複製到 Data Box Heavy 期間檢視錯誤記錄。 如需數據複製期間錯誤的詳細清單,請參閱 針對 Data Box Heavy 問題進行疑難解答。
在 記事本 中開啟錯誤檔案。 下列錯誤檔案指出數據未正確對齊。
對於分頁 Blob,數據必須對齊 512 個字節。 拿掉此數據之後,錯誤就會解決,如下列螢幕快照所示。
複製完成後,請移至 [ 檢視儀錶板] 頁面。 確認裝置上的已使用空間和可用空間。
重複上述步驟,將數據複製到裝置的第二個節點。
下一步
在本教學課程中,您已瞭解 Azure Data Box Heavy 主題,例如:
- 連線 Data Box Heavy
- 將數據複製到 Data Box Heavy
前進到下一個教學課程,瞭解如何將 Data Box Heavy 寄送回 Microsoft。
透過SMB複製數據
如果使用 Windows 主機,請使用下列命令來連線到 SMB 共用:
\\<IP address of your device>\ShareName
若要取得共用存取認證,請移至數據箱本機 Web UI 中的 [連線 和 複製] 頁面。
使用SMB相容的檔案複製工具,例如Robocopy將資料複製到共用。
如需逐步指示,請移至 教學課程:透過SMB將數據複製到 Azure 資料箱。
透過 NFS 複製數據
如果使用 NFS 主機,請使用下列命令來掛接 NFS 共用:
sudo mount <Data Box device IP>:/<NFS share on Data Box device> <Path to the folder on local Linux computer>
若要取得共用存取認證,請移至 Data Box Heavy 本機 Web UI 中的 [連線 和複製] 頁面。
使用
cp
或rsync
命令來複製您的數據。重複這些步驟,將數據連線並複製到 Data Box Heavy 的第二個節點。
如需逐步指示,請移至 教學課程:透過 NFS 將數據複製到 Azure 數據箱。
透過 REST 複製數據
- 若要透過 REST API 使用資料箱 Blob 記憶體來複製資料,您可以透過 HTTP 或 https 連線。
- 若要將資料複製到資料箱 Blob 記憶體,您可以使用 AzCopy。
- 重複這些步驟,將數據連線並複製到 Data Box Heavy 的第二個節點。
如需逐步指示,請移至 教學課程:透過 REST API 將資料複製到 Azure 數據箱 Blob 記憶體。
透過資料複製服務複製數據
- 若要使用資料複製服務來複製數據,您必須建立作業。 在 Data Box Heavy 的本機 Web UI 中,移至 [ 管理 > 複製數據 > 建立]。
- 填寫參數並建立作業。
- 重複這些步驟,將數據連線並複製到 Data Box Heavy 的第二個節點。
如需逐步指示,請移至 教學課程:使用數據複製服務將數據複製到 Azure Data Box Heavy。
將數據複製到受控磁碟
- 訂購 Data Box Heavy 裝置時,您應該已選取受控磁碟作為記憶體目的地。
- 您可以透過SMB或 NFS 共用連線到 Data Box Heavy。
- 然後,您可以透過SMB或NFS工具複製資料。
- 重複這些步驟,將數據連線並複製到 Data Box Heavy 的第二個節點。
如需逐步指示,請移至 教學課程:使用 Data Box Heavy 將數據匯入為 Azure 中的受控磁碟。