同賬號不同資源池文件系統之間的遷移
更新時間 2024-02-01 11:43:02
最近更新時間: 2024-02-01 11:43:02
分享文章
本文主要介紹基于天翼云彈性文件服務,如何在同賬號不同資源池之間實現彈性文件系統之間的數據遷移。
應用場景
本文適用于同賬號不同資源池文件系統之間的數據遷移。例如當您需要將業務從A省遷移至B省的資源池,以提高訪問效率。本文以北京5資源池和上海7資源池鐘Linux云主機為背景,提供操作指導。
前提條件
- 已擁有兩個NFS協議的彈性文件系統;
- 準備一臺與源文件系統在同一VPC網絡下的彈性云主機和一臺與目標文件系統在同一VPC網絡下的彈性云主機,并為這兩臺彈性云主機配置彈性IP,以實現基于公網的數據遷移。
兩個資源池的文件系統分別作為源文件系統和目標文件系統,源文件系統指含業務數據的源文件系統,目標文件系統指即將投入使用的新文件系統。
準備工作
- 北京5資源池和上海7資源池分別創建一個文件系統和一臺彈性云主機,具體操作請參考創建文件系統、創建彈性云主機。
- 將不同資源池中的文件系統分別掛載至對應資源池的彈性云主機上,具體操作請參考掛載NFS文件系統到彈性云主機 (Linux)。
操作步驟
不同資源池的兩個彈性文件系統之間的數據遷移可以分為幾個關鍵步驟: 掛載文件系統 > 安裝遷移工具 >遷移存量數據> 遷移增量數據源> 遷移結果檢查 。具體操作步驟如下:
- 將兩個資源池的彈性文件系統分別掛載到對應云主機
將彈性文件系統掛載至云主機中,這里設定上海7為源文件系統,將其掛載到同一資源池彈性云主機的“/mnt/localpath/”目錄上,北京5為目標文件系統,同樣將其掛載到同一資源池的彈性云主機的 “/mnt/localpath/”目錄上。
- 安裝遷移工具
執行以下命令安裝rsync命令工具:
yum install -y rsync
- 遷移存量數據
執行以下命令,將上海7彈性文件系統中的數據遷移到北京5中:
rsync -avP /mnt/localpath/ root@IP:/mnt/localpath/

我們還可以利用rsync并發拷貝遷移數據,由于并發操作,每個ssh連接操作均要求輸入密碼,因此在并發遷移數據過程中會要求多次輸入密碼,這里我們配置無需密碼通過ssh執行rsync來遷移文件。在上海7中的彈性云主機中執行 ssh-keygen命令生成密鑰,之后使用ssh-copy-id將公鑰拷貝至北京5的彈性云主機,執行以下命令:
ssh-keygenssh-copy-id -i ~/.ssh/id_rsa.pub IP![]()
執行以下命令,實現并發數據遷移:
threads=<線程數量>;
src=<源路徑/>;
dest=<目標路徑/>;
rsync -av -f"+ */" -f"- *" $src $dest && (cd $src && find . -type f | xargs -n1 -P$threads -I% rsync -av % $dest/% )

- 遷移增量數據
執行以下命令,實現增量數據的遷移:
rsync -avP --delete /mnt/localpath/ root@IP:/mnt/localpath/

- 檢查遷移結果
在完成數據遷移后,執行以下命令:
rsync -rvn /mnt/localpath/ root@IP:/mnt/localpath/

如果源文件系統與目標文件系統數據一致,則應顯示上面信息,中間不包含任何文件路徑。