① linux伺服器雙機熱備詳細過程
通常說的雙機熱備是指兩台機器都在運行,但並不是兩台機器都同時在提供服務。
當提供服務的一台出現故障的時候,另外一台會馬上自動接管並且提供服務,而且切換的時間非常短。
下面來以keepalived結合tomcat來實現一個web伺服器的雙機熱備過程:
keepalived的工作原理是VRRP虛擬路由冗餘協議。
在VRRP中有兩組重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器。
VRRP路由器是指運行VRRP的路由器,是物理實體,虛擬路由器是指VRRP協議創建的,是邏輯概念。一組VRRP路由器協同工作,共同構成一台虛擬路由器。Vrrp中存在著一種選舉機制,用以選出提供服務的路由即主控路由,其他的則成了備份路由。
當主控路由失效後,備份路由中會重新選舉出一個主控路由,來繼續工作,來保障不間斷服務。
兩台物理伺服器和一個虛擬伺服器(vip):master:redhat2.6.18-53.el5192.168.8.4;backup:redhat2.6.18-53.el5192.168.8.6;vip:192.168.8.100。
節點A192.168.8.4(主節點),節點B192.168.8.6(備用節點),虛擬IP(對外提供服務的IP192.168.8.100)
在這種模式下,虛擬IP在某時刻只能屬於某一個節點,另一個節點作為備用節點存在。
當主節點不可用時,備用節點接管虛擬IP(即虛擬IP漂移至節點B),提供正常服務。
keepalived的原理可以這樣簡單理解:
keepalived安裝在兩台物理伺服器上,並相互監控對方是否在正常運行。
當節點A正常的時候:節點A上的keepalived會將下面的信息廣播出去:
192.168.8.100這個IP對應的MAC地址為節點A網卡的MAC地址
其它電腦如客戶端和NodeB會更新自己的ARP表,對應192.168.8.100的MAC地址=節點A網卡的MAC地址。
當節點A發生故障的時候,節點B上的keepalived會檢測到,並且將下面的信息廣播出去:
192.168.8.100這個IP對應的MAC地址為節點B網卡的MAC地址
其它電腦如客戶端會更新自己的ARP表,對應192.168.8.100的MAC地址=節點B網卡的MAC地址。
(1)ds5020linux擴展閱讀:
雙機熱備特指基於active/standby方式的伺服器熱備。伺服器數據包括資料庫數據同時往兩台或多台伺服器執行寫操作,或者使用一個共享的存儲設備。在同一時間內只有一台伺服器運行。
當其中運行著的一台伺服器出現故障無法啟動時,另一台備份伺服器會通過軟體診測(一般是通過心跳診斷)將standby機器激活,保證應用在短時間內完全恢復正常使用。
Keepalived的運行原理是基於VRRP(虛擬路由冗餘協議)機制,在VRRP中有兩個重要的概念:VRRP路由器和虛擬路由器,主控路由器和備份路由器。
VRRP路由器是一種實體路由器設備,而虛擬路由器則是基於VRRP協議構建的虛擬路由器,是軟性的虛擬概念,一組VRRP路由器協同工作,共同構造一台虛擬伺服器。
VRRP協議支持一種選舉機制,主要用來選出用來提供服務的路由即主控路由,其它的就是備份路由了,當主控路由失效之後,備份路由中重新選出一個主控路由(往往按照設置好的優先順序別重新分配),接管主控服務,繼續工作,來保證不間斷的提供服務。