Keepalived+LVS的双机双vip安装和配置

环境的说明:

MASTER:   物理ip:192.168.1.102     vip:192.168.1.106

BACKUP:   物理ip:192.168.1.103     vip:192.168.1.107

Realsever1:    物理ip:192.168.1.104

Realsever2:    物理ip:192.168.1.105

1、Keepalived的安装(主和备的安装方式一样)

tar  zxvf  keepalived-1.2.15.tar.gz

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

make

make   install

2、keepalived的配置

cp  /usr/local/keepalived/etc/rc.d/init.d/keepalived  /etc/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 /sbin/

keepalived的master配置文件(基于url检查RS的存活

more  /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

[email protected]

}

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id  LVS_MASTER

}

vrrp_instance VI_1 {

state  MASTER

interface eth0

lvs_sync_daemon_interface  eth0

virtual_router_id  51

priority  150

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.106

}

}

virtual_server 192.168.1.106 80 {

delay_loop 3

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 50

protocol TCP

real_server 192.168.1.104 80 {

weight 1

HTTP_GET {

url {

path /check.html

digest  eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.1.105 80 {

weight 1

HTTP_GET {

url {

path /check.html

digest   eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

vrrp_instance VI_2 {

state BACKUP

interface eth0

lvs_sync_daemon_interface  eth0

virtual_router_id 52

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 2222

}

virtual_ipaddress {

192.168.1.107

}

}

virtual_server 192.168.1.107 80 {

delay_loop 3

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 50

protocol TCP

real_server 192.168.1.104 80 {

weight 1

HTTP_GET {

url {

path /check.html

digest   eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.1.105 80 {

weight 1

HTTP_GET {

url {

path  /check.html

digest   eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

keepalived的backup配置文件(基于url检查RS的存活)

more /etc/keepalived/keepalived.conf

! Configuration File for keepalived

global_defs {

notification_email {

[email protected]

}

notification_email_from [email protected]

smtp_server 127.0.0.1

smtp_connect_timeout 30

router_id  LVS_BACKUP

}

vrrp_instance VI_1 {

state BACKUP

interface eth1

lvs_sync_daemon_interface  eth1

virtual_router_id 51

priority 100

advert_int 1

authentication {

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.1.106

}

}

virtual_server 192.168.1.106 80 {

delay_loop 3

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 50

protocol TCP

real_server 192.168.1.104 80 {

weight 1

HTTP_GET {

url {

path /check.html

digest   eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.1.105 80 {

weight 1

HTTP_GET {

url {

path /check.html

digest   eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

vrrp_instance VI_2 {

state MASTER

interface eth1

lvs_sync_daemon_interface  eth1

virtual_router_id 52

priority 150

advert_int 1

authentication {

auth_type PASS

auth_pass 2222

}

virtual_ipaddress {

192.168.1.107

}

}

virtual_server 192.168.1.107 80 {

delay_loop 3

lb_algo rr

lb_kind DR

nat_mask 255.255.255.0

persistence_timeout 50

protocol TCP

real_server 192.168.1.104 80 {

weight 1

HTTP_GET {

url {

path /check.html

digest   eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

real_server 192.168.1.105 80 {

weight 1

HTTP_GET {

url {

path /check.html

digest   eff5bc1ef8ec9d03e640fc4370f5eacd

}

connect_timeout 3

nb_get_retry 3

delay_before_retry 3

}

}

}

注意:黄色标记的是master和backup的不同之处

 

在主备启动keepalived

 

 /etc/init.d/keepalived  start

3、lvs的安装(主备相同)

tar  zxvf   ipvsadm-1.26.tar.gz

cd  ipvsadm-1.26

ln  -s  /usr/src/kernels/2.6.32-504.8.1.el6.i686/    /usr/src/linux

注意:如果在/usr/src/kernels/下面没有相关的内核版本,是因为没有安装kernels-dev的安装包导致的,安装之后就好了.

 

make

make install

4、RS机器的相关配置(手动配置)

a)抑制arp广播

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

b) 在lo配置虚拟2个vip地址

/sbin/ifconfig  lo:1 192.168.1.106 netmask 255.255.255.255 up

/sbin/ifconfig  lo:1 192.168.1.107 netmask 255.255.255.255 up

C)自动配置相关的脚本

#!/bin/bash

#

# lvsdrrs init script to hide loopback interfaces on LVS-DR

# Real servers. Modify this script to suit

# your needs. You at least need to set the correct VIP address(es).

#

# Script to start LVS DR real server.

#

# chkconfig: 2345 20 80

# description: LVS DR real server

#

# You must set the VIP address to use here:

#指定虚拟IP

VIP=222.76.222.70

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

;;

status)

# Status of LVS-DR real server.

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

isrothere=`netstat -rn | grep "lo" | 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 Running."

fi

;;

*)

# Invalid entry.

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

exit 1

;;

esac

d)  安装httpd服务并且创建测试页面

由于httpd的安装非常简单这里不做叙述了,在RS2台机器上创建2个不同的测试页面用于查看到负载的效果。

RS1:        192.168.1.104  RS1

RS2:        192.168.1.105  RS2

5、高可用和负载均衡的相关测试

在主备服务器通过ip  add命令查看vip是否存在

然后通过浏览器访问vip看是否可以正常打开网页内容

通过以上的测试可以看出来,lvs的负载均衡的功能已经实现。

其他的测试如下:

1、停止主备的keepalived,看vip是否可以正常切换到对方,并且在浏览器可以正常的访问到页面。

2、关掉RS1或者RS2的httpd服务,看下ipvadmin是否正常的剔除了有故障服务器。

~~~~~~~~~~~~~~~~~~~end~~~~~~~~~~~~~

原文地址:http://blog.51cto.com/wuhui1994/2068864

时间: 2024-09-07 11:08:28

Keepalived+LVS的双机双vip安装和配置的相关文章

keepalived+LVS 实现双机热备、负载均衡、失效转移 高性能 高可用 高伸缩性 服务器集群

本章笔者亲自动手,使用LVS技术实现实现一个可以支持庞大访问量.高可用性.高伸缩性的服务器集群 在读本章之前,可能有不少读者尚未使用该技术,或者部分读者使用Nginx实现应用层的负载均衡.这里大家都可以阅读本章,即使部分读者使用Nginx负载均衡,但是在大流量下性能相对于工作在链路层的LVS真是不能同日而语,并且LVS不仅可以实现WEB方面的负载均衡,其他诸如数据库.FTP.Mail等都可以实现. 通常对于小型网站,很多都使用单台服务器,顶多在弄个缓存服务器.数据库服务器.但是一旦流量上来,单台

Mysql HA-Install Keepalived+LVS+Mysql(双主) On Redhat 6.3

主机信息: 调度节点: Name:lvs OS:Redhat 6.3 IP:192.168.56.235 VIP:192.168.56.236 数据节点1: Name:zbdba1 OS:Redhat 6.3 IP:192.168.56.230 数据节点2: Name:zbdba2 OS:Redhat 6.3 IP:192.168.56.231 客户端: Name:ogg2 OS:Redhat 6.3 IP:192.168.56.231 描述:数据节点1跟数据节点2互为主从 ,应用从客户端访问调

Keepalived+LVS实现高可用负载均衡双主模式

LVS是一种集群(Cluster)技术:采用IP负载均衡技术和基于内容请求分发技术.调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的.高可用的虚拟服务器.整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序.工作在四层,在内核空间工作,基于ipvs模块,不占用流量. 双机高可用方法目前分为两种: 1)双机主从模式:即前端使用两台服务器,一台主服务器和一台热备服务器,正常情况下,主服务器绑定一个公网虚拟

部署nginx+keepalived实现双机双主高可用性环境

双机热备,意思是说两台机器一台处于运行中,另一台永久处于备份.这样的话资源浪费严重,适用于国企,政府类系统.今天我们所讲的是双机双主热备,意味着两台机器同时处于工作状态,两台主机又同时为备份状态. 准备: 两台主机192.168.100.128/24 192.168.100.129/24 两个单独的ip 192.168.100.133/24 192.168.100.134/24 可以将你域名解析到这两个单独的ip,keepalived会将这两个ip通过虚拟ip技术漂移到两台主机上.如果一台机器d

MYSQL + MHA +keepalive + VIP安装配置(三)--keepalived安装配置

一.概述 keepalived介绍:Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web 服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人 工做的只是修复故障的web服务器. 二.环境 ? 1 2 3 vip:192.168.1.203\204 mysql-master:192.168.1.231 mysql-

LVS+Nginx(LVS + Keepalived + Nginx安装及配置)

(也可以每个nginx都挂在上所有的应用服务器) nginx大家都在用,估计也很熟悉了,在做负载均衡时很好用,安装简单.配置简单.相关材料也特别多. lvs是国内的章文嵩博士的大作,比nginx被广泛接受还要早7年,并且已经被红帽作为了系统内置软件,可谓很牛了.lvs相对于nginx来说配置上就要相对复杂一些. 但是,有时候我们会看到大牛们分享的经验里面是lvs+nginx作为负载均衡了,一直想不明白这是个什么道理. 为什么会出现两者被同时使用呢?其实,这要从两者的各自优势来说了. nginx用

架构设计:负载均衡层设计方案(7)——LVS + Keepalived + Nginx安装及配置

1.概述 上篇文章<架构设计:负载均衡层设计方案(6)--Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/article/details/47130609) 我们解说了Nginx的故障切换.而且承诺各位读者会尽快解说 LVS + Keepalived + Nginx的安装和配置.在中间由于工作的原因.我又插写了三篇关于zookeeper的原理使用的文章.今天这边文章我们回归主题.为各位读者解说LVS + Keepalive

LVS + Keepalived + Nginx安装及配置

1.概述 上篇文章<架构设计:负载均衡层设计方案(6)——Nginx + Keepalived构建高可用的负载层>(http://blog.csdn.net/yinwenjie/article/details/47130609) 我们讲解了Nginx的故障切换,并且承诺各位读者会尽快讲解 LVS + Keepalived + Nginx的安装和配置.在中间由于工作的原因,我又插写了三篇关于zookeeper的原理使用的文章.今天这边文章我们回归主题,为各位读者讲解 LVS + Keepaliv

nginx+keepalived实现双机双主高可用性

1.前言 上篇文章我们配置的双机热备,意思是说两台机器一台处于运行中,另一台永久处于备份.这样的话资源浪费严重,适用于国企,政府类系统.今天我们所讲的是双机双主热备,意味着两台机器同时处于工作状态,两台主机又同时为备份状态. 2.准备: 两台主机192.168.100.128/24 192.168.100.129/24 两个单独的ip 192.168.100.133/24 192.168.100.134/24 可以将你域名解析到这两个单独的ip,keepalived会将这两个ip通过虚拟ip技术