CentOS下LVS DR模式负载均衡配置详解
一安装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上做如下操作:
- [root@centos ~]# yum -y install httpd
- echo 103 >/var/www/html/index.html #(104上的要把 103字段改成 104)
- [root@centos ~]# service httpd start #启动http服务
- [root@centos ~]# ps -ef | grep httpd #检查进程如有类似的输出表示启动成功。
- root 1535 1 0 23:27 ? 00:00:00 /usr/sbin/httpd
- apache 1537 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
- apache 1538 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
- apache 1539 1535 0 23:27 ? 00:00:00 /usr/sbin/httpd
- [root@centos ~]# setenforce 0 #关闭SELinux
- [root@centos ~]# /etc/rc.d/init.d/iptables stop #关闭防火墙
3、测试http服务配置:
注:用IP地址最后一段数字代表RS自身的内容,容易让大家看到测试的结果,实际业务中,RS的业务内容应该是完全相同的。
4、开始安装LVS
下载相关软件包:
- [root@centos1 ~]# mkdir download
- [root@centos1 ~]# cd download/
- [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上面操作:
- [root@centos1 download]# uname -r #查看linux内核版本
- 2.6.32-220.el6.x86_64
- [root@centos1 download]# ln -s /usr/src/kernels/2.6.32-220.el6.x86_64/ /usr/src/linux #不做此步骤,安装会报错
- 注:此ln命令的路径要和uname -r输出内核版本一致,如果没有 /usr/src/kernels/2.6.32-220.el6.x86_64/ 需要安装 kernel-devel软件包。
- [root@centos1 download]# tar zxvf ipvsadm-1.24.tar.gz
- [root@centos1 download]# cd ipvsadm-1.24
- [root@centos1 ipvsadm-1.24]# make
- [root@centos1 ipvsadm-1.24]# make install
- [root@centos1 ipvsadm-1.24]# ipvsadm #执行ipvsadm命令,把LVS添加到linux内核中
- IP Virtual Server version 1.2.1 (size=4096)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- [root@centos1 ipvsadm-1.24]# lsmod | grep ip_vs #查看LVS是否已经添加到linux内核了,如果有如下输出表示已经成功。
- ip_vs 108133 0
- 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
- #!/bin/bash
- . /etc/init.d/functions
- vim lvs_dr.sh
- #!/bin/bash
- GW=192.168.1.1
- # website director vip.
- SNS_VIP=192.168.1.181
- SNS_RIP1=192.168.1.103
- SNS_RIP2=192.168.1.104
- logger $0 called with $1
- case "$1" in
- start)
- # set squid vip
- /sbin/ipvsadm --set 30 5 60
- /sbin/ifconfig eth0:0 $SNS_VIP broadcast $SNS_VIP netmask 255.255.255.255 up
- /sbin/route add -host $SNS_VIP dev eth0:0
- /sbin/ipvsadm -A -t $SNS_VIP:80 -s wrr -p 3
- /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP1:80 -g -w 1
- /sbin/ipvsadm -a -t $SNS_VIP:80 -r $SNS_RIP2:80 -g -w 1
- touch /var/lock/subsys/ipvsadm >/dev/null 2>&1
- ;;
- stop)
- /sbin/ipvsadm -C
- /sbin/ipvsadm -Z
- ifconfig eth0:0 down
- ifconfig eth0:1 down
- route del $SNS_VIP
- route del $SS_VIP
- rm -rf /var/lock/subsys/ipvsadm >/dev/null 2>&1
- echo "ipvsadm stoped"
- ;;
- status)
- if [ ! -e /var/lock/subsys/ipvsadm ];then
- echo "ipvsadm stoped"
- exit 1
- else
- echo "ipvsadm OK"
- fi
- ;;
- *)
- echo "Usage: $0 {start|stop|status}"
- exit 1
- esac
- exit 0
- [root@centos1 bin]# chmod +x lvs_dr.sh #给SHELL脚本加上执行权限
- [root@centos1 bin]# cp lvs_dr.sh /etc/rc.d/init.d/ #方便启动
- [root@centos1 bin]# service lvs_dr.sh start #启动lvs服务
用ipvsadm -Ln 命令查看是否有如下输出,如有证明LVS配置成功
- [root@centos1 bin]# ipvsadm
- IP Virtual Server version 1.2.1 (size=4096)
- Prot LocalAddress:Port Scheduler Flags
- -> RemoteAddress:Port Forward Weight ActiveConn InActConn
- TCP 192.168.1.181:http wrr persistent 3
- -> 192.168.1.104:http Route 1 0 0
- -> 192.168.1.103:http Route 1 0 0
7、配置LVS RS服务器
[root@centos bin]# vim lvs_dr.sh
- #!/bin/bash
- . /etc/init.d/functions
- SNS_VIP=192.168.1.181
- case "$1" in
- start)
- ifconfig lo:0 $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
- /sbin/route add -host $SNS_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
- sysctl -p >/dev/null 2>&1
- echo "RealServer Start OK"
- ;;
- stop)
- ifconfig lo:0 down
- route del $SNS_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 "RealServer Stoped"
- ;;
- *)
- echo "Usage: $0 {start|stop}"
- exit 1
- 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模式负载均衡配置详解的更多相关文章
- LVS DR模式 负载均衡服务搭建
LVS 负载均衡 最近在研究服务器负载均衡,阅读了网上的一些资料,发现主要的软件负载均衡方案有nginx(针对HTTP服务的负载均衡),LVS(针对IP层,MAC层的负载均衡).LVS模式工作在网络层 ...
- Nginx 负载均衡原理简介与负载均衡配置详解
Nginx负载均衡原理简介与负载均衡配置详解 by:授客 QQ:1033553122 测试环境 nginx-1.10.0 负载均衡原理 客户端向反向代理发送请求,接着反向代理根据某种负载机制 ...
- Nginx + Tomcat 负载均衡配置详解
Nginx常用操作指南一.Nginx 与 Tomcat 安装.配置及优化1. 检查和安装依赖项 yum -y install gcc pcre pcre-devel zlib zlib-devel o ...
- nginx负载均衡配置详解
已经了解了负载均衡的常用算法:轮询,加权轮询,热备等... 接下来就看看具体怎么配置. upstream配置是写一组被代理的服务器地址,然后配置负载均衡的算法. upstream mysvr{ ser ...
- 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 ...
- 阿里云、腾讯云、CentOS下的MySQL的安装与配置详解
一. 安装 查看是否已安装 # 查看MySQL版本 mysql --version # 查看MySQL相关文件 whereis mysql 若已安装,卸载方法如下 # 卸载MySQL yum remo ...
- LVS+Keepalived-DR模式负载均衡高可用集群
LVS+Keepalived DR模式负载均衡+高可用集群架构图 工作原理: Keepalived采用VRRP热备份协议实现Linux服务器的多机热备功能. VRRP,虚拟路由冗余协议,是针对路由器的 ...
- 用nginx进行同一个服务器下多域名的负载均衡配置
用nginx进行同一个服务器下多域名的负载均衡配置 Nginx进行http负载均衡的模块是upstream Upstream可以进行多个配置,这样的话可以灵活的配置站点,但是注意的是upstream后 ...
- [转帖]Nginx服务器的六种负载均衡策略详解
Nginx服务器的六种负载均衡策略详解 咔咔侃技术 2019-09-11 17:40:12 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独 ...
随机推荐
- 逆序数 UVALive 6508 Permutation Graphs
题目传送门 /* 题意:给了两行的数字,相同的数字连线,问中间交点的个数 逆序数:第一行保存每个数字的位置,第二行保存该数字在第一行的位置,接下来就是对它求逆序数 用归并排序或线段树求.想到了就简单了 ...
- 题解报告:hdu 1229 还是A+B
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1229 Problem Description 读入两个小于10000的正整数A和B,计算A+B.需要注 ...
- ACM_查找ACM(加强版)
查找ACM(加强版) Time Limit: 2000/1000ms (Java/Others) Problem Description: 作为一个acmer,应该具备团队合作能力和分析问题能力.给你 ...
- 191 Number of 1 Bits 位1的个数
编写一个函数,输入是一个无符号整数,返回的是它所有 位1 的个数(也被称为汉明重量).例如,32位整数 '11' 的二进制表示为 00000000000000000000000000001011,所以 ...
- ambari-server启动报错500 status code received on GET method for API:/api/v1/stacks/HDP/versions/2.4/recommendations Error message : Server Error解决办法(图文详解)
问题详情 来源是,我在Ambari集群里,安装Hue. 给Ambari集群里安装可视化分析利器工具Hue步骤(图文详解 所遇到的这个问题. 然后,去ambari-server的log日志,查看,如下 ...
- 重写java.lang.String IndexOf()方法,实现对字符串以ASCII规则截取
/** * 根据元数据和目标ascii位数截取字符串,失败返回-1 * @param sourceStr 元数据字符串 * @param endIndex 截取到第几位 * @return 结果字符串 ...
- ReactJS-1-基本使用
JSX使用 一.为什么使用JSX?React的核心机制之一就是虚拟DOM:可以在内存中创建的虚拟DOM元素.但是用js创建虚拟dom可读性差,于是创建了JSX,继续使用HTML代码创建dom,增加可读 ...
- C#枚举中的位运算权限分配
什么是位运算 常用的位运算主要有与(&), 或(|)和非(~), 比如: & = ; | = ; ~ = ; 运用在权限设计中 先建立一个枚举表示所有的权限管理操作: [Flags] ...
- mysql-oracle
1.oracle数据崩导入时部分字段数据太长导入失败:原因是两边oracle字符集不一致 https://www.cnblogs.com/baoposhou/p/5669778.html 2.orac ...
- template or render function not defined.
template or render function not defined. H_婷 关注 2018.08.16 17:22 字数 106 阅读 3859评论 0喜欢 2 下午写 Vue $par ...