ipsvadm 配置

一:安装配置 LVS+DR+Keepalived
client 访问的地址 VIP 192.168.133.100
       负载服务器master真实IP        192.168.133.128
       负载服务器backup真实IP    192.168.133.150
       负载服务器虚拟IP              192.168.133.100
       后端WEB服务器IP                 192.168.133.128
       后端WEB服务器IP                 192.168.133.150
系统:Redhat 5.4 x86 内核:2.6.18-164.el5
1.下载所需要的软件:ipvsadm keepalived
wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz    我这里是直接安装的RHEL4.0自带的ipvsadm-1.24-6.i386.rpm
wget http://www.keepalived.org/software/keepalived-1.1.18.tar.gz
2.安装ipvsadm(负载均衡器都要配置master和backup)
  从Linux内核版本2.6起,ip_vs code已经被整合进了内核中,因此,只要在编译内核的时候选择了ipvs的功能,您的Linux即能支持LVS。Linux 2.4.23以后的内核版本也整合了ip_vs code,但如   果是更旧的内核版本,您得自己手动将ip_vs code整合进内核原码中,并重新编译内核方可使用lvs。
   我使用的RHEL4.0  这个版本支持ipvsadm,所以无需更改内核配置  rpm -ivh ipvsadm-1.24-6.i386.rpm
   然后使用ipvsadm -v
   ipvsadm v1.24 2005/12/10 (compiled with popt and IPVS v1.2.1)
   则Ipvsadm安装成功                                                          
3.安装keepalived负载均衡器都要配置master和backup)  以下建议完全参照,否则会有一些问题
tar    zxvf keepalived-1.1.18tar.gz
cd keepalived-1.1.18
./configure --prefix=/usr/local/keepalived
make 
make install
 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
service keepalived start|stop|restart

4.配置master和backup
A.开启ip_forward 转发功能:
echo 1 >/proc/sys/net/ipv4/ip_forward   默认是0,关闭ip转发;这里需要开启,所以设置值为1
B.配置keepalived.conf 配置文件 (backup 192.168.133.150)
! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.133.128
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}

vrrp_instance VI_1 {         #配置负载均衡器的 主和备 ,并做相关设置
    state BACKUP             #备份服务器上将MASTER改为BACKUP 
    interface eth0           #HA监测网络接口
    virtual_router_id 51     #主、备机的virtual_router_id必须相同
    priority 100             #主、备机取不同的优先级,主机值较大,备份机值较小
    advert_int 1             #VRRP Multicast广播周期秒数
    authentication {
        auth_type PASS       #VRRP认证方式
        auth_pass 1111       #VRRP口令字
    }
    virtual_ipaddress {
        192.168.133.100      #(如果有多个VIP,继续换行填写.)
        
    }
}

virtual_server 192.168.133.100 80 {      VIP设置
    delay_loop 2                         #每隔2秒查询realserver状态
    lb_algo rr                           #lvs 算法
    lb_kind DR                           #Direct Route
    nat_mask 255.255.255.0               
    persistence_timeout 50               #同一IP的连接60秒内被分配到同一台realserver
    protocol TCP                         #用TCP协议检查realserver状态

real_server 192.168.133.128 80 {     真实主机1配置
        weight 100                       #设置后台主机的权重
        TCP_CHECK {                      #TCP协议检查
            connect_timeout 3            #
            nb_get_retry 3               #
            delay_before_retry 3         #
        }
    }
    real_server 192.168.133.150 80  {    真实主机2配置
        weight 1                         #设置后台主机的权重
        TCP_CHECK {                      #TCP协议检查
            connect_timeout 3            #
            nb_get_retry 3               #
            delay_before_retry 3         #
        }
    }
}
配置keepalived.conf 配置文件 (master 192.168.133.128)
! Configuration File for keepalived
global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.133.128
   smtp_connect_timeout 30
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
    state MASTER
    interface eth0
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.133.100
    }
}

virtual_server 192.168.133.100 80 {
    delay_loop 2
    lb_algo rr
    lb_kind DR
    nat_mask 255.255.255.0
    persistence_timeout 50
    protocol TCP

real_server 192.168.133.128 80 {
        weight 100
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
    real_server 192.168.133.150 80 {
        weight 1
        TCP_CHECK {
            connect_timeout 3
            nb_get_retry 3
            delay_before_retry 3
        }
    }
}

5.配置 VIP:   master 配置一下就可以
vim /etc/sysconfig/network-scripts/ifcfg-lo:0
DEVICE=lo:0
IPADDR=192.168.133.100
NETMASK=255.255.255.255
ONBOOT=yes
NAME=loopback
重启网卡,启动keepalived 显示如下成功!
   service network restart
   service keepalived restart

6.配置ipvsadm(配置master和backup)得先启动keepalived
添加负载均衡器
/sbin/ipvsadm -A -t 192.168.133.100:80 -s rr
增加realserver
/sbin/ipvsadm -a -t 192.168.133.100:80 -r 192.168.133.128:80 -g   #192.168.133.128 是真实机的ip
/sbin/ipvsadm -a -t 192.168.133.100:80 -r 192.168.133.150:80 -g   #192.168.133.150 是真实机的ip
route  add -host 192.168.133.100 dev lo:0
这些命令只能使用一次,第二次会有提示已经输入该命令

7.配置realserver (web1和web2)
配置vip 地址
/sbin/ifconfig lo 192.168.133.100  netmask 255.255.255.255 broadcast 192.168.133.100 up  启用loopback
route add -host 192.168.133.100 dev lo        增加一条路由  指向端口和IP地址
8.在realserver 安装测试httpd(只为显示结果)
yum install httpd –y
service httpd start
vim /var/www/html/index.html
this is 192.168.133.128/150

9.在master负载均衡器上查看
[root@master rc.d]# ipvsadm -L -n
IP Virtual Server version 1.2.0 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.133.100:80 rr persistent 50                              注意这里的rr persistent 50 其中rr 代表轮询(round robin, rr);  persistent 50:表示同一IP的连接60秒内被                                                                      分配到同一台realserver 
  -> 192.168.133.150:80           Route   1      0          0         这里realserver只有一台,实际我设置的两台,但是配置权重weight的时候,不一样,128的权重是100;150的权重是                                                                      1,  这里选择权重最小的150.
TCP  10.10.10.3:1358 rr persistent 50
TCP  10.10.10.2:1358 rr persistent 50
  -> 192.168.200.200:1358         Masq    1      0          0

10.访问:192.168.133.100 
查看IE显示状态,正常应该显示
默认应该指向  192.168.133.150 主机的/var/www/html/index.php   如果关闭192.168.133.150的httpd服务,会指向192.168.133.128主机的/var/www/html/index.php
出现一下表示安装成功 
刷新几次。
当master服务器down的时候,backup自动会接替服务,当master起来的时候,backup会自动断掉。

linux LVS (keepalived+ipvsadm)负载均衡搭建的更多相关文章

  1. 【大型网站技术实践】初级篇:借助LVS+Keepalived实现负载均衡

    一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...

  2. 借助LVS+Keepalived实现负载均衡(转)

    原文:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务 ...

  3. 借助 LVS + Keepalived 实现负载均衡

    虽然现在云手段很高明了.但是这个lvs + keepalive 还是需要了解下的. 今天就整理了下lvs和keepalive的东西.做下总结留作以后怀念 在实际应用中,在Web服务器集群之前总会有一台 ...

  4. 借助LVS+Keepalived实现负载均衡

    原文地址:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了 ...

  5. 借助LVS+Keepalived实现负载均衡(转)

    出处:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务 ...

  6. 【转】借助LVS+Keepalived实现负载均衡

    一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务器集群技术,集群即将相同服务部署在多台服务器上构成一个集群整体对外提供服务,这些集群可以是Web应用服务 ...

  7. Lvs+keepAlived实现负载均衡高可用集群(DR实现)

    第1章 LVS 简介 1.1 LVS介绍 LVS是Linux Virtual Server的简写,意为Linux虚拟服务器,是虚拟的服务器集群系统,可在UNIX/LINUX平台下实现负载均衡集群功能. ...

  8. LVS+keepalived实现负载均衡

    背景:         随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要 的浪费?同时实现商业硬件一样的 ...

  9. LVS + keepalived + tomcat负载均衡及高可用实现(初级)

    1.首先检测Linux服务器是否支持ipvs 执行如下命令:modprobe -l|grep ipvs 输出: kernel/net/netfilter/ipvs/ip_vs.ko kernel/ne ...

  10. 【Linux学习九】负载均衡

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 一.高并发 随着应用访问量的增加,带来高并发处理问题. 具体有两个: ...

随机推荐

  1. 第二步:开发工具Eclipse安装并汉化

    打开下载官网:www.eclipse.org.点击下载(download英文)然后就是安装步骤了,还是一样一直的点击下一步,默认安装到C盘.如下图: 汉化步骤: 1.打开www.eclipse.org ...

  2. springBoot Feign

    1.引入依赖包 <!-- 引入关于 eureka-server的依赖 --> <dependency> <groupId>org.springframework.c ...

  3. JAVA SERVLET上传文件的样码

    import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...

  4. Linux下多进程服务端客户端模型二(粘包问题与一种解决方法)

    一.Linux发送网络消息的过程 (1) 应用程序调用write()将消息发送到内核中 ( 2)内核中的缓存达到了固定长度数据后,一般是SO_SNDBUF,将发送到TCP协议层 (3)IP层从TCP层 ...

  5. (7)C#流程控制

    一.判断语句 if if可以单独使用,else不能单独使用 ; ) { Console.WriteLine("aaa); } Console.WriteLine("xxx" ...

  6. 洛谷 P1181 数列分段Section I【贪心/最少分成多少合法的连续若干段】

    题目描述 对于给定的一个长度为N的正整数数列A[i],现要将其分成连续的若干段,并且每段和不超过M(可以等于M),问最少能将其分成多少段使得满足要求. 输入输出格式 输入格式: 输入文件divide_ ...

  7. Python的网络编程[1] -> FTP 协议[1] -> 使用 pyftplib 建立 FTP 服务器

    使用 pyftplib 建立 FTP 服务器 pyftplib 主要用于建立 FTP Server,与 ftplib 建立的 Client 进行通信. 快速导航 1. 模块信息 2. 建立 FTP 服 ...

  8. [P2023][AHOI2009]维护序列(线段树)

    题目描述 老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成. 有长为N的数列,不妨设为a1,a2,…,aN .有如下三种操作形式: (1)把数列中的一段数全部乘一个值; (2)把数列中的一 ...

  9. 基于Bootstrap的对话框插件bootstrap-dialog

    写在前面: bootstrap本身提供了它自己的模态框,但是感觉并不太友好,当需要在页面点击一个按钮打开一个窗口页面时,使用原有的bootstrap的模态框,会把所有的代码全部写在一个jsp页面,显得 ...

  10. Java多线程设计模式(1)

    1 线程中的几个方法解释 Thread.sleep(long 毫秒) 在指定的时间内让当前线程休眠,将控制权交给其他线程,休眠的线程依旧拥有它所占用的锁, Thread.yield(); 暂停或者放弃 ...