完整的架構須要兩臺服務器(角色爲dir),分別安裝Keepalived工具,目的是實現高可用,但Keepalived自己也有負載均衡功能,因此本次使用能夠只安裝一臺Keepalived。html
Keepalived內置了ipvsadm的功能,因此不須要安裝ipvsadm包,也不用編寫和執行lvs_dr腳本。算法
三臺機器:vim
這裏並無兩臺keepalived來搞高可用,lvs與keepalived可內置lvs功能:
IP:192.168.8.133;安裝Keepalived瀏覽器
機器1:
IP:192.168.8.134bash
機器2:
IP:192.168.8.135服務器
VIP:192.168.8.100架構
yum install keepalived 自定義Keepalived配置文件: vim /etc/keepalived/keepalived.conf vrrp_instance VI_1 { #備用服務器上爲 BACKUP state MASTER #綁定vip的網卡爲ens33,你的網卡和阿銘的可能不同,這裏須要你改一下 interface ens33 virtual_router_id 51 #備用服務器上爲90 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 123456 } virtual_ipaddress { 192.168.8.100 } } virtual_server 192.168.8.100 80 { #(每隔10秒查詢realserver狀態) delay_loop 10 #(lvs 算法) lb_algo wlc #算法(DR模式) lb_kind DR #(同一IP的鏈接60秒內被分配到同一臺realserver) persistence_timeout 0 #(用TCP協議檢查realserver狀態) protocol TCP real_server 192.168.8.134 80 { #(權重) weight 100 TCP_CHECK { #(10秒無響應超時) connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } real_server 192.168.8.135 80 { weight 100 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } } 啓動Keepalived服務: [root@director ~]# systemctl start keepalived 查看網卡信息: ip add 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 00:0c:29:be:0e:17 brd ff:ff:ff:ff:ff:ff inet 192.168.8.133/24 brd 192.168.8.255 scope global ens33 valid_lft forever preferred_lft forever inet 192.168.8.100/32 scope global ens33 valid_lft forever preferred_lft forever inet6 fe80::592f:39cc:1b50:1d07/64 scope link valid_lft forever preferred_lft forever #虛擬IP(VIP)在ens33網卡上 查看ipvsadm規則: [root@director ~]# ipvsadm -ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 192.168.8.100:80 wlc -> 192.168.8.134:80 Route 100 0 0 -> 192.168.8.135:80 Route 100 0 0
配置路由轉發腳本: vim /usr/local/sbin/lvs_rs.sh #/bin/bash vip=192.168.8.100 #把vip綁定在lo上,是爲了實現rs直接把結果返回給客戶端 ifconfig lo:0 $vip broadcast $vip netmask 255.255.255.255 up route add -host $vip lo:0 #如下操做爲更改arp內核參數,目的是爲了讓rs順利發送mac地址給客戶端 #參考文檔www.cnblogs.com/lgfeng/archive/2012/10/16/2726308.html 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
配置完成,在瀏覽器訪問VIP:192.168.8.100,刷新網頁,訪問結果由real一、real2交替回覆負載均衡