1. 程式人生 > >最詳細的keepalived+lvs-dr配置文件

最詳細的keepalived+lvs-dr配置文件

四臺臺機器:

分發器主:192.168.0.154

分發器備:192.168.0.171

    rs_1:192.168.0.131
    rs_2:192.168.0.132

keepalived安裝:

yum install keepalived

ipvsadm安裝:(可選keepalived就可以實現負載功能安裝只是可以檢視狀態)

yum install ipvsadm

rs上http安裝:(測試)

yum install httpd

#####rs_1:
echo 11111111 >/var/www/html/index.html

#####rs_2:
echo 22222222 >/var/www/html/index.html

分發器主配置:(keepalived主)

vim /etc/keepalived/keepalived.conf

! Configuration File for keepalived
global_defs {               ##全域性配置部分
    router_id LVS_MASTER       ##執行keepalived機器的一個標識
}
vrrp_instance VI_1 {       ##設定vrrp組,唯一且同一LVS伺服器組要相同
    state MASTER               ##備份LVS伺服器設定為BACKUP
    interface eth0             # #設定對外服務的介面
    virtual_router_id 51       ##設定虛擬路由標識
    priority 100               #設定優先順序,數值越大,優先順序越高,backup設定小於100,當master宕機後自動將backup高的變為master。
    advert_int 1               ##設定同步時間間隔
    authentication {           ##設定驗證型別和密碼,master和buckup一定要設定一樣
    auth_type PASS
    auth_pass 1111
    }
virtual_ipaddress {        ##設定VIP,可以多個,每個佔一行
    192.168.0.60
    }
}
virtual_server 192.168.0.60 80 {
    delay_loop 6               ##健康檢查時間間隔,單位s
    lb_algo wrr                ##負載均衡排程演算法設定為加權輪叫
    lb_kind DR                 ##負載均衡轉發規則
    nat_mask 255.255.255.0     ##網路掩碼,DR模式要保障真是伺服器和lvs在同一網段
    #persistence_timeout 5     ##會話保持時間,單位s
    protocol TCP               ##協議
    real_server 192.168.0.131 80 {      ##真實伺服器配置,80表示埠
        weight 3                   ##權重
        TCP_CHECK {                ##伺服器檢測方式設定
        connect_timeout 5          ##連線超時時間
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
    real_server 192.168.0.132 80 {
        weight 3
        TCP_CHECK {
        connect_timeout 10
        nb_get_retry 3
        delay_before_retry 3
        connect_port 80
        }
    }
}

分發器備:(keepalived從)

從機以下兩個位置其他配置相同

state MASTER 改為 BACKUP

priority 100 改為 小於100就可以

web rs_1:

執行以下命令

ifconfig lo:0 192.168.0.60 netmask 255.255.255.255 broadcast 192.168.0.60
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

web rs_2:

執行以下命令

ifconfig lo:0 192.168.0.60 netmask 255.255.255.255 broadcast 192.168.0.60
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

命令說明:

arp_ignore: 定義接收到ARP請求時的響應級別

0:只要本地配置的有相應地址,就給予響應;預設
1:僅在請求的目標地址配置在到達的介面上的時候,才給予響應

arp_announce:定義將自己地址向外通告時的通告級別

0:將本地任何介面上的任何地址向外通告;預設
1:試圖僅向目標網路通告與其網路匹配的地址
2:僅向與本地介面上地址匹配的網路進行通告

啟動:

  分發主:/etc/init.d/keepalived start
  分發備:/etc/init.d/keepalived start

####ipvsadm -ln 可以檢視

  rs_1:/etc/init.d/httpd start
  rs_2: /etc/init.d/httpd start

#### ifconfig lo:0 檢視:

測試:

瀏覽器訪問192.168.0.60