將檔案從一個SMB Azure檔案共用移轉至另一個
本文說明如何在 SMB Azure 檔案共享之間移轉檔案。 其中一個常見的原因是,如果您需要從標準檔案共用移轉至進階檔案共用,以提升應用程式工作負載的效能。
警告
如果您使用 Azure 檔案同步,移轉流程與本文所述不同。 相反地,請參閱使用 Azure 檔案同步時,將檔案從一個 Azure 檔案共用移轉至另一個檔案共用。
適用於
檔案共用類型 | SMB | NFS |
---|---|---|
標準檔案共用 (GPv2)、LRS/ZRS | ![]() |
![]() |
標準檔案共用 (GPv2)、GRS/GZRS | ![]() |
![]() |
進階檔案共用 (FileStorage)、LRS/ZRS | ![]() |
![]() |
使用 Robocopy 移轉
請遵循下列步驟,使用 Robocopy 進行移轉,這是 Windows 內建的命令行檔案複製公用程式。
在與來源檔案共用相同的區域中,在 Azure 中部署 Windows 虛擬機器 (VM)。 在 Azure 中保留資料和網路功能將會很快,並避免輸出資料傳輸費用。 為了獲得最佳效能,建議使用至少 56 GiB 記憶體的多核心 VM 類型,例如 Standard_DS5_v2。
將來源和目標檔案共享同時掛接至 VM。 請務必使用儲存體帳戶金鑰加以掛接,以確保 VM 能夠存取所有檔案。 請勿使用網域身分識別。
在 Windows 命令提示字元中執行此命令。 您可以選擇性地將記錄功能的旗標納入最佳做法 (/NP、/NFL、/NDL、/UNILOG)。
robocopy <source> <target> /MIR /COPYALL /MT:16 /R:2 /W:1 /B /IT /DCOPY:DAT
如果您的來源共用已掛接為 s:\ 且目標為 t:\ ,則命令看起來會像這樣:
robocopy s:\ t:\ /MIR /COPYALL /MT:16 /R:2 /W:1 /B /IT /DCOPY:DAT
您可以在來源仍在線上時執行命令,但請注意,任何 I/O 都會針對現有共用的節流限制運作。
初始執行完成之後,請中斷應用程式與現有共用的連線,然後再次執行相同的 robocopy 命令。 這會複製自初始執行以來所發生的所有變更,略過已複製的任何檔案資料。
第二次完成命令之後,您可以將應用程式重新導向至新的共用。