Share via


使用 Azure Data Lake Storage Gen2 功能升級 Azure Blob 儲存體

本文可協助您啟用階層命名空間和解除鎖定功能,例如檔案和目錄層級安全性,以及提高作業速度。 這些功能廣泛使用於巨量資料分析工作負載,而且統稱為 Azure Data Lake Storage Gen2。

若要深入了解這些功能,並評估此升級對於工作負載、應用程式、成本、服務整合、工具、功能及文件的影響,請參閱使用 Azure Data Lake Storage Gen2 功能升級 Azure Blob 儲存體

重要

升級是單向的。 當您執行升級時,沒有任何方法可還原您的帳戶。 建議在非商業執行環境中驗證您的升級。

準備升級

若要準備將您的儲存體帳戶升級至 Data Lake Storage Gen2:

檢閱功能支援

您的儲存體帳戶可能會設定為使用已啟用 Data Lake Storage Gen2 的帳戶中尚未支援的功能。 如果您的帳戶使用這類功能,則升級將無法通過驗證步驟。 請參閱 Azure 儲存體帳戶中的 Blob 儲存體功能支援,以識別不支援的功能。 如果您在帳戶中使用任何這類功能,請先將其停用,再開始升級。

Data Lake Storage Gen2 帳戶支援下列功能,但升級流程不支援這些功能:

  • Blob 快照集
  • 加密範圍
  • 不可變儲存體
  • 生命週期管理的上次存取時間追蹤
  • Blob 的虛刪除
  • 容器的虛刪除

如果您的儲存體帳戶已啟用這類功能,您必須先停用這些功能,然後才能執行升級。 如果您想要在升級完成之後繼續使用這些功能,請重新啟用這些功能。

在某些情況下,您必須允許一段時間,在升級之前停用功能之後進行清除作業。 其中一個範例是 Blob 虛刪除功能。 您必須停用 Blob 虛刪除,然後允許所有虛刪除 Blob 到期,接著才能升級帳戶。

重要

您無法將儲存體帳戶升級至曾經已啟用變更摘要功能的 Data Lake Storage Gen2。 只要停用變更摘要,就不允許您執行升級。 相反地,您必須建立已啟用階層命名空間功能的帳戶,然後移動資料並將其傳輸至該帳戶。

確定每個 Blob 路徑的區段已命名

移轉流程會為 Blob 的每個路徑區段建立一個目錄。 Data Lake Storage Gen2 目錄必須具有名稱,移轉才能成功,因此虛擬目錄中的每個路徑區段都必須具有一個名稱。 對於只以空格字元命名的區段,也是相同的需求。 若有任何路徑區段未命名 (//),或只以空格字元命名 (_),則在繼續移轉之前,您必須將這些 Blob 複製到與這些命名需求相容的新路徑。

防止儲存體帳戶的寫入活動

如果應用程式在升級期間寫入儲存體帳戶,升級可能會失敗。 若要防止這類寫入活動:

  1. 停止任何可能執行寫入作業的應用程式或服務。

  2. 釋放或中斷儲存體帳戶中容器和 Blob 上的現有租用。

升級完成後,請中斷您建立的租用,以繼續允許容器和 Blob 的寫入權限。

警告

在沒有正常停用目前存取這些資源的應用程式或虛擬機器的情況下,中斷作用中租用可能會產生非預期的結果。 在中斷任何目前的租用之前,請務必停止任何目前的寫入活動。

執行升級

  1. 登入 Azure 入口網站以開始進行操作。

  2. 找出您的儲存體帳戶,然後顯示帳戶概觀。

  3. 選取 [Data Lake Gen2 移轉]

    隨即出現升級為具有 Azure Data Lake Gen2 功能的儲存體帳戶頁面。

    Configuration page

  4. 展開 [步驟 1: 在升級前先檢閱帳戶變更] 區段,然後按一下 [檢閱並同意變更]

  5. 在 [檢閱帳戶變更] 頁面中,選取核取方塊,然後按一下 [同意變更]

  6. 展開 [步驟 2: 先驗證帳戶之後才升級] 區段,然後按一下 [開始驗證]

    如果驗證失敗,頁面中會出現錯誤。 在某些情況下,則會出現 [檢視錯誤] 連結。 如果出現該連結,請選取該連結。

    View errors link

    然後,從 error.json 檔案的內容功能表中,選取 [下載]

    Error json page

    開啟下載的檔案,判斷為何帳戶未通過驗證步驟。 下列 JSON 表示帳戶上已啟用不相容的功能。 在此情況下,您需要停用此功能,然後再次啟動驗證程序。

    {
     "startTime": "2021-08-04T18:40:31.8465320Z",
     "id": "45c84a6d-6746-4142-8130-5ae9cfe013a0",
     "incompatibleFeatures": [
         "Blob Delete Retention Enabled"
     ],
     "blobValidationErrors": [],
     "scannedBlobCount": 0,
     "invalidBlobCount": 0,
     "endTime": "2021-08-04T18:40:34.9371480Z"
    }
    
  7. 成功驗證您的帳戶之後,請展開 [步驟 3: 升級帳戶] 區段,然後按一下 [開始升級]

    重要

    在帳戶升級時,會停用寫入作業。 讀取作業不會停用,但強烈建議您暫停讀取作業,因為這些作業可能會使升級程序變得不穩定。

    在順利完成移轉後,將會出現類似下列的訊息。

    Migration completed page

停止升級

您可以在移轉完成之前將其停止。

若要在升級完成之前停止升級,請在升級進行時選取 [取消升級]

Cancel upgrade

遷移資料、工作負載和應用程式

  1. 設定工作負載中的服務以指向 Blob 服務端點,或 Data Lake Storage 端點。

    Account endpoints

  2. 針對使用 Windows Azure 儲存體 Blob 驅動程式或 WASB 驅動程式的 Hadoop 工作負載,請確保將其修改為使用 Azure Blob File System (ABFS) 驅動程式。 不同於向 Blob 服務端點發出要求的 WASB 驅動程式,ABFS 驅動程式會向您帳戶的 Data Lake Storage 端點發出要求。

  3. 測試自訂應用程式,以確保可與升級的帳戶一起搭配運作。

    Data Lake Storage 上的多重通訊協定存取可讓大部分的應用程式在不修改的情況下繼續使用 Blob API。 如果您遇到問題,或想要使用 API 來處理目錄作業和 ACL,請考慮移動一些程式碼以使用 Data Lake Storage Gen2 API。 請參閱 .NETJAVAPythonNode.jsREST 的指南。

  4. 測試所有自訂指令碼,以確保可與升級的帳戶一起搭配運作。

    如同 Blob API,許多指令碼都很可能不需要修改即可正常運作。 不過,如有需要,您可以將指令檔升級為使用 Data Lake Storage Gen2 PowerShell Cmdlet,以及 Azure CLI 命令

另請參閱

Azure Data Lake Storage Gen2 簡介