教學:透過 NFS 將資料複製到 Azure 資料箱

這很重要

Azure 資料箱 現在支援在 blob 物件級別進行存取層的設定。 本教學課程中包含的步驟會反映更新的資料複製流程,而且是區塊 Blob 特有的步驟。

如需判斷區塊 Blob 資料的適當存取層說明,請參閱判斷區塊 Blob 的適當存取層一節。 請依照 「將資料複製到資料框 」部分的步驟,將您的資料複製到適當的存取層級。

本節包含的資訊適用於 2024 年 4 月 1 日之後下的訂單。

本教學說明如何利用本地網頁介面連接並複製主機電腦的資料。

在這個教學中,你會學到如何:

  • 先決條件
  • 連線至資料箱
  • 將資料複製到資料箱

先決條件

在您開始前,請確定:

  1. 您已完成教學課程:設定 Azure 資料箱
  2. 您已收到資料箱,且入口網站中的訂購狀態為 [已交付]
  3. 你有一台主機,裡面有你想複製到 Data Box 的資料。 你的主機電腦必須:
    • 使用受支援的作業系統
    • 連接高速網路。 強烈建議您具有至少一個 10 GbE 的連線。 如果沒有 10 GbE 連線,可以使用 1 GbE 的資料連結,但複製速度會受影響。

在您開始前,請確定:

  1. 您已完成教學課程:設定 Azure 資料箱
  2. 您已收到資料箱,且入口網站中的訂購狀態為 [已交付]
  3. 你有一台主機,裡面有你想複製到 Data Box 的資料。 你的主機電腦必須:
    • 使用受支援的作業系統
    • 連接高速網路。 強烈建議您至少有一個 100 GbE 連線。 如果沒有 100 GbE 連線,可以使用 10 GbE 或 1 GbE 的資料鏈路,但複製速度會受影響。

連線至資料箱

根據所選的儲存帳號,Data Box 可建立最多:

  • GPv1 和 GPv2 的每個相關聯儲存體帳戶有三個共用。
  • 一個進階儲存體的共用。
  • 一個供 Blob 儲存體帳戶使用的共用,其中四個存取層級的每一個都各自包含一個資料夾。

下表列出您可以連接的資料盒共享名稱,以及上傳到目標儲存帳戶的資料類型。 它也會識別您複製來源資料時,共用與目錄的階層結構。

儲存體類型 分享名稱 第一層實體 第二層實體 第三層實體
區塊 Blob <儲存帳號名稱>_BlockBlob <\accessTier> <\containerName> <\blockBlob>
分頁 Blob <\storageAccountName>_PageBlob <\containerName> <\pageBlob>
檔案記憶體 <\storageAccountName>_AzFile <\檔案分享名稱> <\file>

你不能直接把檔案複製到任何 Data Box 共享的 目錄。 相反地,根據你的使用情境,在資料盒共享中建立資料夾。

區塊塊支援在檔案層級指派存取層級。 在將檔案複製到區塊 blob 共享之前,建議的最佳做法是在適當的存取層級內新增子資料夾。 然後,在建立新子資料夾後,依照需要持續為每個子資料夾新增檔案。

系統會為位於區塊 Blob 共用根目錄中的任何資料夾建立新容器。 資料夾內的任何檔案都會以區塊塊形式複製到儲存帳號的預設存取層級。

如需 Blob 存取層級的詳細資訊,請參閱 Blob 資料的存取層。 欲了解更多存取層最佳實務的詳細資訊,請參閱 使用大塊存取層的最佳實務

下表顯示了資料盒上分享的 UNC 路徑,以及資料上傳到的對應 Azure 儲存體 路徑網址。 最終的 Azure 儲存體 路徑 URL 可以從 UNC 的共享路徑中推導出來。

Azure 儲存體 類型 資料盒共享
Azure 區塊 Blob
  • 共用的 UNC 路徑: \\<DeviceIPAddress>\<storageaccountname_BlockBlob>\<accessTier>\<ContainerName>\myBlob.txt
  • Azure 儲存體 URL:https://<storageaccountname>.blob.core.windows.net/<ContainerName>/myBlob.txt
  • Azure 分頁 Blob
  • 共用的 UNC 路徑: \\<DeviceIPAddress>\<storageaccountname_PageBlob>\<ContainerName>\myBlob.vhd
  • Azure 儲存體 URL:https://<storageaccountname>.blob.core.windows.net/<ContainerName>/myBlob.vhd
  • Azure 檔案儲存體
  • 共用的 UNC 路徑:\\<DeviceIPAddress>\<storageaccountname_AzFile>\<ShareName>\myFile.txt
  • Azure 儲存體 URL:https://<storageaccountname>.file.core.windows.net/<ShareName>/myFile.txt
  • 如果你使用的是 Linux 主機電腦,請依照以下步驟設定 Data Box 以允許存取 NFS 用戶端。

    1. 針對允許存取共用的用戶端提供其 IP 位址。 在本機 Web UI 中,移至 [連線並複製] 頁面。 在 NFS 設定中,選擇 NFS 用戶端存取權。

      設定 NFS 用戶端存取

    2. 輸入 NFS 用戶端的 IP 位址,並選擇 新增。 您可以重複此步驟,以設定多個 NFS 用戶端的存取。 請選擇 [確定]

      設定 NFS 用戶端的 IP 位址

    3. 確定 Linux 主機電腦已安裝NFS 用戶端的支援版本。 針對您的 Linux 發行版本,請使用特定版本。

    4. 安裝 NFS 用戶端之後,請使用下列命令將 NFS 共用掛接在您的資料箱裝置上:

      sudo mount <Data Box device IP>:/<NFS share on Data Box device> <Path to the folder on local Linux computer>

      請使用以下範例,透過 NFS 連線至 Data Box 共用。 在範例中,資料盒裝置的 IP 為 10.161.23.130。 共享 Mystoracct_Blob 被掛載在 Ubuntu 虛擬機上,掛載點為 /home/databoxubuntuhost/databox

      sudo mount -t nfs 10.161.23.130:/Mystoracct_Blob /home/databoxubuntuhost/databox

      對於 Mac 客戶端,你需要新增一個選項,如下:

      sudo mount -t nfs -o sec=sys,resvport 10.161.23.130:/Mystoracct_Blob /home/databoxubuntuhost/databox

      這很重要

      你無法直接將檔案複製到儲存帳號的 目錄。 在區塊 blob 儲存帳號的根目錄中,你會找到對應每個可用存取層級的資料夾。

      要將資料複製到 Azure 資料箱,您必須先選擇對應其中一個存取層級的資料夾。 接下來,在該層的資料夾中建立子資料夾來儲存您的資料。 最後,將您的數據複製到新創建的子文件夾中。 新的子資料夾代表在擷取期間於儲存體帳戶內建立的容器。 您的資料會以 Blob 的形式上傳到此容器。

    確定 Block Blob 的適當存取層級

    這很重要

    本節包含的資訊適用於 2024 年 4 月 1 日之後下的訂單。

    Azure 儲存體 允許你在同一個儲存帳號內,將區塊 blob 資料存放在多個存取層級。 這項功能可讓您根據資料存取的頻率,更有效地組織及儲存資料。 下表包含有關 Azure 儲存體 存取層級的資訊與建議。

    Tier Recommendation 最佳做法
    Hot 適合用於經常存取或修改的線上資料。 此階層儲存成本最高,但存取成本最低。 此層中的資料應定期且積極地使用。
    非經常性存取 適合用於不常存取或修改的線上資料。 相較於熱門層,這一層的儲存成本較低且存取成本較高。 此層中的資料至少應該儲存 30 天。
    Cold 適合用於很少存取或修改的線上資料,但仍需要快速擷取。 相較於冷存取層,此層的儲存成本較低,而存取成本較高。 這一層中的資料至少應儲存 90 天。
    封存 適合用於很少存取且延遲需求較低的離線資料。 這一層中的資料至少應儲存 180 天。 在 180 天內從封存層移除的資料需要支付提早刪除費用。

    如需 Blob 存取層級的詳細資訊,請參閱 Blob 資料的存取層。 如需更詳細的最佳做法,請參閱使用 Blob 存取層的最佳做法

    你可以將區塊 Blob 資料複製到 Data Box 中對應的資料夾,以將其傳輸到適當的存取層。 此過程在「將資料複製到 Azure 資料箱」章節中有更詳細的討論。

    將資料複製到資料箱

    當您連線到一個或多個 Data Box 共用後,下一步是複製資料。 在開始複製資料之前,請先注意以下限制:

    • 務必將資料複製到符合所需資料格式的共用中。 例如,將區塊 Blob 資料複製到區塊 Blob 的共用。 將 VHD 複製到分頁 Blob 共用。 如果資料格式與適當的分享類型不符,資料上傳到 Azure 的後續步驟就會失敗。
    • 在將資料複製到 AzFilePageBlob 共享時,先在該資料夾根建立一個資料夾,然後再將檔案複製到該資料夾。
    • 在將資料複製到 BlockBlob 共享資料夾時,先在想要的存取層級內建立一個子資料夾,然後再將資料複製到新建立的子資料夾。 子資料夾代表一個容器,資料以 blob 形式上傳。 你不能直接把檔案複製到分享的 目錄。
    • 複製資料時,請確保資料大小符合 Azure 儲存帳號大小限制中描述的大小限制。
    • Data Box 與其他非 Data Box 應用程式同時上傳,可能導致上傳工作失敗及資料損毀。
    • 如果您同時使用 SMB 與 NFS 協定來進行資料複製,我們建議您:
      • 請為 SMB 和 NFS 分別使用不同的儲存體帳戶。
      • 不要同時用 SMB 和 NFS 在 Azure 中複製相同的資料到同一個終端目的地。 在這些情況下,最終結果無法確定。
      • 雖然同時透過 SMB 和 NFS 複製是可行的,但我們不建議這麼做,因為容易造成人為錯誤。 等到你的 SMB 資料副本完成後再開始 NFS 資料副本。
    • 在將資料複製到 block blob share 時,先在想要的存取層級內建立一個子資料夾,然後再將資料複製到新建立的子資料夾。 子資料夾代表一個容器,資料會以 blob 形式上傳到那裡。 你不能直接把檔案複製到儲存帳號的 目錄。
    • 如果要將 NFS 共用中區分大小寫的目錄和檔案名稱擷取至資料箱上的 NFS:
      • 會在名稱中保留大小寫。

      • 檔案不分大小寫。

        例如,若複製 SampleFile.txtSamplefile.Txt,複製到資料箱時,會保留名稱的大小寫。 不過因為它們被視為同一個檔案,最後上傳的檔案會覆蓋第一個檔案。

    這很重要

    在確認資料已複製到 Azure 儲存體 之前,請務必保留原始資料的副本。

    如果你用的是 Linux 主機電腦,可以用類似 Robocopy 的複製工具。 Linux 上可用的替代方案包括 rsyncFreeFileSyncUnisonUltracocopy

    這個 cp 指令是複製目錄的最佳選擇之一。 欲了解更多使用資訊,請參考 cp man 頁面

    若使用 rsync 選項來進行多執行緒複製,請遵循以下指引:

    • 根據你 Linux 用戶端使用的檔案系統,安裝 CIFS UtilsNFS Utils 套件。

      sudo apt-get install cifs-utils

      sudo apt-get install nfs-utils

    • 安裝 rsyncParallel(視 Linux 發行版本而定)。

      sudo apt-get install rsync

      sudo apt-get install parallel

    • 建立一個掛點。

      sudo mkdir /mnt/databox

    • 把音量掛上去。

      sudo mount -t NFS4 //Databox IP Address/share_name /mnt/databox

    • 鏡像資料夾目錄結構。

      rsync -za --include='*/' --exclude='*' /local_path/ /mnt/databox

    • 複製檔案。

      cd /local_path/; find -L . -type f | parallel -j X rsync -za {} /mnt/databox/{}

      其中 j 表示平行化的數量, X = 平行副本的數量

      我們建議你從16個平行副本開始,並根據可用資源增加執行緒數量。

    這很重要

    以下 Linux 檔案類型不支援:符號連結、字元檔案、區塊檔案、套接字和管道。 這些檔案類型會導致在 準備出貨 步驟中失敗。

    系統會在複製過程中顯示通知,以指出錯誤。

    下載並查看 Connect 上的錯誤,並複製

    選擇 下載議題清單

    下載問題清單以防止複製錯誤

    打開清單查看錯誤細節,並選擇解決網址以查看建議的解決方法。

    複製錯誤問題清單中的問題

    欲了解更多資訊,請參閱「 資料複製至資料盒期間查看錯誤日誌」。 關於資料複製過程中的詳細錯誤清單,請參見 資料盒問題故障排除

    為了確保資料完整性,在複製資料時會計算內嵌的校驗和。 複製完成後,請確認您的裝置上已使用的空間和可用空間。

    確認儀錶板上的可用和已使用空間

    下一步

    在本教學課程中,您已了解 Azure 資料箱的相關主題,像是:

    • 資料盒資料複製的前提條件
    • 連線至 Data Box
    • 決定區塊塊的適當存取層級
    • 將資料複製到資料盒

    請繼續進行下一個教學課程,了解如何將資料箱送回給 Microsoft。