Lvs + Keepalived

lvs三種工作模式:NAT(地址轉(zhuǎn)換)IP Tunneling(隧道)DR(直接路由)

DR:

1.檢查是否安裝ipvs模塊

# lsmod | grep ip_vs

# yum install -y ipvsadm

1.1 install ipvsadm Download ipvsadm-1.24.tar.gz?? http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz??? //安裝ipvsadm需要安裝gcc包

# tar zxvf ipvsadm-1.24.tar.gz

# ln -s /usr/src/kernels/2.6.18-53.el5-i686 /usr/src/linux

# ls -l /usr/src/

total 16

drwxr-xr-x 3 root root 4096 Jun 24 17:28 kernels

lrwxrwxrwx 1 root root 35 Aug 3 18:35 linux -> /usr/src/kernels/2.6.18-53.el5-i686 ?//*ipvsadm安裝不成功,2.6.18的link指向/usr/src/kernels/2.6.18-398.el5-x86_64根據(jù)實(shí)際情況改動(dòng), kernel.x86_64 kernel-devel.x86_64 kernel-headers.x86_643個(gè)包文件得具備

drwxr-xr-x 7 root root 4096 Jun 24 17:27 redhat

#cd ipvsadm-1.24

[ipvsadm-1.24]# make && make install

2.配置LVS負(fù)載均衡

ipvsadm -C????????????? //清除當(dāng)前所有LVS規(guī)則

ipvsadm --set 30 5 60???????????? //設(shè)置tcp、tcpfin、udp鏈接超時(shí)時(shí)間

ipvsadm -A -t 10.0.0.3:80 -s rr(輪詢) -p 20????????? //添加虛擬服務(wù)(-A),-t指定VIP加端口,-s調(diào)度算法,-p會(huì)話保持

ipvsadm -a -t 10.0.0.3:80 -r 10.0.0.7:80 -g?? //將虛擬服務(wù)關(guān)聯(lián)到真實(shí)服務(wù)上(-a),-g DR模式

3.開啟路由轉(zhuǎn)發(fā)

# vi /etc/sysctl.conf

net.ipv4.ip_forward = 1???????? //此參數(shù)改為1

# sysctl -p?????????????????????????????// 使修改生效

4.安裝keepalived

Download keepalived-1.1.15.tar.gz???? //依賴openssl

http://www.keepalived.org/software/keepalived-1.1.15.tar.gz

# tar zxvf keepalived-1.1.15.tar.gz

# cd keepalived-1.1.15

# ./configure?????????????????????????????????????????? //

……………省略……………………………………

Keepalived configuration

------------------------

?Keepalived version : 1.1.15

Compiler : gcc

Compiler flags : -g -O2

Extra Lib : -lpopt -lssl -lcrypto

Use IPVS Framework : Yes????????? //提示YES,安裝成功???????????????????

IPVS sync daemon support : Yes???? //提示YES,安裝成功

Use VRRP Framework : Yes?????????? //提示YES,安裝成功

Use LinkWatch : No

Use Debug flags : No

……………結(jié)束……………………………………

# make && make install

5.配置keepalived

# vi /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

?????? notification_email {

????????????? xxx@xxx.com????????? //配置郵箱

}

notification_email_from lvs1@xxx.com????? //定義虛擬發(fā)件郵箱名

smtp_server 10.232.xx.xxx???????????????? //配置郵件服務(wù)器

smtp_connect_timeout 60

router_id? LVS_LEVEL

}

vrrp_instance VI_1 {

?????????? state MASTER

???????????interface eth0

?????????? virtual_router_id 90

??????????priority 200

????????? advert_int 1

????????? authentication {

??????????????? auth_type PASS

????????????????auth_pass 1111

??? ?}

???????????virtual_ipaddress {

??????????????????? $VIP/24

?? ?}

?}

?virtual_server $VIP 80{

???????? ?delay_loop 6

??????????lb_algo rr??????????? //指定輪詢模式

????????? lb_kind DR???????? //DR模式

????????? persistence_timeout 50

????????? protocol TCP

???????? real_server 10.23x.1xx.11 80{

??????????????? weight 50

??????????????? TCP_CHECK {

???????????????????????????? connect_timeout 10

???????????????????????????? nb_get_retry 3

???????????????????????????? delay_before_retry 5

????????????????? }

??????? }?

?}

5.1 COPY keepalive to services

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

5.2 Set keepalived auto start/stop when SYSTEM start/stop

ln -s /etc/init.d/keepalived /etc/rc0.d/K79keepalived

ln -s /etc/init.d/keepalived /etc/rc1.d/K79keepalived

ln -s /etc/init.d/keepalived /etc/rc2.d/K79keepalived

ln -s /etc/init.d/keepalived /etc/rc3.d/K79keepalived

ln -s /etc/init.d/keepalived /etc/rc4.d/K79keepalived

ln -s /etc/init.d/keepalived /etc/rc6.d/K79keepalived

ln -s /etc/init.d/keepalived /etc/rc5.d/S21keepalived


6.配置realserver

#vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

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

# ifconfig lo:0 $VIP netmask 255.255.255.255 broadcast $VIP up

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

7.測(cè)試

# ipvsadm? -Ln





最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容