Lvs+keepalived 高可用性负载均衡自动化配置
生活随笔
收集整理的這篇文章主要介紹了
Lvs+keepalived 高可用性负载均衡自动化配置
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
前言* 隨著互聯(lián)網(wǎng)的發(fā)展,提供用戶訪問(wèn)的web服務(wù)器,必須要保證每天24不間斷服務(wù),訪問(wèn)量不斷增加,有什么好的web架構(gòu)既能實(shí)現(xiàn)高可用性負(fù)載均衡,而且價(jià)格又是免費(fèi)的呢?答案有木有?有!lvs+keepalived 是不錯(cuò)的選擇!
一、實(shí)驗(yàn)環(huán)境:4臺(tái)centos 5.4 ,以及簡(jiǎn)單的拓?fù)鋱D: LVS-Master 192.168.2.108 LVS-BACKUP 192.168.2.109 LVS-DR-VIP 192.168.2.100 WEB1-Realserver?192.168.2.79 WEB2-Realserver ?192.168.2.80 二、安裝ipvsadm+keepalived,用腳本自動(dòng)安裝: 由于我們使用的是lvs+keepalived,所以這里不需要配置lvs-dr腳本,直接在keepalived.conf里面配置即可! #!/bin/sh ###腳本編寫(xiě)目的:自動(dòng)安裝lvs+keepalived ###編寫(xiě)時(shí)間: 2011年7月6日17:25:39 ###初稿人:wugk ###定義變量 DIR1=/usr/src DIR2=/usr/local cat << EOF ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++Welcome to use Linux installed a key LVS+KEEPALIVED shells scripts +++++++++++++++++++++*************************++++++++++++++++++++++++ EOF if [ $UID -ne 0 ];then echo “This script must use root user ,please exit……” sleep 2 exit 0 fi download () { cd $DIR1 && wget -c http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz http://www.keepalived.org/software/keepalived-1.1.15.tar.gz if [ $? = 0 ];then echo "Download LVS Code is OK!" else echo "Download LVS Code is failed,Please check!" exit 1 fi } ipvsadm_install () { ln -s $DIR1/kernels/2.6.* $DIR1/linux cd $DIR1 && tar xzvf ipvsadm-1.24.tar.gz &&cd ipvsadm-1.24 && make && make install if [ $? -eq 0 ];then echo "Install ipvsadm success,please waiting install keepalived ..............." else echo "Install ipvsadm failed ,please check !" exit 1 fi } keepalived_install () { cd $DIR1 && tar -xzvf keepalived-1.1.15.tar.gz &&cd keepalived-1.1.15 && ./configure && make && make install if [ $? -eq 0 ];then echo "Install keepalived success,please waiting configure keepalived ..............." else echo "Install keepalived failed ,please check install version !" exit 1 fi } ######如果以上軟件包編譯報(bào)錯(cuò)的話,請(qǐng)檢查相關(guān)的版本跟系統(tǒng)版本之間的關(guān)系,然后手動(dòng)下載安裝. keepalived_config () { cp $DIR2/etc/rc.d/init.d/keepalived?/etc/rc.d/init.d/ && cp $DIR2/etc/sysconfig/keepalived /etc/sysconfig/ && mkdir -p /etc/keepalived &&cp $DIR2/etc/keepalived/keepalived.conf /etc/keepalived/ && cp $DIR2/sbin/keepalived /usr/sbin/ if [ $? -eq 0 ];then echo "Keepalived system server config success!" else echo "Keepalived system server config failed ,please check keepalived!" exit 1 fi } PS3="Please select Install Linux Packages:" select option in download ipvsadm_install keepalived_install keepalived_config do $option done 以上腳本分別在lvs-master和lvs-backup上執(zhí)行安裝。 三、配置keepalived.conf:內(nèi)容如下是lvs-master配置 也可以參考配置:http://chinaapp.sinaapp.com/download/keepalived.conf 可以直接打開(kāi) ! Configuration File for keepalived global_defs { notification_email { wgkgood@163.com } notification_email_from wgkgood@163.com smtp_server 127.0.0.1 smtp_connect_timeout 30 router_id LVS_DEVEL } # VIP1 vrrp_instance VI_1 { state MASTER?? interface eth0 lvs_sync_daemon_inteface eth0 virtual_router_id 51 priority 100 advert_int 5 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.2.100?? } } #REAL_SERVER_1 virtual_server 192.168.2.100 80 { delay_loop 6??? lb_algo wlc??? lb_kind DR?? persistence_timeout 60??? protocol TCP???????? real_server 192.168.2.79 80 { weight 100??????? TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } #REAL_SERVER_2 real_server 192.168.2.80 80 { weight 100 TCP_CHECK { connect_timeout 10 nb_get_retry 3 delay_before_retry 3 connect_port 80 } } } 注意***Lvs-backup端同樣配置,只需要更改state MASTER為state BACKUP,修改priority 100為priority 90即可。 ? 四、分別在web1、web2上配置好apache,然后分別執(zhí)行如下腳本: 如下的VIP1指的是lvs-dr-vip地址,及對(duì)外提供訪問(wèn)的虛擬ip: #!/bin/sh PS3="Please Choose whether or not to start a realserver VIP1 configuration:" select i in "start" "stop" do case "$i" in start) read -p?"Please enter the virtual server IP address:" VIP1 ifconfig lo:0 $VIP1 netmask 255.255.255.255 broadcast $VIP1 /sbin/route add -host $VIP1 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 echo "RealServer Start OK" exit 0 ;; stop) ifconfig lo:0 down route del $VIP1 >/dev/null 2>&1 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 "RealServer Stoped" exit 1 ;; *) echo "Usage: $0 {start|stop}" exit 2 esac done 腳本會(huì)提示是否啟動(dòng),按1即啟動(dòng),然后輸入vip地址 192.168.2.100 ,用ifconfig你會(huì)看到:lo:0的ip即表示配置ip成功。 lo:0Link encap:Local Loopback? inet addr:192.168.2.100?Mask:255.255.255.255 UP LOOPBACK RUNNING?MTU:16436?Metric:1 五、最后啟動(dòng)lvs-master、lvs-backup上面的keepalived服務(wù)即可: /etc/init.d/keepalived restart 查看lvs-master日志: 在瀏覽器里面訪問(wèn) http://192.168.2.100/ 即可!當(dāng)你宕掉lvs-master后,lvs-backup會(huì)接管變成lvs-master提供服務(wù),當(dāng)lvs-master故障恢復(fù)后,lvs-backup又會(huì)變成原來(lái)的狀態(tài)! 所安裝的腳本可以在這里下載: http://chinaapp.sinaapp.com/download/lvs-keepalived.sh???????? 在lvs-master和lvs-backup上執(zhí)行? http://chinaapp.sinaapp.com/download/realserver.sh???????????????? 在web服務(wù)器端執(zhí)行???轉(zhuǎn)載于:https://blog.51cto.com/navyaijm/809397
總結(jié)
以上是生活随笔為你收集整理的Lvs+keepalived 高可用性负载均衡自动化配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Servlet - 基础
- 下一篇: Keras进阶