本文將介紹如何通過LocalFs來進行阿里雲NAS之間資料的遷移。
概述
阿里雲線上遷移服務支援在阿里雲NAS之間進行資料移轉,線上遷移服務把掛載到ECS的NAS當做普通本地檔案系統,通過LocalFs源來實現遷移,具體參見LocalFS之間遷移教程。本文介紹了阿里雲NAS多種遷移情境下的最佳實務。
遷移過程資料不保證資料一致性,請您務必在遷移任務完成後,校正目的端遷移資料。您在刪除來源資料前,未校正目的端遷移資料無誤,導致資料丟失所引起的一切損失和後果均由您自行承擔。
遷移流程圖

遷移前準備
申請代理機器(ECS)
單機CPU核心數不得低於4核,記憶體容量不得低於8GB,磁碟可用空間不得低於20GB,詳見代理選型。
如果單台ECS的遷移速度低於使用者的期望,則可以使用多台ECS:ECS數量 = 期望遷移速度 ÷ 單機遷移速度。
申請ECS時,需要確保源ECS能成功掛載源NAS,目標ECS能成功掛載目標NAS。
手動掛載NAS注意事項
對於NAS之間的遷移,建議源地址和目的地址各建立一個通道。
同一個通道下,如果有多個代理執行個體,則每個代理對應的ECS上掛載的本地目錄必須保持一致。例如,源通道下有兩個代理執行個體,部署在兩台ECS上,源NAS在第一台ECS上掛載的本地目錄為/mnt/src/,那麼在第二台ECS掛載的目錄也必須為/mnt/src,以此類推。
NAS的掛載命令,以NFS檔案系統為例,推薦使用NFS v3協議掛載,詳見掛載NFS協議檔案系統:
sudo mount -t nfs -o vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport file-system-id.region.nas.aliyuncs.com:/ /mnt掛載命令參數說明如下表所示。
參數
描述
通用型NAS:file-system-id.region.nas.aliyuncs.com:/ /mnt
極速型NAS:file-system-id.region.extreme.nas.aliyuncs.com:/share /mnt
表示<掛載地址>:<NAS檔案系統目錄> <當前伺服器上待掛載的本地路徑>,請根據實際情況替換。
掛載地址:您可以在Apsara File Storage NAS控制台檔案系統列表頁面,單擊目標檔案系統後的管理,進入掛載使用頁面擷取掛載地址。更多資訊,請參見管理掛載點。
NAS檔案系統目錄:NAS的根目錄(/)或任意子目錄(例如:/share),如果是子目錄,請您確保子目錄是NAS檔案系統中實際已存在的目錄。
說明極速型NAS的共用目錄必須以/share開頭,例如:/share、/share/subdir。
當前伺服器上待掛載的本地路徑:Linux ECS執行個體的根目錄(/)或任意子目錄(例如:/mnt),如果是子目錄,請您確保子目錄已存在。
vers
檔案系統版本。
vers=3:使用NFS v3協議掛載檔案系統。
vers=4:使用NFS v4協議掛載檔案系統。
其中,
minorversion為協議次版本號碼,NAS支援的NFS v4協議版本為4.0,因此使用NFS v4協議掛載檔案系統時,次版本號碼為0。
說明通用型NAS:支援NFS v3和NFS v4.0。
極速型NAS:只支援NFS v3,不支援NFS v4。
掛載選項
掛載檔案系統時,可選擇多種掛載選項,掛載選項使用半形逗號(,)分隔,說明如下:
rsize:定義資料區塊的大小,用於用戶端與檔案系統之間讀取資料。建議值:1048576。
wsize:定義資料區塊的大小,用於用戶端與檔案系統之間寫入資料。建議值:1048576。
說明如果您需要更改IO大小參數(rsize和wsize),建議您儘可能使用最大值(1048576),以避免效能下降。
hard:在Apsara File Storage NAS暫時停用情況下,使用檔案系統上某個檔案的本地應用程式時會停止並等待至該檔案系統恢複線上狀態。建議啟用該參數。
timeo:指定時間長度,單位為0.1秒,即NFS用戶端在重試向檔案系統發送請求之前等待響應的時間。建議值:600(60秒)。
說明如果您必須更改逾時參數(timeo),建議您使用150或更大的值。該timeo參數的單位為0.1秒,因此150表示的時間為15秒。
retrans:NFS用戶端重試請求的次數。建議值:2。
noresvport:在網路重連時使用新的TCP連接埠,保障在網路發生故障恢複時不會中斷串連。建議啟用該參數。
重要不建議使用soft選項,有資料一致性風險。如果您要使用soft選項,相關風險需由您自行承擔。
避免設定不同於預設值的任何其他掛載選項。如果更改讀或寫緩衝區大小或禁用屬性緩衝,可能會導致效能下降。
在使用NAS的掛載命令和參數進行掛載後,務必確保NAS成功掛載到指定目錄,並確保資料移轉期間掛載的有效性,否則可能導致資料寫入本地磁碟而非NAS。如有掛載相關問題,請諮詢NAS的支援人員。
遷移實施教程
阿里雲NAS之間的遷移與本地檔案系統(LocalFs)之間的遷移等同,詳細遷移教程可參考LocalFS之間遷移教程。
任務遷移的實際速度受多種因素影響,包含網路、檔案系統本身的效能限制和目錄結構等因素,如網路鏈路長度和時延、NAS服務端讀寫處理速度、檔案是否集中在單個目錄下、來源目錄數量及層級深度、平均檔案大小等。以上步驟計算得到的ECS數量僅供參考,不保證一定能達到期望的遷移速度。
遷移樣本
樣本一:源NAS和目的NAS位於相同的地區和VPC
假設使用者的源NAS執行個體所在地區為cn-beijing,掛載點的VPC網路為vpc-nas,交換器為vsw-nas,源NAS下共有200TB資料量待遷移。目的NAS執行個體所在地區同樣位於cn-beijing,掛載點的VPC網路同樣為vpc-nas,交換器同樣為vsw-nas,檔案系統資料量為0。使用者期望的遷移速度為2Gbps。
需要按照以下步驟操作:
確定代理機器(ECS)的硬體設定,例如確認單機ECS規格為ecs.c7.xlarge,具有4核CPU和8GB記憶體,基礎頻寬3Gbps。
計算每個通道所需的ECS數量:單個通道ECS數量 = 期望遷移速度 ÷ 單機遷移速度 = 2Gbps ÷ 3Gbps = 0.6 ≈ 1台。因此,需要為源NAS和目的NAS各申請1台ECS。
在ECS控制台上,分別為源NAS和目的NAS各申請1台ecs.c7.xlarge規格的ECS。地區選擇為北京,VPC網路和交換器分別選擇vpc-nas和vsw-nas。假設兩台ECS執行個體名稱分別為ECS-1和ECS-2。
以管理員身份登入至ECS-1,並建立/mnt/src/目錄,然後將源NAS掛載至該目錄;隨後以管理員身份登入至ECS-2,並建立/mnt/dest/目錄,將目的NAS掛載至該目錄。
重要務必確保NAS成功掛載到指定目錄,並確保資料移轉期間掛載的有效性。
在北京控制台地區,根據LocalFS之間遷移教程進行遷移。
建立1個源通道。建立1個源代理,網路類型選擇專線/VPN(VPC),並關聯到該源通道。將該代理部署到ECS-1上。
建立1個目的通道。建立1個目的代理,網路類型選擇專線/VPN(VPC),並關聯到該目的通道。將該代理部署到ECS-2上。
為源NAS建立源地址時,關聯到源通道,並選擇源代理。待遷移目錄參數填寫為/mnt/src/。
為目的NAS建立目的地址時,關聯到目的通道,並選擇目的代理。待遷移目錄參數填寫為/mnt/dest/。
使用地址建立任務。
樣本二:源NAS和目的NAS位於同一地區,但屬於不同的VPC
假設使用者的源NAS執行個體所在地區為cn-beijing,掛載點的VPC網路為vpc-nas-1,交換器為vsw-nas-1,源NAS下共有200TB資料量待遷移。目的NAS執行個體所在地區同樣位於cn-beijing,掛載點的VPC網路為vpc-nas-2,交換器為vsw-nas-2,檔案系統資料量為0。使用者期望的遷移速度為2Gbps。
需要按照以下步驟操作:
確認代理機器(ECS)的硬體設定,例如確定單台ECS規格為ecs.c7.xlarge,包括4核CPU和8GB記憶體,基礎頻寬為3Gbps。
計算每個通道所需的ECS數量:單個通道ECS數量 = 期望遷移速度 ÷ 單機遷移速度 = 2Gbps ÷ 3Gbps = 0.6 ≈ 1台。因此,需要為源NAS和目的NAS各申請1台ECS。
在ECS控制台上,需為源NAS申請1台ecs.c7.xlarge規格的ECS,地區選擇北京,VPC網路和交換器分別選擇vpc-nas-1、vsw-nas-1,執行個體命名為ECS-1。同樣地,需為目的NAS申請1台ecs.c7.xlarge規格的ECS,地區選擇北京,VPC網路和交換器分別選擇vpc-nas-2、vsw-nas-2,執行個體命名為ECS-2。
以管理員身份登入ECS-1,建立/mnt/src/目錄,並將源NAS掛載到該目錄;然後以管理員身份登入ECS-2,建立/mnt/dest/目錄,並將目的NAS掛載到該目錄。
重要務必確保NAS成功掛載到指定目錄,並確保資料移轉期間掛載的有效性。
在北京控制台地區,根據LocalFS之間遷移教程進行遷移。
建立1個源通道。建立1個源代理,網路類型選擇專線/VPN(VPC),並關聯到該源通道。將該代理部署到ECS-1上。
建立1個目的通道。建立1個目的代理,網路類型選擇專線/VPN(VPC),並關聯到該目的通道。將該代理部署到ECS-2上。
為源NAS建立源地址時,關聯到源通道,並選擇源代理。待遷移目錄參數填寫為/mnt/src/。
為目的NAS建立目的地址時,關聯到目的通道,並選擇目的代理。待遷移目錄參數填寫為/mnt/dest/。
使用地址建立任務。
樣本三:源NAS和目的NAS位於不同的地區和不同的VPC
假設使用者的源NAS執行個體所在地區為cn-beijing,掛載點的VPC網路為vpc-nas-1,交換器為vsw-nas-1,源NAS下共有200TB資料量待遷移。目的NAS執行個體所在地區位於cn-hangzhou,掛載點的VPC網路為vpc-nas-2,交換器為vsw-nas-2,檔案系統資料量為0。使用者期望的遷移速度為5Gbps。
需要按照以下步驟操作:
由於NAS跨地區,無法直接在北京的ECS上掛載杭州的NAS,需要先通過阿里雲雲企業網實現跨地區掛載訪問,詳見通過雲企業網實現跨帳號跨地區掛載NAS。
確定代理機器(ECS)的硬體設定,例如確認單機ECS規格為ecs.c7.xlarge,具有4核CPU和8GB記憶體,基礎頻寬3Gbps。
計算單個通道所需的ECS數量:單個通道ECS數量 = 期望遷移速度 ÷ 單機遷移速度 = 5Gbps ÷ 3Gbps = 1.6 ≈ 2台。因此,需要為源NAS和目的NAS各申請2台ECS。
在ECS控制台上,為源NAS申請2台ecs.c7.xlarge規格的ECS。地區選擇北京,VPC網路和交換器分別選擇vpc-nas-1、vsw-nas-1,假設執行個體名稱分別為ECS-Src1、ECS-Src2。為目的NAS申請2台ecs.c7.xlarge規格的ECS,地區選擇北京,假設執行個體名稱分別為ECS-Dst1、ECS-Dst2。
以管理員身份依次登入到ECS-Src1、ECS-Src2,並建立/mnt/src/目錄,在該目錄下掛載源NAS;隨後以管理員身份分別登入到ECS-Dst1、ECS-Dst2,建立/mnt/dest/目錄,將目的NAS掛載到該目錄下。
重要務必確保NAS成功掛載到指定目錄,並確保資料移轉期間掛載的有效性。
在北京控制台地區,根據LocalFS之間遷移教程進行遷移。
建立1個源通道。建立2個源代理,網路類型選擇專線/VPN(VPC),並關聯到該源通道。將2個代理分別部署到ECS-Src1、ECS-Src2上。
建立1個目的通道。建立2個目的代理,網路類型選擇專線/VPN(VPC),並關聯到該目的通道。將2個代理分別部署到ECS-Dst1、ECS-Dst2上。
為源NAS建立LocalFS地址時,關聯到源通道,並選擇源代理。待遷移目錄參數填寫為/mnt/src/。
為目的NAS建立目的地址時,關聯到目的通道,並選擇目的代理。待遷移目錄參數填寫為/mnt/dest/。
使用地址建立任務。
遷移常見問題
必須要以管理員身份啟動代理進程
來源資料地址關聯的代理進程需要具有讀取源NAS待遷移目錄下所有檔案和子目錄的許可權,否則將導致讀取失敗,從而導致遷移失敗。
目的資料地址關聯的代理進程應具備對目的NAS待遷移目錄下所有檔案和子目錄的讀寫權限,否則可能導致讀寫失敗,從而引發遷移失敗的情況。
檔案系統的目錄個數(層級)較多,每個(層)目錄所含檔案較少,可能會導致掃描速度變慢的問題,例如:在源NAS總檔案數均為100萬的情況下,若這些檔案分布在50萬個目錄下,其掃描速度將會比分布在1萬個目錄下要慢。
在同一個目錄下平鋪超過20萬個檔案的情況下,由於受限於代理機器的作業系統核心和NAS服務的並發效能限制,可能會導致遷移速度較慢。
單個目錄的體量較大或該目錄正在被修改,可能會導致目錄列舉操作出現卡頓或無響應,從而導致遷移任務進度停滯,解決方案見效能說明FAQ。