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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Keepalived实现LVS的高可用全解析

發布時間:2025/4/16 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Keepalived实现LVS的高可用全解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? ? ? ? ? ? ? ? ? Keepalived實現LVS的高可用

一、概念引入:

keepalived作用:為lvs提供高可用集群

Keepalived的功能:1、將IP地址轉移到另一個節點上;2、轉移lvs規則;3、健康狀況檢查 即:health-check

Keepalived通過VRRP協議實現health-check,那么,什么叫做VRRP呢?

二、VRRP的定義

VRRP Virtual Routing Redundent Protocol是虛擬路由冗余協議,通過此協議我們可以把多個路由器做成一個虛擬路由器,從而來保證其中某個路由DOWN掉的時候不會造成我們內部外部網絡的全部中斷,其主要是實現地址漂移的

利用keepalive來實現lvsDirectory Server的高可用集群,然后在利用keepalivelvs的高可用來實現web服務的負載均衡!

三、RS上相關軟件的安裝和配置

1、安裝配置Web

web1web2上分別配置相應的IP地址:

RIP1:192.16.0.210/16

RIP2:192.16.0.211/16

2、安裝httpd

yum install httpd y ?

echo "web1.yuanquan.com"> /var/www/html/index.html

3、配置腳本 startrs.sh 如下:

#!/bin/bash

#

# Script to start LVS DR real server.

# description: LVS DR real server

#

. ?/etc/rc.d/init.d/functions

VIP=192.168.0.212

host=`/bin/hostname`

case "$1" in

start)

? ? ? # Start LVS-DR real server on this machine.

? ? ? ?/sbin/ifconfig lo down

? ? ? ?/sbin/ifconfig lo 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

? ? ? ?/sbin/ifconfig lo:0 $VIP broadcast $VIP netmask 255.255.255.255 up

? ? ? ?/sbin/route add -host $VIP dev lo:0

;;

stop)

? ? ? ?# Stop LVS-DR real server loopback device(s).

? ? ? ?/sbin/ifconfig lo:0 down

? ? ? ?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

;;

status)

? ? ? ?# Status of LVS-DR real server.

? ? ? ?islothere=`/sbin/ifconfig lo:0 | grep $VIP`

? ? ? ?isrothere=`netstat -rn | grep "lo:0" | grep $VIP`

? ? ? ?if [ ! "$islothere" -o ! "isrothere" ];then

? ? ? ? ? ?# Either the route or the lo:0 device

? ? ? ? ? ?# not found.

? ? ? ? ? ?echo "LVS-DR real server Stopped."

? ? ? ?else

? ? ? ? ? ?echo "LVS-DR real server Running."

? ? ? ?fi

;;

*)

? ? ? ? ? ?# Invalid entry.

? ? ? ? ? ?echo "$0: Usage: $0 {start|status|stop}"

? ? ? ? ? ?exit 1

;;

esac

4、在web1上執行此腳本,來完成viparp參數的設置

sh startrs.sh

然后查看相關IP參數信息

ifconfig

5、將Web1配置復制到web2

然后查看相關IP參數信息

ifconfig


四、DR上相關軟件的安裝和配置

1、安裝keepalive軟件,這里使用的是已經制作好的rpm包進行安裝

yum -y --nogpgcheck localinstall keepalived-1.2.7-5.el5.i386.rpm ? #不校驗并自動安裝









2ipvsadm軟件安裝,用于后面的ipvs規則的查看。

yum y install ipvsadm ?#安裝用戶空間工具ipvsadm

ipvsadm L n ? ? ? ? ? ?#查看系統ipvs規則

如此般,我們的keepalived就安裝完畢!~


五、keepalive配置文件的詳解


? keepalive的配置文件是/etc/keepalived/keepalived.conf,其文件內分為:全局配置、vrrp配置、lvs配置、服務程序監控檢查


(1)全局配置:


! Configuration File for keepalived ? ? ? ? ? ? ?

global_defs { ? ? ? ? ? ? ? ? ? ? ? ? ? ? #全局配置,配置參數為{}內的內容 ?

?notification_email { ? ? ? ? ? ? ? #keepalive服務服務信息通知郵箱,可以為多個 ? ?

?acassen@firewall.loc

? ? ?failover@firewall.loc

? ? ?sysadmin@firewall.loc

} ? ?

?notification_email_from Alexandre.Cassen@firewall.loc ? ?

?smtp_server 127.0.0.1 ? ? ? ? ? ? ? ? ? #smtp服務器 ? ?

?smtp_connect_timeout 30 ? ? ? ? ? ? ? ? ? ? ?#連接smtp超時時間 ? ?

?router_id LVS_DEVEL ?

(2):虛擬路由組

vrrp_instance VI_1 ?{

state MASTER

interface eth0

virtual_router_id 51

priority 101

advert_int 1

authentication ?{

auth_type PASS

auth_pass password

?}

virtual_ipaddress {

172.16.10.1

?}

?}

(3):Virtual_serverreal_server設置


virtual_server 172.16.10.1 80 {

delay_loop 6

lb_algo wlc

Lb_kind DR

nat_mask 255.255.0.0

persistence_timeout 50

protocol TCP

real_server 192.168.0.210 ?80 {

weight 1

url {

path /

status_code 200

?}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

?}

?}

virtual_server 172.16.10.1 80 {

delay_loop 6

lb_algo rr

lb_kind DR

nat_mask 255.255.0.0

persistence_timeout 50

protocol TCP

real_server 192.168.0.211 ?80 {

weight 1

url {

path /

status_code 200

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

(4):更改完成后復制到DS2上相同的一份,并把其中的state改成BACKUPpriority修改為100,其他的保存不變



(5)至此我們的DS高可用已經設置完了,啟動keepalive測試下效果吧


? ?DS1DS2上分別開啟keepalive服務

? ?service keepalived start

? ?ip addr show

(6)


(7)下面用Vip訪問一下我們的web,看是否能成功


? 刷新一下

(8)下面模擬一下DS1 down掉吧~看看其vip能否否自動漂移

? ?DS1上停止keepalive服務

? ?service keepalived stop


此時再看DS2IP


再用vip進行web訪問:


? ?以上就是keepalived所要實現的基于LVS高可用的一些功能,當然它的功能遠不止這些,這里只講了一小部分(其他以后會慢慢補充),希望對讀者有所幫助哦!


轉載于:https://blog.51cto.com/mg5211/1202942

總結

以上是生活随笔為你收集整理的Keepalived实现LVS的高可用全解析的全部內容,希望文章能夠幫你解決所遇到的問題。

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