生產環境:LVS+Keepalived部署

因工作需要搭建

LVS(VIP: 10.0.32.224)
10.0.32.59LVS-Master
10.0.32.65LVS-Backup
10.0.32.84(LVS-tomcat3)  
10.0.32.101(LVS-tomcat4)


1、安裝LVS軟件

1.1.查看是否有IPVS模塊

[root@Master~]# modprobe -l | grepipvs 
kernel/net/netfilter/ipvs/ip_vs.ko
kernel/net/netfilter/ipvs/ip_vs_rr.ko
kernel/net/netfilter/ipvs/ip_vs_wrr.ko
kernel/net/netfilter/ipvs/ip_vs_lc.ko
kernel/net/netfilter/ipvs/ip_vs_wlc.ko
kernel/net/netfilter/ipvs/ip_vs_lblc.ko
kernel/net/netfilter/ipvs/ip_vs_lblcr.ko
kernel/net/netfilter/ipvs/ip_vs_dh.ko
kernel/net/netfilter/ipvs/ip_vs_sh.ko
kernel/net/netfilter/ipvs/ip_vs_sed.ko
kernel/net/netfilter/ipvs/ip_vs_nq.ko
kernel/net/netfilter/ipvs/ip_vs_ftp.ko
kernel/net/netfilter/ipvs/ip_vs_pe_sip.ko


1.2.安裝IPVS管理工具

[root@Master~]# yum-y install ipvsadm


2、安裝keepalived(分別在LVS-Master和LVS-Backup中)

2.1.安裝keepalived並配置。

[root@Master~]# yum -yinstall keepalived(yum安裝keepalived)
[root@Master~]# vi /etc/keepalived/keepalived.conf
!Configuration File for keepalived
global_defs{
        notification_email {
            [email protected]
            [email protected] 
            [email protected] 
        }
        [email protected]
        smtp_server 192.168.200.1  #設置SMTP Server地址
        smtp_connect_timeout 30
        router_id LVS_DEVEL
}
vrrp_sync_groupLVS_GV1 {
        group {
            LVS_qingsuan   #寫集羣的名字‘LVS_“名字”’,如:清算平臺服務器
        }
}
vrrp_instanceLVS_qingsuan{
        state MASTER #指定Keepalived的角色,MASTER爲主,BACKUP爲備
        interface eth0 #綁定真實的物理網卡
        virtual_router_id 51 #虛擬路由編號,主備要一致
        priority 100 #定義優先級,數字越大,優先級越高,主DR必須大於備用DR
        advert_int 1 #檢查間隔,默認爲1s
        authentication {
            auth_type PASS 
            auth_pass qingsuan 
        }
        virtual_ipaddress {
            10.0.32.224      #定義虛擬IP(VIP)爲可多設,每行一個
        }
}
 
virtual_server10.0.32.224443 { #定義對外提供服務的LVS的VIP以及port
        delay_loop 6 #設置健康檢查時間,單位是秒
        lb_algo wlc #設置負載調度的算法爲wlc
        lb_kind DR #設置LVS實現負載的機制,有NAT、TUN、DR三個模式,設DR模式
        persistence_timeout 50 #會話保持時間,單位爲秒
        protocol TCP #指定轉發協議類型,有TCP和UDP兩種
        sorry_server 127.0.0.1 80
 
        real_server 10.0.32.84 443 { #指定real server1的IP地址
            weight 1 #配置節點權值,數字越大
            TCP_CHECK {
                connect_timeout 3 #表示3秒無響應,則超時
                tcp_port 443
            }
        }
 
        real_server10.0.32.101 443 { #指定real server2的IP地址
            weight 1 #配置節點權值,數字越大
            TCP_CHECK {
                connect_timeout 3 #表示3秒無響應,則超時
            }
        }
}


2.2.啓動keepalived、設置keepalived服務自啓動,檢查是否生效。

[root@Master~]# /etc/init.d/keepalived start
[root@Master~]# chkconfigkeepalived on


3、在LVS-Backup上安裝LVS、keepalived並配置

3.1.安裝LVS、keepalived

[root@Backup~]# yum-y install ipvsadm
[root@Backup~]# yum-y install keepalived


3.2.配置LVS-Backup的keepalived

先從LVS-Master把修改過的keepalived配置文件複製過來。

[root@Mastekeepalived]#scpkeepalived.conf [email protected]:/etc/keepalived/
[root@Backup~]# vi /etc/keepalived/keepalived.conf
只修改state爲BACKUP和priority爲90,MASTER爲主機服務器,BACKUP爲備用服務器。
stateBACKUP
priority90


 

3.3.啓動LVS-Backup的keeplived服務,並檢查是否生效。

[root@Backup~]# /etc/init.d/keepalived start
[root@Backup~]# chkconfigkeepalived on


 

5、配置WEB服務器,即real server節點1和2

由於採用的是DR方式調度,Real_Server會以LVS的VIP來直接回復Client,所以需要在Real_Server的lo上開啓LVS的VIP來與Client建立通信

配置web

[root@web~]# vi /etc/init.d/lvs-server#編輯腳本放到/etc/init.d/下
#!/bin/bash
#chkconfig: 35 85 15
VIP=10.0.32.223
chmod755 /etc/rc.d/init.d/functions
 
./etc/rc.d/init.d/functions
case"$1" in
start)
echo " start LVS of REALServer"
/sbin/ifconfig lo:0 $VIP broadcast $VIPnetmask 255.255.255.255 up
/sbin/route add -host $VIP dev lo:0
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
sysctl -p >/dev/null 2>&1
;;
stop)
/sbin/ifconfig lo:0 down
echo "close LVS Directorserver"
echo "0">/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "0">/proc/sys/net/ipv4/conf/lo/arp_announce
echo "0">/proc/sys/net/ipv4/conf/all/arp_ignore
echo "0">/proc/sys/net/ipv4/conf/all/arp_announce
;;
*)
echo"Usage: $0 {start|stop}"
exit 1
esac
[root@web~]# chmod 755 /etc/init.d/lvs-server
[root@web~]# /etc/init.d/lvs-server start
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章