將 Linux 伺服器移至另一個主機

將 Linux 伺服器移至另一個主機

我有一個任務將 Linux 伺服器從一台專用伺服器移動到另一台。

總的來說我的計劃如下:

  1. 晚上 - 關閉 httpd 和 mysql。透過 SSH 進行 RSYNC。
  2. 白天 - 開啟 http 和 mysql。
  3. 晚上關掉httpd和mysql。透過 SSH 進行 RSYNC。
  4. 晚上的時間。在兩台伺服器上開啟 httpd 和 mysql。更改 DNS 條目。
  5. 白天時間。監控伺服器狀態。

所以大多數情況下,為了同步 mysql 和 httpd,我會使用 rsync(沒有 mysqldump)。

聽起來不錯?有什麼注意事項嗎?

答案1

我建議兩種解決方案。就我個人而言,我更喜歡邏輯克隆方法,因為它可以在更少的停機時間內完成,並且資料庫複製是一種出於其他原因而獲得的通用功能。但是,精確克隆方法與您提出的方法類似,是一種用於遷移任何伺服器的通用強力方法。

精確複製

  1. 減少 DNS 項目的 TTL,讓您的生活更輕鬆。
  2. rsync 來源到目標。您甚至不必關閉來源上的服務;任何不一致的地方都將在步驟 (4) 和 (7) 中修復。
  3. 或者,您可以對新伺服器執行一些測試。找出需要在目標伺服器上進行哪些設定變更才能正常運作。您甚至可能需要重新啟動目標電腦以確保一切正常。
  4. 再次將來源同步到目標,撤銷對 (3) 中引入的新伺服器的任何“損壞”,找出更多差異,並了解運行增量 rsync 需要多長時間(這是預期停機時間的指標)。
  5. 關閉兩台機器上的所有服務。確保來源機器上的服務處於關閉狀態;您不希望出現新舊機器上資料不同的「裂腦」。
  6. 更改您的 DNS 項目。假設您不打算回滾,您可以對新條目使用正常的 TTL。
  7. 再次將來源同步到目標。
  8. 在目標電腦上套用您需要的任何設定更改,如步驟 (3) 中發現的那樣。
  9. 在目標機器上啟動服務。

邏輯克隆

查看設定MySQL複製。如果您尚未在 MySQL 伺服器上啟用二進位日誌記錄,則必須短暫還原資料庫才能啟用它。無論如何,我強烈建議啟用二進位日誌記錄,因為它對於執行未來操作(例如昇級 MySQL)非常方便,而且停機時間幾乎為零。

如果你設定了循環複製,如果 MySQL 是您應用程式的唯一資料存儲,您甚至可以同時執行新舊 Web 伺服器。

相關內容