LVS+DR+apache+keepalived负载均衡
1、首先准备两台服务器、三台也可以我这里是两台
IP:192.168.52.33
IP:192.168.52.34
VIP:192.168.52.100
2、关闭防火墙
systemctl stop firewalld
setenforce 0
3、安装keepalived,两台机器都需要安装
yum -y install keepalived
4、打开keepalived的配置文件,首先配置主的文件
vim /etc/keepalived/keepalived.conf
! 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.200.1
smtp_connect_timeout
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval
vrrp_gna_interval
}
vrrp_instance VI_1 {
state MASTER #这里要改成主的
interface ens32 #这个网卡名字一定要写自己的 我的是ens32
virtual_router_id
priority 100 #这个是优先级主的优先级一定要比从的优先级高
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.52.100 #vip地址
}
}
virtual_server 192.168.52.100 {
delay_loop
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP
real_server 192.168.52.33 {
weight
TCP_CHECK {
connect_timeout
connect_port
nb_get_retry
delay_before_retry
}
}
real_server 192.168.52.34 {
weight
TCP_CHECK {
connect_timeout
connect_port
nb_get_retry
delay_before_retry
}
}
}
vrrp_strict #centos7里的keepalived有一个广播 这个需要删除 切记
5、配置从的文件,比主的文件有一点差别
vim /etc/keepalived/keealived.con
! 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.200.1
smtp_connect_timeout
router_id LVS_DEVEL
vrrp_skip_check_adv_addr
vrrp_garp_interval
vrrp_gna_interval
}
vrrp_instance VI_1 {
state BACKUP #这个要写从
interface ens32 #网卡名字要写成自己的
virtual_router_id
priority 90 #从的优先级一定要比主的优先级要低
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.52.100 #vip要和主的配置的一致
}
}
virtual_server 192.168.52.100 {
delay_loop
lb_algo rr
lb_kind DR
nat_mask 255.255.255.0
protocol TCP
real_server 192.168.52.33 {
weight
TCP_CHECK {
connect_timeout
connect_port
nb_get_retry
delay_before_retry
}
}
real_server 192.168.52.34 {
weight
TCP_CHECK {
connect_timeout
connect_port
nb_get_retry
delay_before_retry
}
}
}
vrrp_strict #centos7里的keepalived有一个广播 这个需要删除 切记
6、重启keepalived,两个机子都需要重启
systemctl restart keepalived
7、查看主的vip是否存在
[root@localhost ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet 192.168.52.100/ brd 192.168.52.100 scope global lo:
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP group default qlen
link/ether :0c::8e::0c brd ff:ff:ff:ff:ff:ff
inet 192.168.52.33/ brd 192.168.52.255 scope global noprefixroute ens32
valid_lft forever preferred_lft forever
inet 192.168.52.100/ scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::9dd1:a054:cfbe:/ scope link noprefixroute
valid_lft forever preferred_lft forever
: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu qdisc noqueue state DOWN group default qlen
link/ether ::::ed: brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/ brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
: virbr0-nic: <BROADCAST,MULTICAST> mtu qdisc pfifo_fast master virbr0 state DOWN group default qlen
link/ether ::::ed: brd ff:ff:ff:ff:ff:ff
8、关闭主的keepalived,查看vip是否漂移到从上
主:systemctl stop keepalived
从:
[root@localhost html]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN group default qlen
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet 192.168.52.100/ brd 192.168.52.100 scope global lo:
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP group default qlen
link/ether :0c:::8a: brd ff:ff:ff:ff:ff:ff
inet 192.168.52.34/ brd 192.168.52.255 scope global noprefixroute ens32
valid_lft forever preferred_lft forever
inet 192.168.52.100/ scope global ens32
valid_lft forever preferred_lft forever
inet6 fe80::de48:34e2:d290:a46/ scope link noprefixroute
valid_lft forever preferred_lft forever
: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu qdisc noqueue state DOWN group default qlen
link/ether ::::fe: brd ff:ff:ff:ff:ff:ff
inet 192.168.122.1/ brd 192.168.122.255 scope global virbr0
valid_lft forever preferred_lft forever
: virbr0-nic: <BROADCAST,MULTICAST> mtu qdisc pfifo_fast master virbr0 state DOWN group default qlen
link/ether ::::fe: brd ff:ff:ff:ff:ff:ff
如果成功,代表keepalived配置成功
主:开启keepalived
systemctl restart keepalived
9、安装ipvsadm,两个服务器都需要安装、
yum -y install ipvsadm
10、增加服务器的接口
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls
ifcfg-ens32 ifdown-eth ifdown-post ifdown-TeamPort ifup-eth ifup-plip ifup-sit init.ipv6-global
ifcfg-lo ifdown-ib ifdown-ppp ifdown-tunnel ifup-ib ifup-plusb ifup-Team network-functions
ifcfg-lo: ifdown-ippp ifdown-routes ifup ifup-ippp ifup-post ifup-TeamPort network-functions-ipv6
ifdown ifdown-ipv6 ifdown-sit ifup-aliases ifup-ipv6 ifup-ppp ifup-tunnel
ifdown-bnep ifdown-isdn ifdown-Team ifup-bnep ifup-isdn ifup-routes ifup-wireless
[root@localhost network-scripts]# cp ifcfg-lo ifcfg-lo:
11、修改cp的接口
[root@localhost network-scripts]# vim ifcfg-lo: [root@localhost network-scripts]# cat ifcfg-lo:
DEVICE=lo:
IPADDR=192.168.52.100
NETMASK=255.255.255.255
ONBOOT=yes
[root@localhost network-scripts]#
12、另一台服务器做同样的操作
13、查看ifconfig看两台服务器的vip添加上没有
14、两台服务器执行操作
ipvsadm -A -t 192.168.52.100: -s rr
ipvsadm -a -t 192.168.52.100: -r 192.168.52.33: -g
ipvsadm -a -t 192.168.52.100: -r 192.168.52.34: -g
echo "" >/proc/sys/net/ipv4/conf/lo/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/lo/arp_announce
echo "" >/proc/sys/net/ipv4/conf/all/arp_ignore
echo "" >/proc/sys/net/ipv4/conf/all/arp_announce
route add -host 192.168.52.100 dev lo:
15、两台服务器执行ipvsadm查看是否成功
[root@localhost ~]# ipvsadm -Ln
IP Virtual Server version 1.2. (size=)
Prot LocalAddress:Port Scheduler Flags
-> RemoteAddress:Port Forward Weight ActiveConn InActConn
TCP 192.168.52.100: rr
-> 192.168.52.33: Route
-> 192.168.52.34: Route
[root@localhost ~]#
16、两台服务器查看vip是否存在
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.52.2 0.0.0.0 UG ens32
192.168.52.0 0.0.0.0 255.255.255.0 U ens32
192.168.52.100 0.0.0.0 255.255.255.255 UH lo
192.168.122.0 0.0.0.0 255.255.255.0 U virbr0
[root@localhost ~]#
17、两台服务器源码安装Apache
yum -y install httpd
18、编写测试页面
第一台服务器
[root@localhost ~]# vim /var/www/html/index.html
[root@localhost ~]# cat /var/www/html/index.html [root@localhost ~]#
第二台服务器
[root@localhost ~]# vim /var/www/html/index.html
[root@localhost ~]# cat /var/www/html/index.html [root@localhost ~]#
19、两台服务器更改Apache配置文件
vim /etc/httpd/conf/httpd.conf
#http的持久链接主要依靠keepalive
KeepAlive OFF #关闭KeeoAlive长链接
KeepAliveTimeout 15 #长连接多久算是超时,超时之后自动断开长连接
MaxKeepAliveRequests 100 #长连接最多接受多少个请求,请求数量大于改值则自动断开
开启Apache
systemctl restart httpd
访问vip就可以看到负载均衡的效果了
LVS+DR+apache+keepalived负载均衡的更多相关文章
- Keepalived+LVS(dr)高可用负载均衡集群的实现
一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...
- LVS+Keepalived负载均衡配置
简介 lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高. lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在ke ...
- LVS+keepalived负载均衡
背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高 ...
- [转]LVS+Keepalived负载均衡配置
简介 来源:https://www.cnblogs.com/MacoLee/p/5858995.html lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且 ...
- 搭建LVS+Keepalived负载均衡集群
这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G ...
- (转)CentOS7 搭建LVS+keepalived负载均衡(一)
原文:http://blog.csdn.net/u012852986/article/details/52386306 CentOS7 搭建LVS+keepalived负载均衡(一) CentOS7 ...
- Heartbeat+LVS构建高可用负载均衡集群
1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里 ...
- 实现基于Haproxy+Keepalived负载均衡高可用架构
1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...
- Nginx+Keepalived负载均衡高可用
Nginx+Keepalived负载均衡高可用方案: Nginx 使用平台:unix.linux.windows. 功能: A.www web服务 http 80 b.负载均衡(方向代理proxy) ...
随机推荐
- Visual Studio 重命名项目名
1. 打开VS Studio,重命名项目 2. 重命名对应的项目文件夹,并重命名项目文件夹下的这两个文件名: 3. 用记事本打开解决方案,修改对应的项目名字和路径 未完 ...... 点击访问原文(进 ...
- Django 安装使用
Django 安装使用 Django 介绍: Django是一个开放源代码的Web应用框架,由Python写成.采用了MVT的框架模式,即模型M,视图V和模版T.它最初是被开发来用于管理劳伦斯出版集团 ...
- 300iq Contest 1 简要题解
300iq Contest 1 简要题解 咕咕咕 codeforces A. Angle Beats description 有一张\(n\times m\)的方阵,每个位置上标有*,+,.中的一种. ...
- jspatch功能解析
一.三个模型: 1.补丁:运行时结构维护模型: 2.通信模型 3.解释模型:运行时 二.js.oc分层解释调用 js模块与oc模块的关系 1.oc调用js的配置信息完成配置: 2.oc运行时重定位到j ...
- 一起来学习.net core程序使用中介者模式:MediatR插件
中介者模式是一种常见的设计模式,旨再降低程序的耦合性,因为传统的三层模式层层之间需要显示的调用,必须上层依赖下层,耦合性很高,为了解耦,将所有的指令单独放在一个位置处理,其他位置均通过这个位置来间接的 ...
- SAP替代,出口U904在RGGBS000中未生成
报错.提示出口U904在RGGBS000中未生成. 一般情况下需要到 程序RGGBS000 中,在form:get_exit_titles 中增加下列代码. exits-name = 'U904. e ...
- C# 创建json传输格式的http请求
public static string PostRequestTest(string content, string url, string contentType = "applicat ...
- Spring Security实现OAuth2.0授权服务 - 进阶版
<Spring Security实现OAuth2.0授权服务 - 基础版>介绍了如何使用Spring Security实现OAuth2.0授权和资源保护,但是使用的都是Spring Sec ...
- python数据分析三剑客之: pandas操作
pandas的操作 pandas的拼接操作 # pandas的拼接操作 级联 pd.concat , pd.append 合并 pd.merge , pd.join 一丶pd.concat()级联 # ...
- Linux相关目录
Linux 启动流程 Linux--基本目录 Linux--selinux Linux--网卡配置 Linux--系统运行级别 Linux--重要文件