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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

keepalived 多个应用_Keepalived与LVS部署多个服务

發布時間:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 keepalived 多个应用_Keepalived与LVS部署多个服务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Keepalived與LVS部署多個服務

陳信

20120718

說明:

主從機都需要安裝ipvsadm和keepalived;

后端機器不用安裝,只需要啟動vip腳本;

yum -y install kernel-devel

yum -y update kernel

modprobe ip_vs #內核加載ip_vs模塊

lsmod |grep ip_vs #查看是否加載成功。

cp /usr/src/kernels/2.6.18-274.el5(版本不同路徑會不同)/include/net/ip_vs.h /usr/inclide/net/ #這個很重要,否則在安裝ipvsadm的時候會提示缺少*.h文件

yum -y install openssl openssl-devel #安裝keepalived需要

前期準備工作完成;

比如gcc gcc-c++(yum install gcc* -y)之類的;

現在準備下載ipvsadm和keepalived了

wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

wget http://www.keepalived.org/software/keepalived-1.2.2.tar.gz

tar xzvf ipvsadm-1.24.tar.gz

cd ipvsadm-1.24

make && make install

安裝完成,會多出以下文件。

/sbin/ipvsadm

/sbin/ipvsadm-save

/sbin/ipvsadm-restore

/usr/man/man8/ipvsadm.8

/usr/man/man8/ipvsadm-save.8

/usr/man/man8/ipvsadm-restore.8

/etc/rc.d/init.d/ipvsadm

tar xzvf keepalived-1.2.2.tar.gz

cd keepalived-1.2.2

./configure --prefix=/usr/local/keepalived

make && make install

正確完成安裝會顯示如下信息:

Keepalived configuration

Keepalived version : 1.2.2

Compiler : gcc

Compiler flags : -g -O2

Extra Lib : -lpopt -lssl -lcrypto

Use IPVS Framework : Yes

IPVS sync daemon support : Yes

IPVS use libnl : No

Use VRRP Framework : Yes

Use Debug flags : No

然后對keepalived做以下操作:

cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/

cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig

mkdir /etc/keepalived

cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/

cp /usr/local/keepalived/sbin/keepalived /usr/sbin/

配置keepalived.conf

vi /etc/keepalived/keepalived.conf

主機192.168.40.18 備機192.168.40.4 后端192.168.40.5 192.168.40.6 VIP192.168.40.7

主機.18:

cat keepalived.conf

global_defs { #可以在global_defs下定義郵件通知功能

router_id LVS_login

}

vrrp_instance VI_1 {

state BACKUP

nopreempt #設置為不搶占;注意該參數只能在BACKUP的state上設置,且priority必須比另外一臺高

interface eth0 #實例綁定的網卡

track_interface { #設置額外的監控,內部的任何一塊網卡出現問題,都會進入FAULT狀態.

eth0 #可以設多塊網卡

}

virtual_router_id 56 # 保持主從服務器一致,VRID的標記(0..255)

priority 150 # 優先級 (主服務器較高,數值大的競選為master)

advert_int 1 # 心跳廣播間隔(秒)

authentication { # 認證

auth_type PASS # 支持PASS和AH

auth_pass css74..tfwwapmzi4r

}

virtual_ipaddress { #指定漂移IP地址,即VIP.傳遞給ip addr 命令.

192.168.40.7/32 dev eth0 scope global # 虛擬IP地址,可以多個,掩碼位設置為32,獨立IP地址.dev eth0為設備eth0上添加地址.scope global為全局范圍,此處的配置都是符合linux的ip命令的格式的.

}

}

virtual_server 192.168.40.7 4399 {

delay_loop 6 #檢測的間隔時間

lb_algo wrr #lvs調度算法

lb_kind DR #lvs方式(TUN DR NAT)三種

nat_mask 255.255.0.0

persistence_timeout 50 #持久連接超時時間

protocol TCP #通信協議

sorry_server 192.168.100.100 80 #當后端realserver都掛掉時使用的server

real_server 192.168.40.5 4399 {

weight 1

TCP_CHECK { #健康檢查方式

connect_timeout 10 #連接超時時間

nb_get_retry 3 #嘗試連接次數

delay_before_retry 3 #兩次成功retry之間的時間

connect_port 4399

}

}

real_server 192.168.40.6 4399 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 4399

}

}

}

之后仍可以定義多個virtual_server 192.168.40.7 port

配置文件到此結束

從機.4

cat keepalived.conf

global_defs { #可以在global_defs下定義郵件通知功能

router_id LVS_login

}

vrrp_instance VI_1 {

state BACKUP

nopreempt #設置為不搶占;注意該參數只能在BACKUP的state上設置,且priority必須比另外一臺高

interface eth1 #實例綁定的網卡

track_interface { #設置額外的監控,內部的任何一塊網卡出現問題,都會進入FAULT狀態.

eth1

}

virtual_router_id 56 # 保持主從服務器一致,VRID的標記(0..255)

priority 100 # 優先級 (主服務器較高,數值大的競選為master)

advert_int 1 # 心跳廣播間隔(秒)

authentication { # 認證

auth_type PASS # 支持PASS和AH

auth_pass css74..tfwwapmzi4r

}

virtual_ipaddress { #指定漂移IP地址,即VIP.傳遞給ip addr 命令.

192.168.40.7/32 dev eth1 scope global # 虛擬IP地址,可以多個,掩碼位設置為32,獨立IP地址.dev eth1為設備eth1上添加地址.scope global為全局范圍,此處的配置都是符合linux的ip命令的格式的.

}

}

virtual_server 192.168.40.7 4399 {

delay_loop 6

lb_algo wrr

lb_kind DR

nat_mask 255.255.0.0

persistence_timeout 50

protocol TCP

real_server 192.168.40.5 4399 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 4399

}

}

real_server 192.168.40.6 4399 {

weight 1

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 4399

}

}

}

后端機器配置腳本:

cat VIP.sh

!/bin/bash

LVS houduan

Chenxin 20120718

VIP=192.168.40.7

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

case "$1" in

start)

ifconfig lo:0 $VIP broadcast $VIP netmask 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

echo "realServer Start ok"

;;

stop)

ifconfig lo:0 down

route del $VIP >/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"

;;

*)

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

exit 1

esac

exit 0

檢查:

ip addr

1: lo: mtu 16436 qdisc noqueue state UNKNOWN

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope host lo

inet6 ::1/128 scope host

valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000

link/ether 00:0c:29:66:76:59 brd ff:ff:ff:ff:ff:ff

inet 192.168.40.18/26 brd 192.168.40.63 scope global eth0

inet 192.168.40.7/32 scope global eth0

inet6 fe80::20c:29ff:fe66:7659/64 scope link

valid_lft forever preferred_lft forever

[root@Sz-test keepalived]# ipvsadm

IP Virtual Server version 1.2.1 (size=4096)

Prot LocalAddress:Port Scheduler Flags

-> RemoteAddress:Port Forward Weight ActiveConn InActConn

TCP 192.168.40.7:4399 wrr persistent 50

-> 192.168.40.6:4399 Route 1 1 0

-> 192.168.40.5:4399 Route 1 0 0

可以嘗試登錄4399端口,并ifconfig看一下在哪臺機器上;同一臺機器會一直連同一個后端,換一臺機器就連另一個后端了。

詳解keepalived配置文件

Configuration File for keepalived

global_defs {

notification_email {

admin@domain.com #可以寫多個,用于接收郵件

....

}

notification_email_from keepalived@domain.com #發送通知郵件的地址

smtp_server 192.168.200.20 #郵件服務器地址

smtp_connect_timeout 30 #連接郵件服務器超時的時間

lvs_id LVS_MAIN #主管lvs的名字

}

vrrp_instance VI_1 {

state MASTER #備份服務器上改成BACKUP

interface eth0 #VIP所在的網卡接口

virtual_router_id 51

priority 100 #備份服務器上將100改成99

advert_int 1

#nopreempt #master和slave不搶占

authentication { #身份認證

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.200.15

#如果有多個VIP繼續換行寫

}

}

virtual_server 192.168.200.15 80 { # VIP的ip和端口

delay_loop 3 #檢測的間隔時間

lb_algo wrr #lvs調度算法

lb_kind NAT #lvs方式(TUN|DR|NAT)三種方式

presistence_timeout 50 #持久連接超時的時間

protocol TCP #使用的協議TCP/UDP

sorry_server 192.168.100.100 80 #當后端realserver都down掉時使用的server

real_server 192.168.100.2 80 { #后端的real_server

weight 2 #權重

HTTP_GET { #健康檢測的方式 HTTP_CHECK |SSL_GET|HTTP_GET|

url {

path /testurl/test.php #get的文件名稱

digest 640205b7b0fc66clea91c463fac6334c

}

connect_timeout 3 # 連接超時時間

nb_get_retry 3 #嘗試連接的次數

delay_before_retry 2 #兩次成功retry之間的時間

}

}

real_server 192.168.100.3 80 { #后端的real_server

weight 2 #權重

HTTP_GET { #健康檢測的方式 TCP_CHECK |SSL_GET|HTTP_GET|

url {

path /testurl/test.php #get的文件名稱

digest 640205b7b0fc66clea91c463fac6334c

}

connect_timeout 3 # 連接超時時間

nb_get_retry 3 #嘗試連接的次數

delay_before_retry 2 #兩次成功retry之間的時間

}

}

}

virtual_server 192.168.200.15 443 {

delay_loop 20

lb_algo rr

lb_kind NAT

persistence_timeout 360

protocol TCP

real_server 192.168.100.2 443 {

weight 1

TCP_CHECK {

connect_timeout 3

}

}

real_server 192.168.100.3 443 {

weight 1

TCP_CHECK {

connect_timeout 3

}

}

}

· 全局定義塊

1、 email通知。作用:有故障,發郵件報警。這是可選項目,建議不用,用nagios全面監控代替之。

2、 Lvs負載均衡器標識(lvs_id)。在一個網絡內,它應該是唯一的。

3、 花括號“{}”。用來分隔定義塊,因此必須成對出現。如果寫漏了,keepalived運行時,不會得到預期的結果。由于定義塊內存在嵌套關系,因此很容易遺漏結尾處的花括號,這點要特別注意。

· VRRP定義塊

1、 同步vrrp組vrrp_sync_group。作用:確定失敗切換(FailOver)包含的路由實例個數。即在有2個負載均衡器的場景,一旦某個負載均衡器失效,需要自動切換到另外一個負載均衡器的實例是哪些?

2、 實例組group.至少包含一個vrrp實例。

3、 Vrrp實例vrrp_instance.實例名出自實例組group所包含的那些名字。

(1) 實例狀態state.只有MASTER和BACKUP兩種狀態,并且需要大寫這些單詞。其中MASTER為工作狀態,BACKUP為備用狀態。當MASTER所在的服務器失效時,BACKUP所在的系統會自動把它的狀態有BACKUP變換成MASTER;當失效的MASTER所在的系統恢復時,BACKUP從MASTER恢復到BACKUP狀態。

(2) 通信接口interface。對外提供服務的網絡接口,如eth0,eth1.當前主流的服務器都有2個或2個以上的接口,在選擇服務接口時,一定要核實清楚。

(3) lvs_sync_daemon_inteface。負載均衡器之間的監控接口,類似于HA HeartBeat的心跳線。但它的機制優于Heartbeat,因為它沒有“裂腦”這個問題,它是以優先級這個機制來規避這個麻煩的。在DR模式中,lvs_sync_daemon_inteface 與服務接口interface 使用同一個網絡接口。

(4) 虛擬路由標識virtual_router_id.這個標識是一個數字,并且同一個vrrp實例使用唯一的標識。即同一個vrrp_stance,MASTER和BACKUP的virtual_router_id是一致的,同時在整個vrrp內是唯一的。

(5) 優先級priority.這是一個數字,數值愈大,優先級越高。在同一個vrrp_instance里,MASTER 的優先級高于BACKUP。若MASTER的priority值為150,那么BACKUP的priority只能是140或更小的數值。

(6) 同步通知間隔 advert_int .MASTER與BACKUP負載均衡器之間同步檢查的時間間隔,單位為秒。

(7) 驗證authentication。包含驗證類型和驗證密碼。類型主要有PASS、AH兩種,通常使用的類型為PASS,據說AH使用時有問題。驗證密碼為明文,同一vrrp實例MASTER與BACKUP 使用相同的密碼才能正常通信。

4、 虛擬ip地址virtual_ipaddress . 可以有多個地址,每個地址占一行,不需要指定子網掩碼。注意:這個ip必須與我們在lvs客戶端設定的vip相一致!

· 虛擬服務器virtual_server定義塊

虛擬服務器定義是keepalived框架最重要的項目了,是keepalived.conf必不可少的部分。

1、 虛擬服務器virtual_server. 這個ip來自于vrrp定義塊的第“4”步,后面一個空格,然后加上端口號。定義一個vip,可以實現多個tcp端口的負載均衡功能。

(1) delay_loop。健康檢查時間間隔,單位是秒。

(2) lb_algo. 負載均衡調度算法,互聯網應用常使用wlc或rr。

(3) lb_kind. 負載均衡轉發規則。一般包括DR,NAT,TUN3種,在我的方案中,都使用DR的方式。

(4) persistence_timeout.會話保持時間,單位是秒。這個選項對動態網站很有用處:當用戶從遠程用帳號進行登陸網站時,有了這個會話保持功能,就能把用戶的請求轉發給同一個應用服務器。在這里,我們來做一個假設,假定現在有一個lvs 環境,使用DR轉發模式,真實服務器有3個,負載均衡器不啟用會話保持功能。當用戶第一次訪問的時候,他的訪問請求被負載均衡器轉給某個真實服務器,這樣他看到一個登陸頁面,第一次訪問完畢;接著他在登陸框填寫用戶名和密碼,然后提交;這時候,問題就可能出現了—登陸不能成功。因為沒有會話保持,負載均衡器可能會把第2次的請求轉發到其他的服務器。

(5) 轉發協議protocol.一般有tcp和udp兩種。實話說,我還沒嘗試過udp協議類的轉發。

2、 真實服務器real_server.也即服務器池。Real_server的值包括ip地址和端口號。多個連續的真實ip,轉發的端口相同,是不是可以以范圍表示?需要進一步實驗。如寫成real_server 61.135.20.1-10 80 .

(1) 權重weight.權重值是一個數字,數值越大,權重越高。使用不同的權重值的目的在于為不同性能的機器分配不同的負載,性能較好的機器,負載分擔大些;反之,性能差的機器,則分擔較少的負載,這樣就可以合理的利用不同性能的機器資源。

(2) Tcp檢查 tcp_check.

總結

以上是生活随笔為你收集整理的keepalived 多个应用_Keepalived与LVS部署多个服务的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 97精品国产97久久久久久粉红 | 香蕉视频在线免费播放 | 91成人在线观看高潮 | 日韩成人高清视频在线观看 | 黑人操白妞 | 日本加勒比中文字幕 | 午夜亚洲国产 | 欧美69av | 久久久久这里只有精品 | 男女黄色又爽大片 | 一区二区三区精品视频在线观看 | 91嫩草欧美久久久九九九 | 狠狠操综合 | 成人中文视频 | 国产毛片久久久久久 | 欧美激情一区在线 | 三上悠亚在线播放 | 亚洲三区在线观看无套内射 | 国产区高清 | 成人免费黄色片 | 男生把女生困困的视频 | 成人免费在线视频网站 | 欧美午夜精品一区二区蜜桃 | 日韩一区二区毛片 | 色五丁香 | 亚洲av无码专区在线电影 | 女人脱下裤子让男人捅 | 免费观看日本 | 国产一区二区视频在线观看 | 日本猛少妇色xxxxx | 欧美综合影院 | 欧美成人三区 | 播放黄色一级片 | 日韩av一卡二卡 | 亚洲欧美日韩电影 | 亚洲男女一区二区三区 | 福利av在线 | 青青草原成人 | 久久高清免费视频 | 日日夜夜天天 | 国产美女激情 | 一区二区三区 日韩 | 欧美一区二区视频在线观看 | 中文欧美日韩 | 久久无码视频网站 | 色妻av| 青青草免费在线 | 欧美无极品 | 久久黄色影院 | 99久久婷婷国产精品综合 | 中国大陆毛片 | 中文字幕第 | 中文字幕――色哟哟 | 久色国产| 免费在线看视频 | 人妻色综合网站 | 99热超碰在线 | 青青草娱乐视频 | 欧美性xxxxx 亚洲特黄一级片 | 骚av在线| www国产| 91网在线看| 欧美高清在线视频 | 欧美日韩成人在线播放 | 美女一级 | 日韩视频免费观看高清完整版在线观看 | 无码人妻精品一区二 | 500福利视频导航 | www日本在线| 美女被草视频在线观看 | 日韩一区二区免费在线观看 | 国产3页| 樱花草涩涩www在线播放 | 波多野结衣中文字幕久久 | 成人免费在线网站 | 热播网| 三级黄色短视频 | 天天做日日干 | 性一交一乱一透一a级 | 免费三片在线观看网站v888 | 亚洲人成高清 | 亚洲天堂网在线视频 | 中文在线字幕观看 | 男人天堂国产 | 成人啪啪18免费游戏链接 | 亚洲欧美日韩精品 | 色哟哟国产精品色哟哟 | 国产精品国产三级国产aⅴ 欧美bbbbbbbbbbbb18av | 有声小说 成人专区 | 欧美精品第二页 | 国产精品呻吟 | 国产精品视频免费观看 | 欧美色图网站 | 一区二区三区激情视频 | 交专区videossex | 成a人v| 男人天堂手机在线 | 久久理论电影 | 丁香六月av |