最詳細的keepalived+lvs-dr配置文件
阿新 • • 發佈:2018-11-06
四臺臺機器:
分發器主: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