国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Linux服務器 > 正文

Linux利用keepalived實現lvs的高可用性的操作方法

2024-09-05 23:04:59
字體:
來源:轉載
供稿:網友

lvs+keepalived是什么?

keepalived工作原理

keepalived是集群管理中保證集群高可用的一個服務軟件,其功能類似于heartbeat,用來防止單點故障。 keepalived是以VRRP協議為實現基礎的,VRRP全稱Virtual Router Redundancy Protocol,即虛擬路由冗余協議。 虛擬路由冗余協議,可以認為是實現路由器高可用的協議,即將N臺提供相同功能的路由器組成一個路由器組,這個組里面有一個master和多個backup,master上面有一個對外提供服務的vip(該路由器所在局域網內其他機器的默認路由為該vip),master會發組播,當backup收不到vrrp包時就認為master宕掉了,這時就需要根據VRRP的優先級來選舉一個backup當master。這樣的話就可以保證路由器的高可用了。

 LVS簡介

LVS是Linux Virtual Server的簡寫,意即Linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。目前有三種IP負載均衡技術(VS/NAT、VS/TUN和VS/DR),十種調度算法。

本文重點給大家介紹Linux利用keepalived實現lvs的高可用性的操作方法,感興趣的朋友參考下吧。

Linux,keepalived,lvs,高可用性

單主模型IPVS示例

配置keepalive

高可用的ipvs集群示例:修改keepalived配置文件

修改主機:192.168.234.27的keepalived配置文件

[root@234c27 ~]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {notification_email {root@localhost //接受郵件地址}notification_email_from keepalived@localhost //發送郵件地址smtp_server 127.0.0.1 //發送郵件服務器IPsmtp_connect_timeout 30 //郵件連接超時時長router_id kptwo //路由idvrrp _mcast_group4 234.10.10.10 //指定vrrp協議的多播地址}vrrp_instance VI_1 { //vrrp協議的state MASTER //lvs的MASTER服務器interface ens37 //virtual_router_id 50 //虛擬路由priority 100 //權重為100.越大越先advert_int 1 //發送組博包的間隔authentication { //驗證auth_type PASS //方式為pass( 明文)auth_pass 1111 //密碼}virtual_ipaddress { //keepalived虛擬ip10.0.0.100/24}}virtual_server 10.0.0.100 80 { delay_loop 6 //檢查后端服務器的時間間隔 lb_algo wrr //定義調度方法 lb_kind DR //集群的類型 #persistence_timeout 50 //持久連接時長 protocol TCP //服務協議,僅支持TCP real_server 192.168.234.47 80 { //后端real_server服務器地址  weight 1 //權重  HTTP_GET { //應用層檢測   url {    path / //定義要監控的URL    status_code 200 //判斷上述檢測機制為健康狀態的響應碼   }   connect_timeout 3 //連接請求的超時時長   nb_get_retry 3 //重試次數   delay_before_retry 3 //重試之前的延遲時長  } } 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  } }}

修改主機:192.168.234.37的keepalived配置文件

[root@234c37 ~]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs { notification_email {  root@localhost } notification_email_from keepalived@localhost smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id kptwo vrrp _mcast_group4 234.10.10.10}vrrp_instance VI_1 { state BACKUP interface ens37 virtual_router_id 50 priority 80 advert_int 1 authentication {  auth_type PASS  auth_pass 1111 } virtual_ipaddress {  10.0.0.100/24 }}virtual_server 10.0.0.100 80 { delay_loop 6 lb_algo wrr lb_kind DR #persistence_timeout 50 protocol TCP sorry_server 127.0.0.1:80 real_server 192.168.234.47 80 {  weight 1  HTTP_GET {   url {    path /    status_code 200   }   connect_timeout 3   nb_get_retry 3   delay_before_retry 3  } } 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  } }}

查看keepalived

[root@234c37 ~]# systemctl status keepalived● keepalived.service - LVS and VRRP High Availability Monitor Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled) Active: inactive (dead)…………[root@234c37 ~]# ipvsadm -LnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port   Forward Weight ActiveConn InActConn//暫無ipvsadm

啟動服務

Linux,keepalived,lvs,高可用性

[root@234c27 keepalived]# systemctl start keepalived.service[root@234c27 keepalived]# systemctl status keepalived.service● keepalived.service - LVS and VRRP High Availability Monitor Loaded: loaded (/usr/lib/systemd/system/keepalived.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2018-08-31 20:30:02 CST; 12s ago Process: 9657 ExecStart=/usr/sbin/keepalived $KEEPALIVED_OPTIONS (code=exited, status=0/SUCCESS) Main PID: 9658 (keepalived)………………[root@234c27 keepalived]# ipvsadm -LnIP Virtual Server version 1.2.1 (size=4096)Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port   Forward Weight ActiveConn InActConnTCP 10.0.0.100:80 wrr -> 192.168.234.47:80   Route 1  0   0 -> 192.168.234.57:80   Route 2  0   0//啟動服務lvs vs已配置好

后端real_server準備

增加ip在網卡上 修改限制arp通告及應答級別 rs1 rs2都做,網關并指向路由

ip a a 10.0.0.100/32 dev ens37echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignoreecho 1 > /proc/sys/net/ipv4/conf/lo/arp_ignoreecho 2 > /proc/sys/net/ipv4/conf/all/arp_announceecho 2 > /proc/sys/net/ipv4/conf/lo/arp_announceroute add default gw 192.168.234.17

安裝httpd服務 寫好網頁文件

啟動服務

image

多主模型IPVS示例

Linux,keepalived,lvs,高可用性

配置keepalive

高可用的ipvs集群示例:修改keepalived配置文件

修改主機:192.168.234.27的keepalived配置文件

 

[root@234c27 keepalived]# vim /etc/keepalived/keepalived.confglobal_defs {  notification_email {   root@localhost  }  notification_email_from keepalived@localhost  smtp_server 127.0.0.1  smtp_connect_timeout 30  router_id kpone  vrrp _mcast_group4 234.10.10.10}vrrp_instance VI_1 {  state MASTER  interface ens37  virtual_router_id 50  priority 100  advert_int 1  authentication {    auth_type PASS    auth_pass 1111  }  virtual_ipaddress {    10.0.0.100/24  }}vrrp_instance VI_2 {  state BACKUP  interface ens37  virtual_router_id 51  priority 80  advert_int 1  authentication {    auth_type PASS    auth_pass 2222  }  virtual_ipaddress {    10.0.0.200/24  }}virtual_server 10.0.0.100 80 {  delay_loop 6  lb_algo wrr  lb_kind DR  #persistence_timeout 50  protocol TCP  #sorry_server 127.0.0.1:80  real_server 192.168.234.47 80 {    weight 1    HTTP_GET {      url {       path /       status_code 200      }      connect_timeout 3      nb_get_retry 3      delay_before_retry 3    }  }}virtual_server 10.0.0.200 80 {  delay_loop 6  lb_algo wrr  lb_kind DR  #persistence_timeout 50  protocol TCP  #sorry_server 127.0.0.1:80  real_server 192.168.234.57 80 {    weight 1    HTTP_GET {      url {       path /       status_code 200      }      connect_timeout 3      nb_get_retry 3      delay_before_retry 3    }  }}

修改主機:192.168.234.37的keepalived配置文件

[root@234c37 ~]# vim /etc/keepalived/keepalived.conf! Configuration File for keepalivedglobal_defs {  notification_email {   root@localhost  }  notification_email_from keepalived@localhost  smtp_server 127.0.0.1  smtp_connect_timeout 30  router_id kptwo  vrrp _mcast_group4 234.10.10.10}vrrp_instance VI_1 {  state BACKUP  interface ens37  virtual_router_id 50  priority 80  advert_int 1  authentication {    auth_type PASS    auth_pass 1111  }  virtual_ipaddress {    10.0.0.100/24  }}vrrp_instance VI_2 {  state MASTER  interface ens37  virtual_router_id 51  priority 100  advert_int 1  authentication {    auth_type PASS    auth_pass 2222  }  virtual_ipaddress {    10.0.0.200/24  }}virtual_server 10.0.0.100 80 {  delay_loop 6  lb_algo wrr  lb_kind DR  #persistence_timeout 50  protocol TCP  #sorry_server 127.0.0.1:80  real_server 192.168.234.47 80 {    weight 1    HTTP_GET {      url {       path /       status_code 200      }      connect_timeout 3      nb_get_retry 3      delay_before_retry 3    }  }}virtual_server 10.0.0.200 80 {  delay_loop 6  lb_algo wrr  lb_kind DR  #persistence_timeout 50  protocol TCP  #sorry_server 127.0.0.1:80  real_server 192.168.234.57 80 {    weight 1    HTTP_GET {      url {       path /       status_code 200      }      connect_timeout 3      nb_get_retry 3      delay_before_retry 3    }  }}

讓10.0.0.100的ip優先分配至192.168.234.47 192.168.234.57備用

讓10.0.0.200的ip優先分配至192.168.234.57 192.168.234.47備用

后端real_server準備

修改192.168.234.57的vip為10.0.0.200/32

  [root@234c27 keepalived]# ipvsadm -Ln  IP Virtual Server version 1.2.1 (size=4096)  Prot LocalAddress:Port Scheduler Flags   -> RemoteAddress:Port      Forward Weight ActiveConn InActConn  TCP 10.0.0.100:80 wrr   -> 192.168.234.47:80      Route  1   0     0  TCP 10.0.0.200:80 wrr  -> 192.168.234.57:80      Route  1   0     0

 

現在宕掉一個lvs

Linux,keepalived,lvs,高可用性

  [root@234c27 keepalived]# systemctl stop keepalived.service  [root@234c27 keepalived]# ipvsadm -Ln  IP Virtual Server version 1.2.1 (size=4096)  Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port      Forward Weight ActiveConn InActConn

 

依然提供服務

Linux,keepalived,lvs,高可用性

 [root@234c37 ~]# ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096)  Prot LocalAddress:Port Scheduler Flags  -> RemoteAddress:Port      Forward Weight ActiveConn InActConn  TCP 10.0.0.100:80 wrr   -> 192.168.234.47:80      Route  1   0     21  TCP 10.0.0.200:80 wrr   -> 192.168.234.57:80      Route  1   0     39

后一個實現基于前一個的基礎上修改來的

假設要實現sorry_server

1.把rs服務都停掉。然后在lvs上安裝apache或者nginx服務

2.將keepalived配置文件中的

virtual_server 10.0.0.200 80 {  delay_loop 6  lb_algo wrr  lb_kind DR  #persistence_timeout 50  protocol TCP  #sorry_server 127.0.0.1:80 //這一行來修改 寫出服務出錯之后的頁面  real_server 192.168.234.57 80 {    weight 1    HTTP_GET {      url {       path /       status_code 200      }      connect_timeout 3      nb_get_retry 3      delay_before_retry 3    }  }}


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 四子王旗| 绵阳市| 金坛市| 古田县| 屯留县| 阜城县| 岐山县| 镇坪县| 买车| 侯马市| 确山县| 宜都市| 五大连池市| 鱼台县| 文登市| 吉水县| 宣城市| 固安县| 徐闻县| 冀州市| 南召县| 天峻县| 永春县| 武平县| 本溪| 黄骅市| 建昌县| 茌平县| 喜德县| 榆林市| 香港| 乐安县| 三明市| 霞浦县| 科技| 黄平县| 黄骅市| 松溪县| 汤阴县| 贞丰县| 福贡县|