Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

大數據量網站遷移實戰:rsync 增量同步將停機時間從小時級壓縮至分鐘級

編輯:關於伺服器

傳統網站遷移需「關站 → 全量複製 → 開站」,對 10GB+ 數據量可能耗費數小時,業務損失巨大。利用 rsync 增量同步 特性,可採用「預同步 + 末次增量」雙階段策略,將實際停機窗口壓縮至 10-30 分鐘。本文詳細實操流程與參數解析。

核心策略:兩階段增量同步

階段時間點操作網站狀態傳輸內容
預同步遷移前 1 天執行 rsync 全量同步正常運行所有檔案 (耗時長但不影響業務)
正式遷移約定維護窗口關站 → 執行 rsync 增量同步 → 換 IP/DNS → 開站停機僅新增/變更檔案 (極快,通常分鐘級)

環境準備

# 兩台主機均需安裝
Debian/Ubuntu: apt-get update && apt-get install -y rsync
CentOS/RHEL: yum install -y rsync

實戰指令 (在新主機執行拉取)

# 基礎語法 (SSH 通道,保留權限/時間戳/符號連結)
rsync -avz -e ssh root@舊主機IP:/來源路徑/ /目的路徑/

# 實例:遷移 /home/www 至新主機同路徑,SSH 端口 60000
rsync -avz -e 'ssh -p 60000' root@192.168.1.100:/home/www/ /home/www/

關鍵參數解析

  • -a (archive): 遞歸 + 保留權限、擁有者、時間戳、符號連結、裝置檔
  • -v (verbose): 顯示傳輸進度與檔案清單
  • -z (compress): 傳輸時壓縮,節省頻寬
  • -e 'ssh -p PORT': 指定非標準 SSH 端口
  • 路徑結尾斜線 /: /來源路徑/ 表示同步目錄內容;若省略則同步目錄本身 (會多一層目錄結構)

進階技巧

  1. 使用 screen/tmux 守護長連線
    screen -S migrate → 執行 rsync → Ctrl+A, D 脫離。斷線重連後 screen -r migrate 恢復。
  2. 排除不需遷移路徑
    --exclude='cache/' --exclude='logs/*.log' --exclude='.git/'
  3. 乾跑模式驗證
    rsync -avzn ... (多加 -n),僅模擬列出將傳輸檔案,不實際寫入。
  4. 限制頻寬避免擠佔業務
    --bwlimit=50000 (單位 KB/s,此例限 50MB/s)。

遷移日實操 SOP

  1. 確認 DNS TTL 已降至 60 秒 (提前 1 天修改)。
  2. 通知業務方進入唯讀/維護模式,關閉寫入服務 (資料庫停寫、緩存清空)。
  3. 新主機執行 第二次 rsync (增量同步)。
  4. 驗證關鍵檔案數量、大小、權限一致:diff -r /舊路徑 /新路徑 或抽樣 md5sum。
  5. 切換 VIP/修改 DNS 解析指向新主機 IP。
  6. 新主機啟動服務,煙霧測試核心功能。
  7. 監控 30 分鐘無異常後宣告遷移完成。

實測 20GB 代碼 + 上傳目錄,預同步 45 分鐘,正式遷移增量同步 僅 3 分 17 秒,停機時間較傳統全量複製縮減 95% 以上。rsync 為大數據遷移利器,建議納入標準運維工具箱。

Copyright © Windows教程網 All Rights Reserved