服務器鏡像爲centos6.9html
10.0.0.10: linux
1 下載keeplived官方包--> 2 3 http://www.keepalived.org/software/keepalived-2.0.12.tar.gz 4 5 安裝基礎應用環境 6 7 yum -y install openssl-devel kernel-devel make gcc openssl-devel libnl* popt* 8 9 下載popt包主要用於lvs 10 11 http://mirror.centos.org/centos/6/os/x86_64/Packages/popt-static-1.13-7.el6.x86_64.rpm 12 13 14 15 安裝:LVS兩臺服務都須要執行 16 17 設置軟鏈接: 18 19 ln -s /usr/src/kernels/2.6.32-754.10.1.el6.x86_64/ /usr/src/linux ##可能有的kernels不同,根據實際而定 20 21 安裝lvs 22 yum -y install ipvsadm 23 24 安裝keeplived 25 26 tar zxvf keepalived-2.0.12.tar.gz -->解壓 27 28 cd keepalived-2.0.12 29 30 ./configure --with-kernel-dir=/usr/src/kernels/2.6.32-754.10.1.el6.x86_64/ 31 32 make && make install
##上面的源碼安裝報錯 configure: error: nftables header files missing,因此選擇用yum安裝nginx
yum -y install keepalived ipvsadmweb
更改配置文件/etc/keepalived/keepalived.conf:--->配置文件大體意思,上一篇有講解,這裏再也不重複vim
[root@lvs01 ~]# cat /etc/keepalived/keepalived.conf ! Configuration File for keepalived global_defs { notification_email { test@admin.com } notification_email_from admin@test.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_MASTER } vrrp_instance VI_1 { state MASTER interface eth1 virtual_router_id 60 priority 100 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 10.0.0.9 } } virtual_server 10.0.0.9 80 { delay_loop 6 lb_algo rr lb_kind DR nat_mask 255.255.255.0 persistence_timeout 50 protocol TCP real_server 10.0.0.12 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } real_server 10.0.0.13 80 { weight 1 TCP_CHECK { connect_timeout 3 nb_get_retry 3 delay_before_retry 3 } } }
啓動keeplived:centos
/etc/init.d/keepalived start bash
ps -ef|grep keepalived 能夠查看到進程相關服務器
IP a 命令能夠查看到IP架構
yum -y install keepalived ipvsadmide
更改配置文件/etc/keepalived/keepalived.conf:--->配置文件大體意思,上一篇有講解,這裏再也不重複
1 [root@lvs02 ~]# cat /etc/keepalived/keepalived.conf 2 ! Configuration File for keepalived 3 global_defs { 4 notification_email { 5 test@sina.com 6 } 7 notification_email_from admin@test.com 8 smtp_server 127.0.0.1 9 smtp_connect_timeout 30 10 router_id LVS_BACKUP 11 } 12 13 vrrp_instance VI_1 { 14 state MASTER 15 interface eth1 16 virtual_router_id 60 17 priority 60 18 advert_int 1 19 authentication { 20 auth_type PASS 21 auth_pass 1111 22 } 23 virtual_ipaddress { 24 10.0.0.9 25 } 26 } 27 28 virtual_server 10.0.0.9 80 { 29 delay_loop 6 30 lb_algo rr 31 lb_kind DR 32 nat_mask 255.255.255.0 33 persistence_timeout 50 34 protocol TCP 35 36 real_server 10.0.0.12 80 { 37 weight 1 38 TCP_CHECK { 39 connect_timeout 3 40 nb_get_retry 3 41 delay_before_retry 3 42 } 43 } 44 45 real_server 10.0.0.13 80 { 46 weight 1 47 TCP_CHECK { 48 connect_timeout 3 49 nb_get_retry 3 50 delay_before_retry 3 51 } 52 } 53 }
啓動從庫
/etc/init.d/keepalived start
10.0.0.12 , 10.0.0.13web:
下載nginx web包
wget http://nginx.org/packages/rhel/6/x86_64/RPMS/nginx-1.14.0-1.el6.ngx.x86_64.rpm
yum install nginx-1.14.0-1.el6.ngx.x86_64.rpm -y
就能完成安裝
更改配置:
vim /usr/share/nginx/html/index.html
10.0.0.12的服務器添加隨機字符或者:
echo "web01" >/usr/share/nginx/html/index.html
10.0.0.13:
echo "web01" >/usr/share/nginx/html/index.html
10.0.0.12 10.0.0.13配置腳本並運行腳本(配置虛擬IP的)
1 [root@ng01 ~]# cat ser.sh 2 #!/bin/bash 3 SNS_VIP=10.0.0.9 4 . /etc/rc.d/init.d/functions 5 case "$1" in 6 start) 7 ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP 8 /sbin/route add -host $SNS_VIP dev lo:0 9 echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore 10 echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce 11 echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore 12 echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce 13 sysctl -p >/dev/null 2>&1 14 echo "RealServer Start OK" 15 ;; 16 top) 17 ifconfig lo:0 down 18 route del $SNS_VIP >/dev/null 2>&1 19 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore 20 echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce 21 echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore 22 echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce 23 echo "RealServer Stoped" 24 ;; 25 *) 26 echo "Usage: $0 {start|stop}" 27 exit 1 28 esac 29 exit 0
完成後啓動:
service start nginx
LVS監控的服務器:
ipvsadm -ln
ipvsadm -lcn
再服務器宕機的過程當中能夠看到這個TCP數據的轉發狀況
訪問VIP出現的頁面:
web01服務
迅速刷新頁面
刷新速度仍是很快的