一安装LVS准备:

1、准备4台Centos 6.2 x86_64

注:本实验关闭 SELinux和IPtables防火墙。

管理IP地址 角色 备注
192.168.1.101 LVS主调度器(Master Director) 对外提供服务的VIP为192.168.1.180
192.168.1.114 LVS从调度器(Backup Director) 平时可以作为RS(真实服务器使用)
192.168.1.104 RS1(真实服务器)  
192.168.1.103 RS2(真实服务器)  

2、配置好简单的HTTP服务

这里以apache服务为例,通过yum -y install httpd 的方式安装好httpd服务。

分别在192.168.1.103和192.168.1.104上做如下操作:

  1. [root@centos ~]# yum -y install httpd
  2. echo 103 >/var/www/html/index.html #(104上的要把 103字段改成 104)
  3. [root@centos ~]# service httpd start #启动http服务
  4. [root@centos ~]# ps -ef | grep httpd #检查进程如有类似的输出表示启动成功。
  5. root 1535 1 0 23:27 ? 00:00:00 /usr/sbin/httpd
  6. apache 1537 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
  7. apache 1538 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
  8. apache 1539 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
  9. [root@centos ~]# setenforce 0 #关闭SELinux
  10. [root@centos ~]# /etc/rc.d/init.d/iptables stop #关闭防火墙

3、测试http服务配置:

注:用IP地址最后一段数字代表RS自身的内容,容易让大家看到测试的结果,实际业务中,RS的业务内容应该是完全相同的。

4、开始安装LVS

下载相关软件包:

  1. [root@centos1 ~]# mkdir download
  2. [root@centos1 ~]# cd download/
  3. [root@centos1 download]# wget http://www.linuxvirtualserver.org/software/kernel-2.6/ipvsadm-1.24.tar.gz

5、安装命令

注:以下安装需要在192.168.1.101和192.168.1.104上面操作:

  1. [root@centos1 download]# uname -r #查看linux内核版本
  2. 2.6.32-220.el6.x86_64
  3. [root@centos1 download]# ln -s /usr/src/kernels/2.6.32-220.el6.x86_64/ /usr/src/linux #不做此步骤,安装会报错
  4. 注:此ln命令的路径要和uname -r输出内核版本一致,如果没有 /usr/src/kernels/2.6.32-220.el6.x86_64/ 需要安装 kernel-devel软件包。
  5. [root@centos1 download]# tar zxvf ipvsadm-1.24.tar.gz
  6. [root@centos1 download]# cd ipvsadm-1.24
  7. [root@centos1 ipvsadm-1.24]# make
  8. [root@centos1 ipvsadm-1.24]# make install
  9. [root@centos1 ipvsadm-1.24]# ipvsadm #执行ipvsadm命令,把LVS添加到linux内核中
  10. IP Virtual Server version 1.2.1 (size=4096)
  11. Prot LocalAddress:Port Scheduler Flags
  12. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
  13. [root@centos1 ipvsadm-1.24]# lsmod | grep ip_vs #查看LVS是否已经添加到linux内核了,如果有如下输出表示已经成功。
  14. ip_vs 108133 0
  15. ipv6 322029 154 ip_vs,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6

6配置LVS 服务端

在192.168.1.101和192.168.1.114上分别配置LVS DR模式

1)、配置LVS,建立一个脚本配置LVS

注:192.168.1.101和192.168.1.114上配置都是一样的

[root@centos1 bin]# vim lvs_dr.sh

  1. #!/bin/bash
  2. . /etc/init.d/functions
  3. vim lvs_dr.sh
  4. #!/bin/bash
  5. GW=192.168.1.1
  6. # website director vip.
  7. SNS_VIP=192.168.1.181
  8. SNS_RIP1=192.168.1.103
  9. SNS_RIP2=192.168.1.104
  10. logger $0 called with $1
  11. case "$1" in
  12. start)
  13. # set squid vip
  14. /sbin/ipvsadm --set 30 5 60
  15. /sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up
  16. /sbin/route add -host $SNS_VIP dev eth0:0
  17. /sbin/ipvsadm -A -t $SNS_VIP:80 -s wrr -p 3
  18. /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1
  19. /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1
  20. touch /var/lock/subsys/ipvsadm >/dev/null 2>&1
  21. ;;
  22. stop)
  23. /sbin/ipvsadm -C
  24. /sbin/ipvsadm -Z
  25. ifconfig eth0:0 down
  26. ifconfig eth0:1 down
  27. route del $SNS_VIP
  28. route del $SS_VIP
  29. rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
  30. echo "ipvsadm stoped"
  31. ;;
  32. status)
  33. if [ ! -e /var/lock/subsys/ipvsadm ];then
  34. echo "ipvsadm stoped"
  35. exit 1
  36. else
  37. echo "ipvsadm OK"
  38. fi
  39. ;;
  40. *)
  41. echo "Usage: $0 {start|stop|status}"
  42. exit 1
  43. esac
  44. exit 0
  1. [root@centos1 bin]# chmod +x lvs_dr.sh #给SHELL脚本加上执行权限
  2. [root@centos1 bin]# cp lvs_dr.sh /etc/rc.d/init.d/ #方便启动
  3. [root@centos1 bin]# service lvs_dr.sh start #启动lvs服务

用ipvsadm -Ln 命令查看是否有如下输出,如有证明LVS配置成功

  1. [root@centos1 bin]# ipvsadm
  2. IP Virtual Server version 1.2.1 (size=4096)
  3. Prot LocalAddress:Port Scheduler Flags
  4. -> RemoteAddress:Port Forward Weight ActiveConn InActConn
  5. TCP 192.168.1.181:http wrr persistent 3
  6. -> 192.168.1.104:http Route 1 0 0
  7. -> 192.168.1.103:http Route 1 0 0

7、配置LVS RS服务器

[root@centos bin]# vim lvs_dr.sh

  1. #!/bin/bash
  2. . /etc/init.d/functions
  3. SNS_VIP=192.168.1.181
  4. case "$1" in
  5. start)
  6. ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
  7. /sbin/route add -host $SNS_VIP dev lo:0
  8. echo "1" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  9. echo "2" >/proc/sys/net/ipv4/conf/lo/arp_announce
  10. echo "1" >/proc/sys/net/ipv4/conf/all/arp_ignore
  11. echo "2" >/proc/sys/net/ipv4/conf/all/arp_announce
  12. sysctl -p >/dev/null 2>&1
  13. echo "RealServer Start OK"
  14. ;;
  15. stop)
  16. ifconfig lo:0 down
  17. route del $SNS_VIP >/dev/null 2>&1
  18. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_ignore
  19. echo "0" >/proc/sys/net/ipv4/conf/lo/arp_announce
  20. echo "0" >/proc/sys/net/ipv4/conf/all/arp_ignore
  21. echo "0" >/proc/sys/net/ipv4/conf/all/arp_announce
  22. echo "RealServer Stoped"
  23. ;;
  24. *)
  25. echo "Usage: $0 {start|stop}"
  26. exit 1
  27. esac

[root@centos bin]# cp lvs_dr.sh /etc/rc.d/init.d/  #方便启动

[root@centos bin]# service lvs_dr.sh start  #启动lvs RS服务器

RealServer Start OK

8、验证LVS DR模式是否配置成功

在浏览器中输入 LVS  http://192.168.1.181

然后打开另一个浏览器再次输入 http://192.168.1.181 看看内容是否一样

两个浏览器访问的内容不同,证明LVS DR模式配置成功

到此LVS DR模式已经配置完成,下面配置LVS DR + Keepalived 高可用负载均衡。

http://www.centoscn.com/CentosServer/cluster/2014/0729/3380.html

CentOS下LVS DR模式负载均衡配置详解的更多相关文章

  1. LVS DR模式 负载均衡服务搭建

    LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...

  2. Nginx 负载均衡原理简介与负载均衡配置详解

    Nginx负载均衡原理简介与负载均衡配置详解   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...

  3. Nginx + Tomcat 负载均衡配置详解

    Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...

  4. nginx负载均衡配置详解

    已经了解了负载均衡的常用算法:轮询,加权轮询,热备等... 接下来就看看具体怎么配置. upstream配置是写一组被代理的服务器地址,然后配置负载均衡的算法. upstream mysvr{ ser ...

  5. CentOS下Redis 2.2.14安装配置详解(转载)

    一. 下载redis最新版本2.2.14 cd /usr/local/src wget –c http://redis.googlecode.com/files/redis-2.2.14.tar.gz ...

  6. 阿里云、腾讯云、CentOS下的MySQL的安装与配置详解

    一. 安装 查看是否已安装 # 查看MySQL版本 mysql --version # 查看MySQL相关文件 whereis mysql 若已安装,卸载方法如下 # 卸载MySQL yum remo ...

  7. LVS+Keepalived-DR模式负载均衡高可用集群

    LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...

  8. 用nginx进行同一个服务器下多域名的负载均衡配置

    用nginx进行同一个服务器下多域名的负载均衡配置 Nginx进行http负载均衡的模块是upstream Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后 ...

  9. [转帖]Nginx服务器的六种负载均衡策略详解

    Nginx服务器的六种负载均衡策略详解 咔咔侃技术 2019-09-11 17:40:12 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独 ...

随机推荐

  1. 模拟 hihoCoder 1177 顺子

    题目传送门 /* 模拟:简单的照着规则做就可以了,把各种情况考虑到,虽然比赛写的丑了点,但能1Y还是很开心的:) */ #include <cstdio> #include <cst ...

  2. 递归查找无效的符号链接 分类: linux c/c++ 2014-06-02 00:14 345人阅读 评论(0) 收藏

    本程序实现在指定目录下递归查找无效的符号链接. 1.设计思路 逐个读取给定目录中的目录项,判断类型 (1)若为目录,则读取该目录中的目录项并判断类型: (2)若为链接文件,则读取出其指向文件的名称(绝 ...

  3. C. Hongcow Builds A Nation 并查集

    http://codeforces.com/contest/745/problem/C 把他们并查集后, 其他没有连去government的点,全部放去同一个并查集,然后选择一个节点数最多的gover ...

  4. Codeforces Round #138 (Div. 1)

    A 记得以前做过 当时好像没做对 就是找个子串 满足括号的匹配 []最多的 开两个栈模拟 标记下就行 #include <iostream> #include<cstring> ...

  5. AJPFX学习笔记JavaAPI之String类

    学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...

  6. SpringBoot之旅第七篇-Docker

    一.引言 记得上大三时,要给微机房电脑安装系统,除了原生的操作系统外,还要另外安装一些必要的开发软件,如果每台电脑都重新去安装的话工作量就很大了,这个时候就使用了windows镜像系统,我们将要安装的 ...

  7. linux下svn安装(ALI ECS)

    yum安装svn 搭建和使用SVN 可参考阿里云文档:https://help.aliyun.com/document_detail/52864.html?spm=5176.8208715.110.1 ...

  8. swift不同地方 命名空间module iOS

    Objective-C没有命名空间,为了避免冲突,Objective-C的类型一般都会加上两到三个字母的前缀,比如Apple保留的NS和UI前缀,各个系统框架的前缀,各个系统框架的前缀SK(Store ...

  9. mysql5大引擎之间的区别和优劣之分

    数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另 ...

  10. CAD参数绘制样条线(com接口)

    在CAD设计时,需要绘制样条线,用户可以设置样条线线重及颜色等属性. 主要用到函数说明: _DMxDrawX::PathLineTo 把路径下一个点移到指定位置.详细说明如下: 参数 说明 DOUBL ...