Robocopy進行大量遷移

2022-06-23 17:27:16 字數 2006 閱讀 1772

建議使用 windows server 2012 r2 或 windows server 2012 隨附的 robocopy.exe 版本。

即然官方建議我們用2012或2012r2所帶的robocopy,所以選它來做這次遷移的工具!

我現在需要的將一臺2008r2伺服器上,近2t的資料遷移到一臺全新的2012r2機器上,依之前的測試,在1g 的網路環境中,平均遷移速度可以達到每分鐘3g 左右,最高可以到達4g,所以,估計完成這次遷移大約需要8-12小時,剛才可以利用週末晚上完遷移!

確定好時間,通知使用者後,開始進行!

首先,為確保遷移過程中,不會有檔案更新、寫入,需將2008r2舊檔案伺服器上需要遷移的共享目錄中的共享許可權設定為只讀

切換到2012r2新檔案伺服器,進到命令提示下,可以用robocopy /? 檢視詳細引數,有興趣的可以每個引數去仔細研究!如下圖:

常用引數:

源 :: 源目錄(驅動器:\路徑或\\伺服器\共享\路徑)。

目標 :: 目標目錄(驅動器:\路徑或\\伺服器\共享\路徑)。

/s :: 複製子目錄,但不復制空的子目錄。

/e :: 複製子目錄,包括空的子目錄。

/copy:複製標記:: 要複製的檔案內容(預設為 /copy:dat)。

(複製標記: d=資料,a=屬性,t=時間戳)。

(s=安全=ntfs acl,o=所有者資訊,u=稽核資訊)。

/sec :: 複製具有安全性的檔案(等同於 /copy:dats)

/copyall :: 複製所有檔案資訊(等同於 /copy:datsou)

/mt[:n] :: 使用 n 個執行緒進行多執行緒複製(預設值為 8)

n 必須至少為 1,但不得大於 128。

該選項與 /ipg 和 /efsraw 選項不相容。

使用 /log 選項重定向輸出以便獲得最佳效能。

/r:n :: 失敗副本的重試次數: 預設為 1 百萬。

在本次遷移中,因為完全需要檔案伺服器,包換所有檔案、目錄、許可權等,所以使用如下參考:

robocopy \\2008r2\e$\share e:\share /e /copyall /mt:20 /r:3 /log:e:\log\share.log

\\2008r2\e$\share源目錄,即舊2008r2伺服器上的目錄,也可以直接使用共享,

e:\share目標目錄,即新的2012r2伺服器上的目錄。

/e複製子目錄,包括空的子目錄。

/copyall複製所有檔案資訊(包括資料、屬性、時間戳、安全、所有者、稽核資訊等)

/mt:20使用 20 個執行緒進行多執行緒複製

/r:3失敗副本的重試3次數,由於 預設為 1 百萬,如果碰到無法複製的檔案,複試1百萬次的話,估計得幾天時間,所以建議修改

/log:e:\log\share.log將複製結果記錄到日誌檔案,以便檢視錯誤或是失敗的資訊

以上命令後,就是慢長的等待了!

結束後,開啟log檔案,可以看到所有複製的檔案目錄、大小等資訊:

最後會有彙總,總共檔案、目錄數量、大小、時間等資訊!

用以上方法,完成另個幾個共享目錄的複製,然後再停用舊伺服器上的共享、啟用新伺服器上的共享,總共2tb,總共用時約8小時!