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

重要

Azure 資料箱現在支援 Blob 層級的存取層指派。 本教學課程中包含的步驟會反映更新的數據複製程式,而且是區塊 Blob 特有的步驟。

如需判斷區塊 Blob 數據適當存取層的說明,請參閱 判斷區塊 Blob 的適當存取層一節。 請遵循將數據複製到數據箱一節中包含的步驟,將數據複製到適當的存取層。

本節中包含的信息適用於 2024 年 4 月 1 日之後的訂單。

本教學課程說明如何使用本機 Web UI 從主計算機連線及複製數據。

在本教學課程中,您會了解如何:

  • 必要條件
  • 連線至資料箱
  • 將資料複製到資料箱

必要條件

在您開始前,請確定:

  1. 您完成教學 課程:設定 Azure 資料箱
  2. 您會收到數據箱,入口網站中的訂單狀態為 「已傳遞」。
  3. 您有主計算機,其中包含您想要複製到資料箱的數據。 主電腦必須:
    • 執行支援的作業系統
    • 線上到高速網路。 強烈建議您至少有一個 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
  • 共用的 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 主電腦,請執行下列步驟來設定資料箱以允許存取 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 連線到數據箱共用。 在這裡範例中,資料箱裝置 IP 為 10.161.23.130。 共用 Mystoracct_Blob 會掛接在 ubuntuVM 上,載入點為 /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 的形式上傳至此容器。

    判斷區塊 Blob 的適當存取層

    重要

    本節中包含的信息適用於 2024 年 4 月 1之後的訂單。

    Azure 儲存體 可讓您將區塊 Blob 資料儲存在相同記憶體帳戶內的多個存取層中。 這項功能可讓您根據數據存取的頻率,更有效率地組織及儲存數據。 下表包含 Azure 儲存體 存取層的相關信息和建議。

    建議 最佳做法
    經常性 適用於經常存取或修改的在線數據。 此階層儲存成本最高,但存取成本最低。 此層中的數據應為一般且使用中。
    非經常性存取 對於不常存取或修改的在線數據很有用。 此層的記憶體成本較低,存取成本高於經常性存取層。 此層中的數據至少應該儲存 30 天。
    沒有興趣 適用於很少存取或修改的在線數據,但仍需要快速擷取。 此層的記憶體成本較低,存取成本高於非經常性存取層。 此層中的數據至少應儲存 90 天。
    封存 對於很少存取且延遲需求較低的離線數據很有用。 此層中的數據至少應儲存 180 天。 在 180 天內從封存層移除的數據受限於提早刪除費用。

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

    您可以將區塊 Blob 資料複製到資料夾,以將區塊 Blob 資料傳輸到適當的存取層。 此程式會在將數據複製到 Azure 資料箱節中更詳細地討論。

    將資料複製到資料箱

    聯機到一或多個數據箱共享之後,下一個步驟是複製數據。 開始資料複製之前,請考慮下列限制:

    • 請務必將數據複製到對應至所需數據格式的共用。 例如,將區塊 Blob 資料複製到區塊 Blob 的共用。 將 VHD 複製到分頁 Blob 共用。 如果數據格式不符合適當的共享類型,則上傳至 Azure 的數據會在後續步驟期間失敗。
    • 將數據複製到 AzFilePageBlob 共用時,請先在共用根目錄建立資料夾,然後將檔案複製到該資料夾。
    • 將數據複製到 BlockBlob 共用時,請在所需的存取層內建立子資料夾,然後將數據複製到新建立的子資料夾。 子資料夾代表將數據上傳為 Blob 的容器。 您無法直接將檔案複製到共用的 資料夾。
    • 複製數據時,請確定數據大小符合 Azure 記憶體帳戶大小限制中所述 的大小限制
    • 數據箱和另一個非數據箱應用程式同時上傳可能會導致上傳作業失敗和數據損毀。
    • 如果您使用 SMB 和 NFS 通訊協定進行資料複製,建議您:
      • 針對SMB和NFS使用不同的記憶體帳戶。
      • 請勿使用 SMB 和 NFS,將相同的數據複製到 Azure 中的相同端目的地。 在這些情況下,無法判斷最終結果。
      • 雖然透過SMB和NFS平行複製可以運作,但我們不建議這麼做,因為它容易發生人為錯誤。 等到SMB資料複製完成,再開始NFS資料複製。
    • 將數據複製到區塊 Blob 共用時,請在所需的存取層內建立子資料夾,然後將資料複製到新建立的子資料夾。 子資料夾代表將數據上傳為 Blob 的容器。 您無法將檔案直接 複製到記憶體帳戶中的根 資料夾。
    • 如果在資料匣上將區分大小寫的目錄和檔名從 NFS 共用擷取至 NFS:
      • 這個大小寫會保留於名稱中。

      • 檔案不區分大小寫。

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

    重要

    請確定您維護源數據的複本,直到您可以確認您的數據已複製到 Azure 儲存體。

    如果您使用 Linux 主計算機,請使用類似 Robocopy 的複製公用程式。 Linux 中提供的一些替代方案包括 rsyncFreeFileSyncUnisonUltracopier

    此命令 cp 是複製目錄的最佳選項之一。 如需使用量的詳細資訊,請移至 cp man 頁面

    如果針對多線程複本使用 rsync 選項,請遵循下列指導方針:

    • 視 Linux 用戶端所使用的文件系統而定,安裝 CIFS UtilsNFS Utils 套件。

      sudo apt-get install cifs-utils

      sudo apt-get install nfs-utils

    • 安裝和rsync平行處理 (視 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 檔案類型:符號連結、字元檔案、區塊檔案、套接字和管道。 這些文件類型會導致在準備寄送步驟期間失敗。

    通知會在複製能力期間顯示,以識別錯誤。

    下載並檢視 連線和複製的錯誤

    選取 [ 下載問題清單]。

    下載複製錯誤的問題清單

    開啟清單以檢視錯誤的詳細數據,然後選取解析 URL 以檢視建議的解決方案。

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

    如需詳細資訊,請參閱 將數據複製到數據箱期間檢視錯誤記錄檔。 如需數據複製期間錯誤的詳細清單,請參閱 針對數據箱問題進行疑難解答。

    為了確保數據完整性,總和檢查碼會在複製數據時內嵌計算。 複製完成後,請確認裝置上的已使用空間和可用空間。

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

    下一步

    在本教學課程中,您已瞭解 Azure 數據箱主題,例如:

    • 數據箱資料複製必要條件
    • 連線 至數據箱
    • 判斷區塊 Blob 的適當存取層
    • 將資料複製到資料箱

    前進到下一個教學課程,瞭解如何將您的數據箱寄回 Microsoft。