日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

虚拟机 搭建LVS + DR + keepalived 高可用负载均衡

發布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 虚拟机 搭建LVS + DR + keepalived 高可用负载均衡 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:環境說明:
?? LVS-DR-Master:?? ?10.3.0.82
?? LVS-DR-Backup:?? ?10.3.0.70
?? VIP:?? ??? ??? ??? ?10.3.0.60
?? RealServer1:?? ?10.3.0.69
?? RealServer1:?? ?10.3.0.83
?? Centos:5.7 ?
?二:安裝LVS和Keepalvied軟件包
?? 1. 下載相關軟件包
??? mkdir /usr/local/src/lvs
??? cd /usr/local/src/lvs
??? wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz
??? wget http://www.keepalived.org/software/keepalived-1.1.15.tar.gz
?? 2. 安裝LVS和Keepalived
??? lsmod |grep ip_vs
?? ?uname -r
?? ?2.6.18-53.el5PAE
?? ?ln -s /usr/src/kernels/2.6.18-53.el5PAE-i686/? /usr/src/linux

?? ?tar zxvf ipvsadm-1.24.tar.gz
?? ?cd ipvsadm-1.24
?? ?make && make install
?? ?find / -name ipvsadm? # 查看ipvsadm的位置
?? ?
?? ?或者使用yum install ipvsadm

?? ?tar zxvf keepalived-1.1.15.tar.gz
?? ?cd keepalived-1.1.15
?? ?./configure? && make && make install
?? ?find / -name keepalived? # 查看keepalived位置?? ??? ?
?? ??? ?
?? ?cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/
?? ?cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/
?? ?mkdir /etc/keepalived
?? ?cp /usr/local/etc/keepalived/keepalived.conf /etc/keepalived/
?? ?cp /usr/local/sbin/keepalived /usr/sbin/
?? ?service keepalived start|stop???? #做成系統啟動服務方便管理.??

??? 備注:在安裝keepalived的過程中,第一次的版本太高我下載1.2的版本,

  

????? 以上是我的kernel版本,在安裝的過程中總報錯,網上也沒有找到相關的說明,所以就下載了個低版本的結果就ok了。
?三:LVS-DR,配置LVS腳本實現負載均衡

?? ?vim /etc/init.d/lvsdr
?? ?
?? ?#!/bin/bash
?? ?RIP1=10.3.0.69
?? ?RIP2=10.3.0.83
?? ?
?? ?VIP=10.3.0.60

?? ?. /etc/rc.d/init.d/functions
?? ?case "$1" in
?? ??? ?start)
?? ??? ??? ?echo " start LVS of DirectorServer"

?? ??? ??? ?# set the Virtual IP Address and sysctl parameter
?? ??? ??? ?/sbin/ifconfig eth0:0 $VIP broadcast $VIP netmask 255.255.255.255 up
?? ??? ??? ?/sbin/route add -host $VIP dev eth0:0
?? ??? ??? ?echo "1" >/proc/sys/net/ipv4/ip_forward

?? ??? ??? ?#Clear IPVS table
?? ??? ??? ?/sbin/ipvsadm -C
?? ??? ??? ?
?? ??? ??? ?#set LVS
?? ??? ??? ?#Web Apache
?? ??? ??? ? /sbin/ipvsadm -A -t $VIP:80 -s rr
?? ??? ??? ? /sbin/ipvsadm -a -t $VIP:80 -r $RIP1:80 -g
?? ??? ??? ? /sbin/ipvsadm -a -t $VIP:80 -r $RIP2:80 -g
?? ??? ??? ? ?
?? ??? ??? ?#Run LVS
?? ??? ??? ? /sbin/ipvsadm
?? ??? ?? ;;
?? ??? ?stop)
?? ??? ??? ?echo "close LVS Directorserver"
?? ??? ??? ?echo "0" >/proc/sys/net/ipv4/ip_forward
?? ??? ??? ?/sbin/ipvsadm -C
?? ??? ??? ?/sbin/ifconfig eth0:0 down
?? ??? ?? ;;
?? ??? ?*)
?? ??? ??? ?echo "Usage: $0 {start|stop}"
?? ??? ??? ?exit 1
?? ?esac
?? ?
?? ?chmod a+x /etc/init.d/lvsdr
?? ?service lvsdr start|stop
???
?? ?查看命令:
?? ?ipvsadm -ln

 
?? ?ipvsadm -lcn 查看請求轉發情況

???
??? 備注:此腳本在LVS-DR-Master和Backup上均需執行

四:配置Realserver腳本
??? vim /etc/init.d/realserver
?? ?#!/bin/bash

?? ?VIP=10.3.0.60

?? ?. /etc/rc.d/init.d/functions
?? ?case "$1" in
?? ??? ?start)
?? ??? ??? ?echo " start LVS of REALServer"
?? ??? ??? ?/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up
?? ??? ??? ?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
?? ??? ??? ?;;
?? ??? ?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
?? ?chmod a+x /etc/init.d/realserver
?? ?service realserver start|stop
?? ?
?? ?可以通過ifconfig或者ip add 命令查看是否綁定
?? ?

?? ?備注:此腳本在兩臺realserver上均須執行。
?? ?
五:利用Keepalvied實現負載均衡和和高可用性

??? vim /etc/keepalived/keepalived.conf


??? ! Configuration File for keepalived

?? ?global_defs {
?? ??? notification_email {
?? ??? ?? caozhenhuamail@gmail.com
?? ??? }
?? ??? notification_email_from Alexandre.Cassen@firewall.loc
?? ??? smtp_server 127.0.0.1
?? ??? router_id LVS_DEVEL
?? ?}

?? ?vrrp_instance VI_1 {
?? ??? ?state MASTER??? #備份服務器上將MASTER改為BACKUP
?? ??? ?interface eth0
?? ??? ?virtual_router_id 51
?? ??? ?priority 100????? #備份服務器將100改為98
?? ??? ?advert_int 1
?? ??? ?authentication {
?? ??? ??? ?auth_type PASS
?? ??? ??? ?auth_pass 1111
?? ??? ?}
?? ??? ?virtual_ipaddress {
?? ??? ??? ?10.3.0.60
?? ??? ?}
?? ?}

?? ?virtual_server 10.3.0.60 80 {
?? ??? ?delay_loop 6
?? ??? ?lb_algo rr
?? ??? ?lb_kind DR
?? ??? ?protocol TCP

?? ??? ?real_server 10.3.0.69 80 {
?? ??? ??? ?weight 3?????????????? #(權重)
?? ??? ??? ?TCP_CHECK {
?? ??? ??? ??? ?connect_timeout 10?????? #(10秒無響應超時)
?? ??? ??? ??? ?nb_get_retry 3
?? ??? ??? ??? ?delay_before_retry 3
?? ??? ??? ??? ?connect_port 80
?? ??? ??? ?}

?? ??? ?}

?? ??? ?real_server 10.3.0.83 80 {
?? ??? ??? ?weight 3?????????????? #(權重)
?? ??? ??? ?TCP_CHECK {
?? ??? ??? ??? ?connect_timeout 10?????? #(10秒無響應超時)
?? ??? ??? ??? ?nb_get_retry 3
?? ??? ??? ??? ?delay_before_retry 3
?? ??? ??? ??? ?connect_port 80
?? ??? ??? ?}

?? ??? ?}
?? ?}

??? service keepalived start|stop
??? 備注:BACKUP服務器同上配置,只需將紅色標示的部分改一下即可.

六:測試

?? 1 realserver其中一臺服務停止:

???? 我用的是兩臺nginx服務器

???? ps -aux |grep nginx? #查找nginx主線程pid

????

???? kill -QUIT 4195

???? 觀察DR情況:

????

???? 10.3.0.83服務器已經被清除了,證明ok;

??? 2. 把剛才停掉得83的nginx啟動

???

??? 繼續觀察DR情況:

???

??? 83已經成功被加入到realserver組

?? 3:停掉master的keepalived看是否backup能接管:

???

??? 訪問10.3.0.60 觀察backup的DR情況:

???

??? 發現backup的DR接收到了客戶端發出得請求,而且成功轉發,也可以通過日志信息查看

??? tail -f /var/log/message

???

?? 4:我們把master的keepalived重新啟動,觀察客戶端請求是否會重新被master接收并且轉發:

???

???? visit: http://10.3.0.60? 觀察

???? master:

????

???? 請求成功接收并且轉發

???? backup 日志:

???? tail -f /var/log/message

????

????

???? 備份服務器日志說明它已經進入備份狀態,而且也沒有接收到客戶端發來的請求;

?七: 以上是自己操作的流程,有什么問題請大家給予指正,對了,還有點要說明的是如果你的機器的防火墻都開得話,試驗是不可能成功的,除非你對防火墻的過濾規則 設置的正確,因為這次主要是測試負載均衡,所以我直接把所有的機器的iptables都停掉了,service iptables stop;

?

轉自:http://www.cnblogs.com/czh-liyu/archive/2011/12/01/2270973.html

總結

以上是生活随笔為你收集整理的虚拟机 搭建LVS + DR + keepalived 高可用负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。