Ip

重新 IP/遷移伺服器和應用程序的最佳實踐

  • November 6, 2019

其中一些問題是高度特定於應用程序的,但是當您希望將應用程序從一個伺服器/平台遷移到另一個伺服器/平台以及將伺服器從一個網段遷移到另一個時,您會採用什麼方法?

對於無法重新 IP 的應用程序(許多存在於此類別中),一般的答案是 nuke 和鋪平(或擴展可集群的應用程序,然後刪除需要“移動”的段)。

對於“正常”應用程序(httpd、郵件、目錄服務等),您在移動之前、期間和之後執行哪些檢查以確保遷移的應用程序/伺服器的健康?

以 Apache 為例:

  1. 備份 httpd conf 目錄
  2. 更改 httpd conf 文件以使用伺服器的新 IP 地址
  3. 更改(或添加)伺服器 IP
  4. 更新 DNS 條目
  5. 重啟阿帕奇
  6. 驗證 Web 伺服器仍然提供頁面
  7. 重啟伺服器
  8. 驗證環境恢復健康

我只需要做大約 4-5 個大的重新編號項目,所以用一桶鹽來處理所有這些:)

我總是從目前環境的重新啟動測試開始:如果您不能將其全部關閉並在工作順序中重新備份,那麼遷移是一個白日夢。

重啟測試之後是一個廣泛的防火牆審核(假設您的網路被劃分並且所有內容都不在同一個網段/子網上):找出哪些伺服器需要相互通信,並確保您徹底了解防火牆規則讓這種交流發生。

防火牆審計還應包括諸如 NAT/雙向 NAT/埠映射之類的內容(針對諸如可公開訪問的郵件/Web 伺服器之類的內容)。

通過防火牆審核和對您環境的充分了解,您可以為新 IP 空間提出新的防火牆規則。如果您要遷移的環境已經持續了一段時間,您可能還會發現(並關閉)多年來潛入的一堆漏洞。


對於遷移單個應用程序(和作業系統配置),您的 Apache 範例可以很好地概括。正如我可以做到的那樣,與作業系統/應用程序無關:

  1. 將您要接觸的所有內容(配置文件、DNS 等)備份到離線儲存。
    (如果您不確定要觸及什麼,請完整備份整個該死的環境!)
  2. 更新防火牆規則。
  3. 更新名稱服務(DNS、NIS/etc/hosts等)。
    如果您不使用 DNS,現在可能是部署它的好時機…
  4. 編輯系統配置文件(不要忘記 resolv.conf 之類的文件)
    (在編輯之前為每個文件製作一個本地副本,以防萬一搞砸了,特別是如果你忽略了上面的#2!)
  5. 編輯應用程序配置文件,注意事項與 #3 相同
    (Postgres 站點特別注意 IP 限制pg_hba.conf
  6. 至少重新啟動機器一次,以確保它在重新啟動後仍然存在。
  7. 遷移所有內容後,將環境關閉並再次備份
    (包括防火牆-以防萬一您錯過了#5中的某些內容)

作為一般順序,我首先遷移網路內容(交換機/路由器/fw 配置),然後是名稱服務 (DNS) 和身份驗證/授權(LDAP、NIS、AD 等),然後是“按照應有順序的所有其他內容在重新啟動期間啟動”,這通常效果很好。

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