Domain-Name-System

遷移實時伺服器

  • April 14, 2011

我遇到了麻煩,我有一個正在執行的伺服器,具有常用服務(httpd、mail、sql),看起來我必須非常快才能防止數據失去(我的 RAID 陣列失敗,所以我依賴於一個現在硬碟)。

整個系統建立在 HowtoForge 的 howto 上,當我閱讀Squeeze 上的那個時,看起來我可以*輕鬆做到?*將我的(虛擬)使用者遷移到新盒子上。

我真的知道這是一個非常具體的問題,但你能告訴我整個遷移過程中的一些要點嗎?哪些事情可能很棘手,我最多需要關注哪些地方?你將如何開始這個過程?

一些背景資料:

  • 兩台伺服器相距200公里,所以遷移應該通過網際網路進行
  • 兩台伺服器都是 Debian,舊的是 Etch,新的是 Squeeze
  • 關鍵服務是郵件,網站可以暫停一段時間
  • RAID 表示 RAID 1 中的兩個磁碟(都是機器)
  • 舊框是所有託管域的 DNS1

我的(真正的)基本大綱:

  • 建立一個與舊系統類似的系統(類似的虛擬郵件結構,以相同加密類型儲存的密碼,因為我無法告訴舊系統)
  • 創建一個我可以檢查一切正常的域(dns、電子郵件、www 都可以)
  • 逐個域遷移域,直到舊域無所事事

我的盲點:

  • 找不到有關如何在 Squeeze 上執行 RAID-1 的簡要說明(Lenny howto 就足夠了嗎?)
  • 如何在需要時複製具有特定使用者權限的特定文件夾*(例如使用者的郵件文件夾)*?(rsync 會這樣做嗎?)
  • 如何在新機器上設置DNS (舊機器是DNS1)(新機器也應該是DNS,遷移的域應該使用自己作為DNS1?)
  • 如何防止電子郵件失去*(由於 DNS 刷新時間)*(我需要將新機器設置為 MX?)

你的基本大綱或多或少是正確的。

擠壓安裝程序將做一個軟體 RAID 就好了。不同之處在於,squeeze 預設使用 grub2;lenny 使用了 grub-legacy(我認為是 0.9)。這使得一些 grub 管理有些不同,特別是在確保 grub 會在發生故障時從兩個磁碟引導方面。你總是可以恢復到 grub-legacy,這是我上次遇到這個問題時所做的。不過,測試您正在做的任何事情都是值得的,以確保如果任一磁碟出現故障,您可以重新啟動。

要複製數據,請確保使用 rsync。我會確保首先設置正確的帳戶,使用相同的 uids/gids,然後是 rsync,但之後您總是可以解決這個問題。rsync -avPHAX 應該得到所有東西(-a 得到大多數東西,除了 -H

$$ ard links $$-一種$$ CLs $$和 -X$$ tended attributes $$,所以這很有用。 鑑於您正在同時進行有效升級,請為服務以微妙的方式中斷做好準備。配置會略有變化。最近做了類似的事情,我想我更願意做一個like->like遷移,然後在事後的某個時候升級最終的主機,因為同時遷移所有東西和管理升級使它成為一項艱鉅的任務。

針對您的其他痛點進行了更新:

對於 DNS,我會一步將所有 DNS託管移動到新機器上。讓記錄保持原樣,但將刷新設置為向下(10 分鐘左右)。這使您能夠在完成每個域的移動時將 DNS 記錄移動到新機器上。移動您的 DNS 可能需要更新您託管的任何域的 whois 記錄,因此請記住這一點。實際上,在您開始其他任何事情之前,立即為所有域設置刷新 - 沒有比記憶體嚴重導致問題的結果更糟糕的了。

關於電子郵件失去:當您將郵件移動到新伺服器時,請確保已更新 DNS 記錄以將主 MX 指向新伺服器,並確保舊伺服器仍配置為允許為您的域進行中繼。只要您的舊伺服器和新伺服器都擁有最新的 DNS 視圖,您在舊伺服器上的郵件服務將不再是主 MX,並將任何電子郵件轉發到新的主伺服器。郵件還將處理短暫的傳遞延遲 - 因此您可以關閉或防火牆對兩台機器的所有電子郵件訪問,一次移動所有內容,在新機器上測試它,然後移動 MX 記錄並在新機器上打開郵件. SMTP 旨在處理中斷,任何合理短的中斷(我認為少於 4 小時)甚至都不會生成臨時錯誤通知。

更新添加:

另一種可能性是在您的新伺服器上創建一個 VM,並將整個舊伺服器重新同步到這個新 VM 的磁碟映像中。然後,您可以啟動 VM 並更新 IP 地址等,並在此 VM 內擁有原始伺服器的完整工作副本。可能會少很多努力,但如果您不熟悉 KVM 或 Virtualbox 等 VM 堆棧,那麼可能不值得。

引用自:https://serverfault.com/questions/259523