Linux

在新伺服器上設置 apache + mysql + exim。冗餘/HA/故障轉移?

  • July 24, 2013

我們目前正在將我們的單個 Linux 伺服器移動到其他一些物理 Linux 伺服器,並希望藉此機會擁有更多的故障轉移選項。

備份很好,我們並不“真的”需要高可用性,但是,如果我們正在尋找大約 1 天的時間來更換硬體/從備份中恢復,它開始變得有點太多了。如果存在任何真正嚴重的硬體故障(如果沒有其他等待 DNS 更改的情況),停機一三個小時是“可以的”。

我們目前正在一台機器上為 apache(多個主機名)、mysql 和 exim 執行一堆 KVM 虛擬化映像。那台機器有幾個外部 IP(每個虛擬映像一個),我認為如果出現問題,這將是更大的問題之一。需要聯繫我們的主機(Hetzner)以在硬體故障的情況下將這些 IP 重新配置到不同的伺服器(我們目前有第二台機器,它可以對虛擬機映像進行快照,還有基於文件系統的 rsync-backups的虛擬機)。

我們計劃在 2-3 台可用的物理機(不包括備份)上執行 apache + mysql + exim。

出現硬體故障時,我應該如何設置它以最大限度地減少停機時間?

還是虛擬化?DRDB用於儲存?用於 Web 伺服器的 nginx 代理/HAproxy?不為各種服務使用一堆外部 IP?哈?故障轉移?性能冗餘?

我認為在您的環境中,最大限度地減少停機時間的最佳解決方案如下

  1. 使用故障轉移 ip - http://wiki.hetzner.de/index.php/Failover/en
  2. 創建 2 條指向不同物理伺服器的 MX 記錄
  3. 對於 MySQL,使用主從或主主複製(取決於您的應用程序)
  4. 對於 http 使用 haproxy/nginx

使用此類設置,停機時間將是 10-20 分鐘(在遷移故障轉移 ip 期間)。當然,如果您的唯一一個節點將失敗;)

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