lvs+keepalived是什么?
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)與策劃設(shè)計(jì),石家莊網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:石家莊等地區(qū)。石家莊做網(wǎng)站價(jià)格咨詢:13518219792keepalived工作原理
keepalived是集群管理中保證集群高可用的一個(gè)服務(wù)軟件,其功能類似于heartbeat,用來防止單點(diǎn)故障。 keepalived是以VRRP協(xié)議為實(shí)現(xiàn)基礎(chǔ)的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協(xié)議。 虛擬路由冗余協(xié)議,可以認(rèn)為是實(shí)現(xiàn)路由器高可用的協(xié)議,即將N臺(tái)提供相同功能的路由器組成一個(gè)路由器組,這個(gè)組里面有一個(gè)master和多個(gè)backup,master上面有一個(gè)對(duì)外提供服務(wù)的vip(該路由器所在局域網(wǎng)內(nèi)其他機(jī)器的默認(rèn)路由為該vip),master會(huì)發(fā)組播,當(dāng)backup收不到vrrp包時(shí)就認(rèn)為master宕掉了,這時(shí)就需要根據(jù)VRRP的優(yōu)先級(jí)來選舉一個(gè)backup當(dāng)master。這樣的話就可以保證路由器的高可用了。
LVS簡介
LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務(wù)器,是一個(gè)虛擬的服務(wù)器集群系統(tǒng)。本項(xiàng)目在1998年5月由章文嵩博士成立,是中國國內(nèi)最早出現(xiàn)的自由軟件項(xiàng)目之一。目前有三種IP負(fù)載均衡技術(shù)(VS/NAT、VS/TUN和VS/DR),十種調(diào)度算法。
本文重點(diǎn)給大家介紹Linux利用keepalived實(shí)現(xiàn)lvs的高可用性的操作方法,感興趣的朋友參考下吧。
單主模型IPVS示例
配置keepalive
高可用的ipvs集群示例:修改keepalived配置文件
修改主機(jī):192.168.234.27的keepalived配置文件
[root@234c27 ~]# vim /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { root@localhost //接受郵件地址 } notification_email_from keepalived@localhost //發(fā)送郵件地址 smtp_server 127.0.0.1 //發(fā)送郵件服務(wù)器IP smtp_connect_timeout 30 //郵件連接超時(shí)時(shí)長 router_id kptwo //路由id vrrp _mcast_group4 234.10.10.10 //指定vrrp協(xié)議的多播地址 } vrrp_instance VI_1 { //vrrp協(xié)議的 state MASTER //lvs的MASTER服務(wù)器 interface ens37 // virtual_router_id 50 //虛擬路由 priority 100 //權(quán)重為100.越大越先 advert_int 1 //發(fā)送組博包的間隔 authentication { //驗(yàn)證 auth_type PASS //方式為pass( 明文) auth_pass 1111 //密碼 } virtual_ipaddress { //keepalived虛擬ip 10.0.0.100/24 } } virtual_server 10.0.0.100 80 { delay_loop 6 //檢查后端服務(wù)器的時(shí)間間隔 lb_algo wrr //定義調(diào)度方法 lb_kind DR //集群的類型 #persistence_timeout 50 //持久連接時(shí)長 protocol TCP //服務(wù)協(xié)議,僅支持TCP real_server 192.168.234.47 80 { //后端real_server服務(wù)器地址 weight 1 //權(quán)重 HTTP_GET { //應(yīng)用層檢測 url { path / //定義要監(jiān)控的URL status_code 200 //判斷上述檢測機(jī)制為健康狀態(tài)的響應(yīng)碼 } connect_timeout 3 //連接請求的超時(shí)時(shí)長 nb_get_retry 3 //重試次數(shù) delay_before_retry 3 //重試之前的延遲時(shí)長 } } real_server 192.168.234.57 80 { weight 2 HTTP_GET { url { path / status_code 200 } connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }