Keepalived高可用服務器以及haproxy的負載均衡

Keepalived高可用服務器以及haproxy的負載均衡

Keepalive運行原理

Keepalived檢測每個服務節點狀態
當服務器節點異常或工作出現故障,keepalived將故障節點從集羣從集羣系統中踢除
故障節點恢復後,自動將其加入
使用keepalived軟件配置HA集羣

使用keepalived軟件配置HA集羣

1.提供服務的主機需要裝keepalived和web服務

yum -y install httpd keepalived

2.修改提供服務的主機的keepalived的配置文件 /

35行以後是做調度器的高可用配置

規劃主、備服務器,設置VIP(公網IP)

這裏的主備是搶佔式的
global_defs {
   notification_email {
     [email protected]   //設置報警收件人郵箱
  }
  notification_email_from [email protected] //發件人郵箱
  smtp_server 192.168.200.1   //郵件服務器地址
  smtp_connect_timeout 30  //郵件超時時間
  router_id LVS_DEVEL      //設置路由ID
  #vrrp_strict    //這條需要註釋掉,不然下面的VIP就會不通
}
vrrp_instance webha {  //webha 集羣名稱
  state MASTER    //描述名,
  interface eth0   //與集羣內服務主機之間通信使用網卡
  virtual_router_id 51  
  priority 100     //優先級,數值越高,越優先,主的優先級高,默認100
                          優先級最大255,超過失效
  advert_int 1    //集羣內服務主機之間的通信時間間隔,單位秒
 authentication {
      auth_type PASS  //認證類型
     auth_pass 1111  //使用密碼
  }
  virtual_ipaddress {    //設置VIP地址
       192.168.200.16
 }
}

當web服務down了,高可用集羣的調度主備不會浮動VIP

vim /root/check_80.sh
#!/bin/bash
netstat -ntulp | grep 80 
if [ $? -ne 0 ];then
systemctl stop keepaloved.service
if

綜合應用:keepalived+LVS 配置LVS調度器HA集羣

需求:把主機A配置爲主LVS調度器,B主機爲備用的LVS調度器,當分發器A宕機了,B主機立即啓用

1.A、B上安裝keepalived軟件,ipvsadm軟件
    Yum -y install keepalived ipvsadm
2.修改/etc/keepalived/keepalived.conf
 修改優先級劃分主備(AB)服務主機
 修改認證的密碼    主備(AB)服務器的密碼必須一致
 修改IPV(virtual_ipaddress)爲192.168.4.253
 以下配置A、B一致
   virtual_server 192.168.4.253 80 {   //定義虛擬調度機
   delay_loop 6
   lb_algo rr                     //調度算法
   lb_kind DR          //工作模式,與後臺realserver的工作模式一致
   persistence_timeout 50
   protocol TCP
   connect_timeout 3      
   nb_get_retry 3
   delay_before_retry 3
           real_server 192.168.4.52 80 {   //後臺提供web服務的主機
   weight 1
}
}
   這個步驟是將A、B設爲爲keepalived主備機,並且加上LVS(ipvsadm),實現高可用(HA)和
負載均衡(LB)的綜合應用
3.在A、B上啓動並設置開機自啓(keepalived)
   systemctl restart keepalived.service
   systemctl enable keepalived.service
4.在客戶機上進行測試,
   curl http://192.168.4.253
前提:後臺提供web服務的機器必須正常運行
    echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce
    echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
    echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
    ifconfig lo:1 192.168.4.253/32

擴展:以上配置做完之後,keepalived不會對後端的httpd服務做健康檢查,,如果需要,必須進行tcp連接檢查

real_server 192.168.4.52 80 {
     weight 1
       TCP_CHECK {
           connect_timeout 3
           nb_get_retry 3
           delay_before_retry 3
       }
  }

使用Haproxy軟件配置LB集羣

工作模式 1.mode http
        2.mode tcp
    3.mode htalth

Mode http

1.http close
   每次響應請求後立即斷開連接
2.keep-alive
   每一連接可以發起多個請求,但是多個請求需要服務器按順序一個一個響應不能一次性作出響應
3.pipelining
      一次連接可以發起多次請求,這些請求服務器並行進行響應,同時處理請求,減少了延遲,但是
   對服務器的要求比較高,

配置:

1.裝包
   Yum -y install haproxy
2.配置文件及介紹
  Vim /etc/haproxy/haproxy.cfg
    default:爲後續的其他部分設置默認參數,缺省參數可以被後續部分覆蓋
    frontend:描述接收客戶端偵聽套接紫集
    backend:描述轉發連接的服務器集
    listen:把frontend和backend結合到一起的完整聲明
//這裏爲/etc/haproxy/haproxy.cfg的配置
    default
   stats uri  /admin     #以友好的頁面展示LB集羣實際狀況
   listen webla 192.168.4.56:80
cookie SERVERID rewrite
balance roundrobin
server weba 192.168.4.55:80 cookie app1inst1 check inter 2000 rise 2 fall 5
server webb 192.168.4.57:80 cookie app2inst2 check inter 2000 rise 2 fall 5
3.啓動服務及查看狀態
   Systemctl restart haproxy
   Systemctl status haproxy
4.有好頁面的訪問
   http://192.168.4.56/admin
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章