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

將數據複製到 Azure 資料箱

重要

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

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

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

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

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

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

必要條件

在您開始前,請確定:

  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
  • 如果使用 Windows Server 主計算機,請遵循下列步驟來連線到數據箱。

    1. 第一個步驟是驗證並啟動工作階段。 移至 連線 並複製。 選取 [SMB ] 以取得與記憶體帳戶相關聯之共用的存取認證。

      取得SMB共用的共享認證

    2. 在 [存取共用和複製資料] 對話框中,複製對應至共用的使用者名稱和密碼。 然後選取確定

      取得共用的使用者名稱和密碼

    3. 下列範例使用名為 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
    4. 出現提示時,請輸入共用的密碼。 如果密碼有特殊字元,請在密碼前後加上雙引號。 下列範例顯示透過上述命令連線到共用。

      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.
      
    5. 按 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 的數據會在後續步驟期間失敗。
    • 將數據複製到 AzFilePageBlob 共用時,請先在共用根目錄建立資料夾,然後將檔案複製到該資料夾。
    • 將數據複製到 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複製資料:

    1. 如果使用 Windows 主機,請使用下列命令來連線到 SMB 共用:

      \\<Device IP address>\ShareName

    2. 若要擷取共用存取認證,請移至數據箱本機 Web UI 內的 [連線 和複製] 頁面。

    3. 使用SMB相容的檔案複製工具,例如Robocopy將資料複製到共用。

    如需逐步指示,請移至 教學課程:透過SMB將數據複製到 Azure 資料箱。

    透過 NFS 複製數據

    若要透過 NFS 複製資料:

    1. 使用 NFS 主機時,請使用下列命令在資料箱上掛接 NFS 共用:

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

    2. 若要取得共用存取認證,請移至數據箱本機 Web UI 中的 [連線 和複製] 頁面。

    3. 使用 cprsync 命令來複製您的數據。

    如需逐步指示,請移至 教學課程:透過 NFS 將數據複製到 Azure 數據箱。

    透過 REST 複製數據

    若要透過 REST 複製資料:

    1. 若要透過 REST API 使用資料箱 Blob 記憶體來複製資料,您可以透過 HTTP 或 https 連線
    2. 若要將資料複製到資料箱 Blob 記憶體,您可以使用 AzCopy。

    如需逐步指示,請移至 教學課程:透過 REST API 將資料複製到 Azure 數據箱 Blob 記憶體。

    透過資料複製服務複製數據

    若要透過資料複製服務複製資料:

    1. 若要使用資料複製服務來複製數據,您必須建立作業。 在數據箱的本機 Web UI 中,移至 [ 管理 > 複製數據 > 建立]。
    2. 填寫參數並建立作業。

    如需逐步指示,請移至 教學課程:使用數據複製服務將數據複製到 Azure 數據箱

    將數據複製到受控磁碟

    若要複製資料受控磁碟:

    1. 訂購數據箱裝置時,請選取 受控磁碟 作為記憶體目的地。
    2. 透過SMB或NFS共用 連線至資料箱。
    3. 透過SMB或NFS工具複製數據。

    如需逐步指示,請移至 教學課程:使用數據箱將數據匯入為 Azure 中的受控磁碟。

    下一步

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

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

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