教學課程:透過 SMB 將資料複製到 Azure 資料箱
將資料複製到 Azure 資料箱
重要
Azure 資料箱現在支援 Blob 層級的存取層指派。 本教學課程中包含的步驟會反映更新的資料複製程序,而且是區塊 Blob 特有的步驟。
如需判斷區塊 Blob 資料的適當存取層說明,請參閱判斷區塊 Blob 的適當存取層一節。 請遵循將數據複製到 Azure 數據箱一節中包含的步驟,將數據複製到適當的存取層。
本節包含的資訊適用於 2024 年 4 月 1 日之後下的訂單。
本教學課程說明如何使用本機 Web UI 來連線至主機電腦並從中複製資料。
在本教學課程中,您會了解如何:
- 必要條件
- 連線至資料箱
- 判斷區塊 Blob 的適當存取層
- 將資料複製到資料箱
必要條件
在您開始前,請確定:
- 您已完成教學課程:設定 Azure 資料箱。
- 您已收到資料箱,且入口網站中的訂購狀態為 [已交付]。
- 您有一部主機電腦,其中包含要複製到資料箱的資料。 主電腦必須:
- 執行支援的作業系統。
- 連線至高速網路。 強烈建議您具有至少一個 10 GbE 的連線。 如果無法使用 10 GbE 連線,請使用 1-GbE 資料連結,但複製速度會受到影響。
連線至資料箱
根據選取的儲存體帳戶,資料箱最多會建立:
- 每個相關聯的儲存體帳戶三個共用 (針對 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 |
如果使用 Windows Server 主機電腦,請依照下列步驟來連線至資料箱。
第一個步驟是驗證並啟動工作階段。 移至 [連線並複製]。 選取 [SMB],以取得您儲存體帳戶相關共用的存取認證。
在 [存取共用及複製資料] 對話方塊中,複製與共用相對應的 [使用者名稱] 和 [密碼]。 然後選取確定。
下列範例使用名為 utsac1 的範例記憶體帳戶。 若要從主計算機存取與您的記憶體帳戶相關聯的共用,請開啟命令視窗。 在命令提示字元中,輸入:
net use \\<DeviceIPAddress>\<share name> /u:<IP address of the device>\<user name for the share>
視您的資料格式而定,共用路徑如下所示:
- Azure 區塊 Blob -
\\<DeviceIPAddress>\utsac1_BlockBlob
- Azure 分頁 Blob -
\\<DeviceIPAddress>\utsac1_PageBlob
- Azure 檔案服務 -
\\<DeviceIPAddress>\utsac1_AzFile
- Azure 區塊 Blob -
出現提示時,請輸入共用的密碼。 如果密碼有特殊字元,請在前後加上雙引號。 下列範例說明如何透過前述命令連線至共用。
C:\Users\Databoxuser>net use \\<DeviceIPAddress>\utSAC1_202006051000_BlockBlob /u:<DeviceIPAddress>\testuser1 Enter the password for 'testuser1' to connect to '<DeviceIPAddress>': "ab1c2def$3g45%6h7i&j8kl9012345" The command completed successfully.
按 Windows + R。在 [執行] 視窗中,指定
\\<DeviceIPAddress>
。 選取 [確定] 以開啟檔案總管。您現在應可看到以資料夾形式呈現的共用。
重要
您無法將檔案直接複製到記憶體帳戶的 根 資料夾。 在區塊 Blob 記憶體帳戶的根資料夾中,您會發現對應至每個可用存取層的資料夾。
若要將資料複製到 Azure 資料箱,您必須先選取對應至其中一個存取層的資料夾。 接下來,在該階層的資料夾內建立子資料夾來儲存您的數據。 最後,將數據複製到新建立的子資料夾。 新的子資料夾代表擷取期間在記憶體帳戶內建立的容器。 您的資料會以 Blob 的形式上傳到此容器。
使用 Linux 用戶端時,請使用下列命令來掛接 SMB 共用。 vers
參數值會識別Linux主機支援的SMB版本。 將適當的版本插入提供的範例命令中。 若要查看資料箱支援的SMB版本清單,請參閱 Linux用戶端支援的檔案系統。
sudo mount -t cifs -o vers=2.1 10.126.76.138:/utsac1_BlockBlob /home/databoxubuntuhost/databox
判斷區塊 Blob 的適當存取層
重要
本節包含的資訊適用於 2024 年 4 月 1 日之後下的訂單。
Azure 儲存體可讓您將區塊 Blob 資料儲存在相同儲存體帳戶內的多個存取層中。 這項功能可讓您根據資料存取的頻率,更有效地組織及儲存資料。 下表包含 Azure 儲存體存取層的相關資訊和建議。
層 | 建議 | 最佳做法 |
---|---|---|
經常性 | 適合用於經常存取或修改的線上資料。 此階層儲存成本最高,但存取成本最低。 | 此層中的資料應為定期且積極使用。 |
非經常性 | 適合用於不常存取或修改的線上資料。 相較於經常性存取層,這一層的儲存成本較低且存取成本較高。 | 此層中的資料至少應該儲存 30 天。 |
極非經常性存取 | 適合用於很少存取或修改的線上資料,但仍需要快速擷取。 相較於非經常性存取層,這一層的儲存成本較低且存取成本較高。 | 這一層中的資料至少應儲存 90 天。 |
封存 | 適合用於很少存取且延遲需求較低的離線資料。 | 這一層中的資料至少應儲存 180 天。 在 180 天內從封存層移除的資料需要支付提早刪除費用。 |
如需 Blob 存取層的詳細資訊,請參閱 Blob 資料的存取層 (部分機器翻譯)。 如需更詳細的最佳做法,請參閱使用 Blob 存取層的最佳做法。
您可以將區塊 Blob 資料複製到資料夾,以將區塊 Blob 資料傳輸到適當的存取層。 此程式會在將數據複製到 Azure 資料箱一節中更詳細地討論。
將資料複製到資料箱
聯機到一或多個數據箱共享之後,下一個步驟是複製數據。 開始資料複製之前,請考慮下列限制:
- 請務必將數據複製到對應至所需數據格式的共用。 例如,將區塊 Blob 資料複製到區塊 Blob 的共用。 將 VHD 複製到分頁 Blob 共用。 如果數據格式不符合適當的共享類型,則上傳至 Azure 的數據會在後續步驟期間失敗。
- 將數據複製到 AzFile 或 PageBlob 共用時,請先在共用根目錄建立資料夾,然後將檔案複製到該資料夾。
- 將數據複製到 BlockBlob 共用時,請在所需的存取層內建立子資料夾,然後將數據複製到新建立的子資料夾。 子資料夾代表將數據上傳為 Blob 的容器。 您無法直接將檔案複製到共用的 根 資料夾。
- 複製資料時,請確定資料大小符合 Azure 儲存體帳戶大小限制中所述的大小限制。
- 如果您想要在將資料傳輸至 Azure 檔案儲存體時保留中繼資料 (ACL、時間戳記和檔案屬性),請依照使用 Azure 資料箱保留檔案 ACL、屬性和時間戳記中的指引操作
- 數據箱和另一個非數據箱應用程式同時上傳可能會導致上傳作業失敗和數據損毀。
- 如果您同時針對資料副本使用 SMB 和 NFS 通訊協定,建議您:
- 針對 SMB 和 NFS 使用不同儲存體帳戶。
- 請勿使用 SMB 和 NFS,將相同的資料複製到 Azure 中的相同最終目的地。 在這類情況下,無法判斷最後的結果。
- 雖然同時透過 SMB 和 NFS 複製資料可以順利運作,但我們不建議這麼做,因為很容易發生人為錯誤。 等待 SMB 資料複製完成,再開始 NFS 資料複製。
重要
請確定您維護源數據的複本,直到您可以確認您的數據已複製到 Azure 儲存體。
連線至 SMB 共用之後,請開始複製資料。 您可以使用任何與 SMB 相容的檔案複製工具 (例如 Robocopy) 來複製資料。 使用 Robocopy 可起始多個複製作業。 使用下列命令:
robocopy <Source> <Target> * /e /r:3 /w:60 /is /nfl /ndl /np /MT:32 or 64 /fft /B /Log+:<LogFile>
下表說明這些屬性。
屬性 | 描述 |
---|---|
/e | 複製子目錄,包含空的目錄。 |
/r: | 指定失敗複製的重試次數。 |
/w: | 指定重試之間的等待時間 (以秒為單位)。 |
/is | 包含相同的檔案。 |
/nfl | 指定不記錄檔案名稱。 |
/ndl | 指定不記錄目錄名稱。 |
/np | 指定不顯示複製作業的進度 (到目前為止複製的檔案或目錄數目)。 顯示進度會大幅降低效能。 |
/MT | 使用多執行緒,建議使用 32 或 64 個執行緒。 此選項無法用於加密檔案。 您可能需要分隔加密和未加密的檔案。 不過,單一執行緒複製會大幅降低效能。 |
/fft | 用以降低任何檔案系統的時間戳記細微性。 |
/B | 以備份模式複製檔案。 |
/z | 以重新啟動模式複製檔案;如果環境不穩定,請使用此參數。 此選項會因為額外的記錄而降低輸送量。 |
/zb | 使用重新啟動模式。 如果存取遭拒,此選項會使用備份模式。 此選項會因為執行檢查點而降低輸送量。 |
/efsraw | 以 EFS 原始模式複製所有加密檔案。 這只適用於加密檔案。 |
log+:<LogFile> | 將輸出附加至現有的記錄檔。 |
下列範例顯示將檔案複製到資料箱的 robocopy 命令輸出。
C:\Users>robocopy
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Thursday, March 8, 2018 2:34:53 PM
Simple Usage :: ROBOCOPY source destination /MIR
source :: Source Directory (drive:\path or \\server\share\path).
destination :: Destination Dir (drive:\path or \\server\share\path).
/MIR :: Mirror a complete directory tree.
For more usage information run ROBOCOPY /?
**** /MIR can DELETE files as well as copy them !
C:\Users>Robocopy C:\Git\azure-docs-pr\contributor-guide \\10.126.76.172\devicemanagertest1_AzFile\templates /MT:32
-------------------------------------------------------------------------------
ROBOCOPY :: Robust File Copy for Windows
-------------------------------------------------------------------------------
Started : Thursday, March 8, 2018 2:34:58 PM
Source : C:\Git\azure-docs-pr\contributor-guide\
Dest : \\10.126.76.172\devicemanagertest1_AzFile\templates\
Files : *.*
Options : *.* /DCOPY:DA /COPY:DAT /MT:32 /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
列出、複製或刪除檔案,請參閱使用 robocopy 列出、複製、修改資料箱上的檔案。
若要將效能最佳化,複製資料時請使用下列 robocopy 參數。
平台 | 大部分是 < 512 KB 的小型檔案 | 大部分是中型檔案 512 KB - 1 MB | 大部分是 > 1 MB 的大檔案 |
---|---|---|---|
資料箱 | 2 個 Robocopy 工作階段 每個工作階段 16 個執行緒 |
3 個 Robocopy 工作階段 每個工作階段 16 個執行緒 |
2 個 Robocopy 工作階段 每個工作階段 24 個線程 |
如需 Robocopy 命令的詳細資訊,請移至 Robocopy 和數個範例。
在複製程式期間會顯示通知,以識別錯誤。
選取 [下載問題清單]。
開啟清單以檢視錯誤的詳細資料,並選取 [解析 URL] 以檢視建議的解決方法。
如需詳細資訊,請參閱在資料複製到資料箱期間檢視錯誤記錄。 如需資料複製期間的詳細錯誤清單,請參閱針對資料箱問題進行疑難排解。
為了確保資料完整性,在複製資料時會計算內嵌的總和檢查碼。 複製完成後,請確認您的裝置上已使用的空間和可用空間。
您可以透過 SMB、NFS、REST、資料複製服務或受控磁碟,將資料從來源伺服器複製到您的資料箱。
在每個案例中,請確定共用和資料夾的名稱及資料大小遵循 Azure 儲存體和資料箱服務限制中所述的指導方針。
透過 SMB 複製資料
若要透過 SMB 複製資料:
如果使用 Windows 主機,請使用下列命令來連線到 SMB 共用:
\\<Device IP address>\ShareName
若要擷取共用存取認證,請移至 數據箱本機 Web UI 內的 [連線與複製 ] 頁面。
使用與 SMB 相容的檔案複製工具 (例如 Robocopy) 來將資料複製到共用。
如需逐步指示,請移至教學課程:透過 SMB 將資料複製到 Azure 資料箱。
透過 NFS 複製資料
若要透過 NFS 複製資料:
使用 NFS 主機時,請使用下列命令在資料箱上掛接 NFS 共用:
sudo mount <Data Box device IP>:/<NFS share on Data Box device> <Path to the folder on local Linux computer>
若要取得共用存取認證,請前往資料箱之本機 Web UI 中的 [連線並複製] 頁面。
使用
cp
或rsync
命令來複製您的資料。
如需逐步指示,請移至教學課程:透過 NFS 將資料複製到 Azure 資料箱。
透過 REST 複製資料
若要透過 REST 複製資料:
- 若要透過 REST API 使用資料箱 Blob 儲存體來複製資料,您可以透過 HTTP 或 HTTPS 來進行連線。
- 若要將資料複製到資料箱 Blob 儲存體,您可以使用 AzCopy。
如需逐步指示,請移至教學課程:透過 REST API 將資料複製到 Azure 資料箱 Blob 儲存體。
透過資料複製服務來複製資料
若要透過資料複製服務來複製資料:
- 若要使用資料複製服務來複製資料,您需要建立一項作業。 在您資料箱的本機 Web UI 中,移至 [管理] > [複製資料] > [建立]。
- 填寫參數並建立作業。
如需逐步指示,請移至教學課程:使用資料複製服務將資料複製到 Azure 資料箱。
將資料複製到受控磁碟
若要複製資料受控磁碟:
- 訂購數據箱裝置時,請選取 受控磁碟 作為記憶體目的地。
- 透過SMB或NFS共用連線到資料箱。
- 透過SMB或NFS工具複製數據。
如需逐步指示,請移至教學課程:使用資料箱將資料匯入為 Azure 中的受控磁碟。
下一步
在本教學課程中,您已了解 Azure 資料箱的相關主題,像是:
- 必要條件
- 連線至資料箱
- 將資料複製到資料箱
請繼續進行下一個教學課程,了解如何將資料箱送回給 Microsoft。