1. 程式人生 > >通過keepalived搭建lvs高可用集群

通過keepalived搭建lvs高可用集群

linux 負載均衡集群 keepalived

1.配置keepalived

Keepalived的配置僅需要一個配置文件即可完成對HA cluster和LVS服務節點監控,在通過Keepalived搭建高可用的LVS集群實例中,主、備Director Server都需要安裝Keepalived軟件,安裝成功後,默認的配置文件路徑(可以通過rpm -ql keepalived查看)是:/etc/keppalived/keeplived.conf。一個完整的keepalived的配置文件由3個部分組成,分別是全局定義部分、vrrp實例定義部分以及虛擬服務定義部分:

! Configuration File for keepalived

global_defs { #全局定義部分

notification_email {

[email protected] #設置報警郵件地址,可設置多個,每行一個。註意,如果

#要開啟郵件報警,需要開啟本機的sendmail服務

[email protected]

}

notification_email_from Keepalived@localhost #設置郵件的發送地址

smtp_server 192.168.200.1 #設置smtp Server地址

smtp_connect_timeout 30 #設置連接smtp Server的超時時間

router_id LVS_DEVEL #表示運行keepalived服務器的一個標識。

#發郵件時顯示在郵件主題中的信息

}


vrrp_instance VI_1 { #vrrp實例定義部分

state MASTER #指定keepalived的角色,Master表示此主機是主服務器,

#BACKUP表示此主機是備用服務器

interface eth0 #指定HA監測網絡的接口

virtual_router_id 51 #虛擬路由標識,這個標識是一個數字,同一個vrrp實例

#使用唯一的標識,即同一個vrrp_instance下,MASTER和BACKUP必須是一致的

priority 100 #定義優先級,數字越大,優先級越高。在一個vrrp_instance下,

#MASTER的優先級必須大於BACKUP的優先級

advert_int 1 #設定MASTER與BACKUP負載均衡器之間同步檢測時間間隔,單位是s

authentication { #設定認證類型和密碼

auth_type PASS #設置驗證類型,主要有PASS和AH兩種

auth_pass 1111 #設置驗證密碼,在一個vrrp_instance下,MASTER和

#BACKUP必須使用相同的密碼才能正常通信

}

virtual_ipaddress { #設置虛擬IP地址,可以設置多個虛擬IP地址,每行一個

192.168.12.200

}

}


virtual_server 192.168.12.200 80 { #設置虛擬服務器,需要指定虛擬IP地址和服

#務端口,IP與端口之間用空格隔開

delay_loop 6 #設置運行情況檢查時間,單位是s

lb_algo rr #設置負載調度算法,這裏設置為rr

lb_kind DR #設置負載均衡的機制,有NAT,DR和TUN三種模式

persistence_timeout #會話保持時間,單位是s。這個對動態網頁是非常有用的,為集群系統中session共享提供了一個很好的解決方案。有了這個會話保持功能,用戶的請求會被一直分發到某個服務節點,直到超過這個會話的保持時間。需要註意的是,這個會話保持時間是最大無響應超時時間,也就是說,用戶在操作動態頁面時,如果在50s內沒有執行任何操作,那麽接下來的操作會被分發到另外的節點,但是如果用戶一直在操作動態頁面,則不受50s的時間限制


protocol TCP #指定轉發協議類型,有TCP和UDP兩種

real_server 192.168.12.132 80 { #配置服務器節點1,需要指定Real Server的真實

#IP和端口,ip和端口之間用空格隔開

weight 3 #配置服務器節點的權限,權值大小用數字表示,數字熱大,權值熱高

TCP_CHECK { #realserver的狀態監測設置部分,單位是s

connect_timeout 3 #表示3s無響應超時

nb_get_retry 3 #表示重試的次數

delay_before_retry 3 #表示重試間隔

}

}

real_server 192.168.12.132 80 { #配置服務器節點2,需要指定Real Server的真實

#IP和端口,ip和端口之間用空格隔開

weight 3 #配置服務器節點的權限,權值大小用數字表示,數字熱大,權值熱高

TCP_CHECK { #realserver的狀態監測設置部分,單位是s

connect_timeout 3 #表示3s無響應超時

nb_get_retry 3 #表示重試的次數

delay_before_retry 3 #表示重試間隔

}

}

}


配置keepalived時,需要特別註意配置文件的語法格式,因為keepalived的啟動時並不監測配置文件的正確性,即使沒有配置文件,keepalived也照樣啟動。

在默認情況下,keepalived在啟動時會查找/etc/Keepalived/Keepalived.conf配置文件。如果配置文件放置在其他路徑下,可以通過keepalived -f參數指定配置文件路徑。

keepalived.conf配置完畢後,將此文件復制到備用Director Server對應的路徑洗,然後進行以下兩個簡單的修改即可:

將“state MASTER”更改為“state BACKUP”。

將“priority 100”更改一個較小的值,這裏改為“priority 80”。



2.配置Real Server節點

與heartbeat+LVS類似,Keepalived+LVS也需要為Real server節點配置相關的腳本,以達到與Director Server相互通信的目的。



3.啟動Keepalived+LVS集群系統

在主、備Director Server上分別啟動Keepalived服務,可以執行如下操作:

/etc/init.d/keepalived start

接著在兩個Real Server上執行如下腳本:

/etc/init.d/lvsrs start


本文出自 “夜色” 博客,請務必保留此出處http://liuqun.blog.51cto.com/3544993/1983272

通過keepalived搭建lvs高可用集群