1. 程式人生 > >初識keepalived(一)——keepalived介紹與安裝

初識keepalived(一)——keepalived介紹與安裝

keepalived

keepalived介紹

keepalived作為高可用集群的一種實現方式,相對於proxy和heartbeat輕量得多,而集群根據實現的功能不同可以分為3種:

1.HA(high available)集群:由一組對外提供相同服務的設備組成,組內每一臺設備故障不會影響到服務的正常提供。

2.LB(load balance)集群:有2個或2個以上的設備分攤用戶請求。

3.HP(high poformance)集群:由一組設備組成,對外提供高計算和存儲性能。

HA和LB的進群於大多場景都有應用,而HP集群除非是計算天氣等場景企業中很少會用到。

keepalived實現方式

keepalived是vrrp(virtual route redundant protocol)協議的軟件實現方式,vrrp協議是為了避免網絡設備成為單點故障而產生的一種協議,其結構如下:

技術分享

2個設備分別在接口上配置地址1和地址2,創建一個vrrp實例,將每個設備上vrrp實例配置段中虛擬路由ID號設為相同,確保2臺設備處於同一vrrp實例中,將地址3配置給該實例對外提供服務,客戶端通過vrrp實例向系統發出請求。地址3同一時間只能在其中1個設備的接口或別名上生效,具體在哪個設備上生效,需要根據

設備上vrrp實例配置段中優先級來決定。這種方案的特點是1臺設備始終處於備機狀態。為了避免1臺設備始終處於備機狀態,於是產生了第2種結構:

技術分享

類似上述方法創建2個vrrp實例,讓使用地址3的實例在地址1服務器上擁有高優先級,而使用地址4的實例在地址2服務器上擁有高優先級,這樣2臺服務器同時工作且互為備份,即雙主模式,通過DNS上添加多條A記錄的方法使客戶端的訪問分散到不同的服務器上。具體到實際場景,還可分為多種情況,後面再做作介紹。

keepalived安裝

keepalive可以直接通過yum進行安裝,安裝過程不再贅述,通過rpm -qc可以看到keepalived服務的2個配置文件

技術分享

keepalived.conf文件由全局配置段、vrrp實例配置段以及virtual_server配置段,其中virtual_server配置段中可以直接定義LVS的規則,定義方法後面再介紹。全局配置段如下圖所示:

技術分享

上圖中紅框的地址設置了收件人和發件人的郵箱地址,router_id是使用字符串給這臺主機做標記,可以使用主機名,下圖是vrrp實例配置段

技術分享

vrrp_instance定義了實例名稱;virtual_router_id使用同一實例的id號必須相同;

priority定義了該主機的優先級;authentication訪問vrrpd的密碼,最大8位,所有主機密碼要相同;virtual_ipaddress對外提供服務的地址。

安裝完成後,找不到keepalived的日誌文件,從/etc/sysconfig/keepalived配置文件中得知keepalived默認使用的是LOG_DAEMON

技術分享

而/etc/rsyslog.conf配置文件中並沒有設置LOG_DAEMON的記錄位置,在rsyslog.conf文件中添加記錄local3的日誌位置,重啟rsyslog服務

技術分享

keepalived配置文件中日誌改為本地設備,再重啟keepalived服務,就能看到日誌了

技術分享

補充說明

keepalived默認工作在搶占模式下,即誰的優先級高,誰成為MASTER。非搶占模式只能配置在BACKUP角色的主機上,配置後即使BACKUP的優先級調高也不會搶奪MASTER角色,不過此處有個特殊情況:如果BACKUP角色配置完nopreempt後再將優先級調至大於MASTER的時候,角色不會發生轉移,但是如果此時MASTER掉線後,再重新上線,盡管BACKUP配置了nopreempt,由於他的優先級比MASTER高,所以除非BACKUP掉線否則不會將MASTER角色還給MASTER主機

技術分享



本文出自 “兔樣兔森破” 博客,請務必保留此出處http://arkling.blog.51cto.com/2844506/1971277

初識keepalived(一)——keepalived介紹與安裝