本文提供將數據從 GlusterFS 磁碟區遷移至 Azure 檔案服務的指引,Microsoft雲端中完全受控的檔案服務。 Azure 檔案服務同時提供 SMB(伺服器消息塊)和 NFS(網路文件系統)通訊協定,使其適用於 Windows 和 Linux 工作負載。
GlusterFS 生命周期結束考慮
Red Hat Gluster Storage(以 GlusterFS 為基礎)已終止其支援生命週期。 Red Hat 已正式宣佈此產品的生命週期結束,並排程如下。
- 完整支持結束:2020 年 11 月
- 維護終止支援:2021 年 11 月
- 延長生命周期結束階段:2024 年 6 月
- 正式生命周期結束:2024 年 12 月
使用 GlusterFS 的組織應該移轉至支援的替代方案,例如 Azure 檔案記憶體,以確保持續支援和安全性更新。
Azure 文件儲存體的用戶端需求
從 GlusterFS 移轉至 Azure 檔案服務之前,請確定您的客戶端系統符合使用 SMB 或 NFS 通訊協定連線到 Azure 檔案共用的必要需求。
SMB 需求
透過SMB連線到 Azure 檔案服務的 Windows 用戶端應符合下列需求:
- Windows 7 或 Windows Server 2008 R2 或更新版本
- SMB 2.1 通訊協定支援 (最小值)
- SMB 3.0 通訊協定支援加密功能
- SMB 3.1.1 通訊協定支援,以獲得最佳安全性和效能
這很重要
我們強烈建議使用 SMB 3.1.1 通訊協議進行 Azure 檔案記憶體存取。 SMB 3.0 和 2.0 只應該用於舊版用戶端,而且您必須規劃作系統升級,以減輕未修補的安全性弱點。
如需需求和設定指示的完整清單,請參閱 搭配 Windows 使用 Azure 檔案共用。
NFS 的需求條件
Azure 檔案服務支援 NFSv4.1,但 Windows 不包含相容的 NFSv4.1 用戶端。 若要在 Windows 上使用 NFS 共用:
安裝適用於 Linux 的 Windows 子系統 (WSL):
- 針對 Windows 用戶端:遵循 WSL 安裝指南
- 針對 Windows Server:遵循 Windows Server 上的 WSL 安裝指南
從在 WSL 上執行的 Linux 發行版本內掛接 NFS 共用。
移轉工具
針對 Windows 用戶端,我們建議使用 Robocopy。
針對 Linux 用戶端,請使用 rsync 或 fpsync,這可讓您平行處理 rsync 檔案作業。 請參閱 使用 fpsync 與 rsync。
針對 Windows 用戶端:Robocopy
Robocopy 是內建的 Windows 命令行工具,專為複製 SMB 檔案共用而設計。
Robocopy 基礎移轉語法
robocopy <GlusterFS_Source> <AzureFiles_Destination> /MIR /Z /MT:8 /W:1 /R:3 /LOG:migration_log.txt
參數:
-
/MIR
:鏡像目錄結構(包括子目錄) -
/Z
:啟用中斷複本的重新啟動模式 -
/MT:8
:使用8個線程進行多線程複製 -
/W:1
:重試之間的等候時間 (1 秒) -
/R:3
:失敗複製的重試次數 -
/LOG
:建立詳細的記錄檔
逐步移轉流程
步驟 1:評估和規劃
清查 GlusterFS 磁碟區,注意:
- 資料大小總計
- 檔案和目錄數目
- 存取模式和效能需求
- 用戶端作業系統
選取適當的通訊協定。 在大部分情況下,建議使用 SMB 來處理 Windows 工作負載,NFS 用於 Linux 工作負載。
選取 [HDD] 或 [SSD],並適當地調整您的 Azure 檔案共用大小:
- 標準 (HDD):最多 100 TiB
- 進階 (SSD):最高 100 TiB 且效能較高
步驟 2:準備 Azure 環境
在適當的 Azure 區域中建立記憶體帳戶。
- 根據您的需求選擇正確的效能層級(標準或進階)。 NFS 檔案共用需要進階。
設定網路功能。 請參閱 Azure 檔案存取網路考量。
- SMB:視需要設定防火牆和私人端點。 請參閱 設定 Azure 記憶體防火牆 和 設定網路端點以存取 Azure 檔案共用。
- NFS:設定網路安全性和私人端點。 請參閱 在Linux上掛接NFS Azure 檔案共用。
使用適當的通訊協定建立 Azure 檔案共用。
步驟 3:掛接 Azure 檔案共用
移轉數據之前,您必須掛接 Azure 檔案共用。
針對 Windows 用戶端 (SMB):
本文說明如何使用 NTLMv2 驗證來掛接 Azure 檔案共用(記憶體帳戶密鑰)。 在非系統管理案例中,基於安全性考慮,最好使用 以身分識別為基礎的驗證 。
您可以瀏覽至記憶體帳戶並選取 [安全性 + 網路>],或使用 PowerShell Cmdlet,在 Get-AzStorageAccountKey
入口網站中找到您的記憶體帳戶金鑰。
若要掛接檔案共用,請執行下列命令。 請務必以您的實際值取代 <storage-account-name>
、 <share-name>
與 <storage-account-key>
。
net use Z: \\<storage-account-name>.file.core.windows.net\<share-name> /u:AZURE\<storage-account-name> <storage-account-key>
如需詳細資訊,請參閱 在 Windows 上掛接 SMB Azure 檔案共用。
步驟 4:執行數據遷移
掛接 Azure 檔案共享之後,您可以執行資料遷移。
針對使用 Robocopy 的 Windows 工作負載:
以系統管理員許可權開啟命令提示字元或 PowerShell 視窗,然後執行下列命令:
robocopy X:\GlusterFSData Z:\AzureFilesData /MIR /Z /MT:8 /W:1 /R:3 /LOG:C:\migration_log.txt
步驟 5:確認移轉成功
比較檔案計數和大小:
- 在 Windows 上:使用
Get-ChildItem -Recurse | Measure-Object
- 在 Linux 上:使用
find . -type f | wc -l
和du -sh
- 在 Windows 上:使用
驗證使用者/群組許可權和訪問許可權。
執行應用程式特定的測試。
步驟 6:切換
- 將應用程式重新導向至使用 Azure 檔案儲存體端點。
- 更新 fstab(Linux)中的裝入點或 Windows 中映射的磁碟。
- 更新文件和監控工具。
- 在成功驗證後,停用 GlusterFS 磁碟區。
優化效能
請遵循這些建議,在從 GlusterFS 移轉至 Azure 檔案服務時將效能優化。 如需詳細的效能微調,請參閱 Azure 檔案記憶體延展性和效能目標 , 以及瞭解和優化 Azure 檔案共用效能。
備註
檢查虛擬機器 (VM) 的大小,以確保當您的檔案共用的大小符合所需的資料傳輸量和 IOPS 時,VM 的網路頻寬不會成為瓶頸。 不同的 VM SKU 有不同的網路頻寬限制,可限制整體檔案共用效能。 選取 VM 大小,為您的工作負載需求提供足夠的網路輸送量。 如需詳細資訊,請參閱 Azure 虛擬機大小。
優化SMB效能
- 使用多個連線啟用 SMB多重通道 ,以提升輸送量。
- 針對效能關鍵工作負載使用 SSD 檔案共用和 元數據快取。
- 設定適當的用戶端快取。
- 遵循SMB檔案共用的 Azure 檔案效能建議 。
故障排除
請遵循這些指示,針對常見的移轉問題進行疑難解答。
Robocopy 的常見問題
- 錯誤 5 (拒絕存取):驗證來源和目的地的許可權。
- 錯誤 67 (找不到網路名稱):檢查網路連線能力和共享名稱。
- 錯誤 1314 (配額不足):增加 Azure 檔案記憶體配額或可用空間。
移轉支援
如需與 Azure 檔案服務相關的問題,請透過 Azure 入口 網站連絡 Azure 支援。
如需 GlusterFS 移轉協助,請考慮聯繫 Microsoft 諮詢服務。