lvs(dr)+keepalived

LVS原理请看:http://ixdba.blog.51cto.com/2895551/552947

LVS-MASTER   192.168.100.113

LVS-BACKUP   192.168.100.116

REALSERVER1  192.168.100.114

REALSERVER2  192.168.100.115

VIP          192.168.100.125

一. 在LVS-MASTER跟LVS-BACKUP安装keepalived跟ipvsadm,我选择yum安装

[[email protected] ~]# yum install -y ipvsadm keepalived

安装完成后配置keepalived

LVS-MASTER配置:

[[email protected] ~]# cd /etc/keepalived/

[[email protected] keepalived]# > keepalived.conf

[[email protected] keepalived]# vim keepalived.conf

将此段代码复制进去

global_defs {

notification_email {

[email protected]

}

notification_email_from [email protected]

smtp_server 192.168.80.1

smtp_connection_timeout 30

router_id LVS_DEVEL  # 设置lvs的id,在一个网络内应该是唯一的

}

vrrp_instance VI_1 {

state MASTER   #指定Keepalived的角色,MASTER为主,BACKUP为备

interface eth0  #设置对外服务的接口

virtual_router_id 51  #虚拟路由编号,主备要一致

priority 100  #定义优先级,数字越大,优先级越高,主DR必须大于备用DR

advert_int 1  #检查间隔,默认为1s

authentication {  #设置验证类型和密码,master和buckup一定要设置一样

auth_type PASS

auth_pass 1111

}

virtual_ipaddress {

192.168.100.125  #定义虚拟IP(VIP)为192.168.100.125,可多设,每行一个

}

}

# 定义对外提供服务的LVS的VIP以及port

virtual_server 192.168.100.125 80 {

delay_loop 6 # 设置健康检查时间,单位是秒

lb_algo wrr # 设置负载调度的算法为wlc

lb_kind DR # 设置LVS实现负载的机制,有NAT、TUN、DR三个模式

nat_mask 255.255.255.0

persistence_timeout 0     #会话保持时间,单位秒

protocol TCP

real_server 192.168.100.114 80 {  # 指定real server1的IP地址

weight 3   # 配置节点权值,数字越大权重越高

TCP_CHECK {

connect_timeout 10     #连接超时时间

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

real_server 192.168.100.115 80 {  # 指定real server2的IP地址

weight 3  # 配置节点权值,数字越大权重越高

TCP_CHECK {

connect_timeout 10

nb_get_retry 3

delay_before_retry 3

connect_port 80

}

}

}

启动keepalived 服务

[[email protected] ~]# service keepalived start

正在启动 keepalived:                                      [确定]

[[email protected] ~]# chkconfig keepalived on

[[email protected] ~]# chkconfig --list | grep keepalived

keepalived     0:关闭1:关闭2:启用3:启用4:启用5:启用6:关闭

LVS-BACKUP配置:

只需要将LVS-MASTER配置修改两处即可

state BACKUP   #指定Keepalived的角色,MASTER为主,BACKUP为备

priority 90  #定义优先级,数字越大,优先级越高,主DR必须大于备用DR

REALSERVER1跟REALSERVER2 配置

[[email protected] ~]# vi /etc/rc.d/init.d/realserver     把以下脚本贴到realserver里去

#!/bin/bash
#cription: config realserver lo  and  apply noarp

WEB_VIP=192.168.100.125  #虚拟vip,也就是虚拟ip
. /etc/rc.d/init.d/functions

case "$1" in

start)
   ifconfig lo:0 $WEB_VIP netmask 255.255.255.255 broadcast $WEB_VIP
   /sbin/route add -host $WEB_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
   echo "1" > /proc/sys/net/ipv4/conf/eth0/arp_ignore
   echo "2" > /proc/sys/net/ipv4/conf/eth0/arp_announce
   echo "1" > /proc/sys/net/ipv4/conf/default/arp_ignore
   echo "2" > /proc/sys/net/ipv4/conf/default/arp_announce
   sysctl -p >/dev/null 2>&1
   echo "RealServer Start OK"
   ;;
stop)
   ifconfig lo:0 down
   route del $WEB_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 "0" > /proc/sys/net/ipv4/conf/eth0/arp_ignore
   echo "0" > /proc/sys/net/ipv4/conf/eth0/arp_announce
   echo "0" > /proc/sys/net/ipv4/conf/default/arp_ignore
   echo "0" > /proc/sys/net/ipv4/conf/default/arp_announce
   echo "RealServer Stoped"
   ;;
status)
       # Status of LVS-DR real server.
       islothere=`/sbin/ifconfig lo:0 | grep $WEB_VIP`
       isrothere=`netstat -rn | grep "lo:0" | grep $WEB_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
exit 0

开启服务

[[email protected] ~]# service realserver start
RealServer Start OK

测试。。。。。。。。。。。。。。。。。。。。。。。。。

关闭192.168.100.115  REALSERVER2 的nginx 服务器

LVS-MASTER上 查看日志

[[email protected] ~]# tail -f /var/log/messages

然后再开启服务,看看日志

模拟LVS-MASTER 宕机  在LVS-BACKUP 查看日志

关闭keepalived 服务

然后开启服务

时间: 2024-10-10 08:20:27

lvs(dr)+keepalived的相关文章

lvs(DR)+keepalived+mysqld主从

三台机器:director(eth0192.168.0.8, vip eth0:0: 192.168.0.101)real server1(eth0 rip: 192.168.0.140 vip lo:0:192.168.0.101)real server2(eth0 rip: 192.168.0.141, vip lo:0:192.168.0.101) 1.自己编写的一键源码安装的lnmp脚本 2.安装LVS(DR) yum install ipvsadm Director 上 vim /us

虚拟机 搭建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/loca

lvs/dr+keepalived搭建成功后,开启防火墙,虚拟IP不能访问,但是真实IP却可以访问

lvs/dr+keepalived搭建成功后,开启防火墙,虚拟IP不能访问,但是真实IP却可以访问,如果关闭防火墙虚拟IP就可以访问网站了,这个问题肯定是防火墙在作怪. 经过这两的不懈奋斗和大家的帮助,我的lvs在开启了iptables后,终于实现了负载均衡了,添加的几条命令分别是1.在lvs上执行iptables -t nat -A PREROUTING -p tcp -d 192.168.1.200 --dport 80 -j REDIRECT iptables -I INPUT -i et

LVS(DR)+Keepalived 服务器集群

LVS(DR)+Keepalived 服务器集群 LVS轮询服务器 可以保障当一个网站服务器宕掉后,仍能正常访问 Keepalived高可用服务器 可以保障当LVS宕掉后,仍能正常工作 搭建服务器集群 192.168.4.50 LVS+Keepalived VIP 192.168.4.253 192.168.4.53 192.168.4.51 网站服务器 192.168.4.52 [50:53] #yum -y install keepalived ipvsadm vim /etc/keepal

RHEL 5.4下部署LVS(DR)+keepalived实现高性能高可用负载均衡

原文地址:http://www.cnblogs.com/mchina/archive/2012/05/23/2514728.html 一.简介 LVS是Linux Virtual Server的简写,意即Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一. 目前有三种IP负载均衡技术(VS/NAT.VS/TUN和VS/DR):十种调度算法(rr|wrr|lc|wlc|lblc|lblcr|dh|sh|sed|nq). K

LVS(DR)+keepalived+nfs+raid+LVM

LVS理论篇 1.Client 向目标VIP 发出请求,Director(负载均衡器)接收.此时IP 包头及数据帧信息为:       2.Director 根据负载均衡算法选择RealServer_1,不修改也不封装IP 报文,而是将数据帧的MAC 地址改为RealServer_1 的MAC 地址,然后在局域网上发送.IP 包头及数据帧头信息如下:   3.RealServer_1 收到这个帧,解封装后发现目标IP 与本机匹配(RealServer 事先绑定了VIP,必须的!)于是处理这个报文

LVS/DR + keepalived配置

1.LVS/DR 搭建的不足及解决方法 前面的lvs虽然已经配置成功也实现了负载均衡,但是我们测试的时候发现,当某台real server把httpd进程停掉,那么director照样会把请求转发过去,这样就造成了某些请求不正常.所以需要有一种机制用来检测real server的状态,这就是keepalived.它的作用除了可以检测rs状态外,还可以检测备用director的状态,也就是说keepalived可以实现ha集群的功能,当然了也需要一台备用director. 2.搭建环境前的工作 h

基于云端虚拟机的LVS/DR+Keepalived+nginx的高可用集群架构配置

最近,公司要我部署一个集群架构,选来选取还是选择了大家都很熟悉的基于DR的LVS+Keepalived做负载分发,然后使用轻量级的nginx做中间代理层,这里呢先暂时实现一个简单web应用功能,对于代理功能和后续的web层部署.数据层安排将择机更新! 首先看一下集群框架:   下面开始我们的集群搭建行程: 一.IP规划: 做一件事情需要想想怎么去做既简单又有条理,我们做项目也应该如此.所以这里一定先做一个简单的规划,对于你后续测试的时候出现不能分发的情况有所解决. 负载均衡层          

Linux下部署LVS(DR)+keepalived+Nginx负载均衡

架构部署 LVS/keepalived(master):192.168.21.3 LVS/keepalived(Slave):192.168.21.6 Nginx1:192.168.21.4 Nginx2:192.168.21.5 VIP:192.168.21.10 1.安装ipvsadm.keepalived(Master/Slave) yum -y install keepalived ipvsadm 2.修改keepalived.conf文件 LVS_master cd /etc/keep

LVS DR+keepalived实现HA+LB

首先需要4台服务器 2台dir分别是  dirmaster  dirslave 2台RS 分别运行nginx测试服务 dir 192.168.186.129 192.168.186.135 RS 192.168.186.130 192.168.186.132 首先搭建LVS-DR服务 a.dir上面安装ipvsadm yum install ipvsadm b.更改ipvsadm配置文件 vim /etc/usr/local/sbin/lvs_dr.sh #! /bin/bashecho 1 >