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) ...
随机推荐
- ArrayDeque详解
美人如斯! ArrayDeque是java中对双端队列的线性实现 一.特性 无容量大小限制,容量按需增长: 非线程安全队列,无同步策略,不支持多线程安全访问: 当用作栈时,性能优于Stack,当用于队 ...
- windows上 nginx 配置代理服务,配置多域名,以及最简单实现跨域配置
Nginx,不用多说啦,大家都熟悉的不能再熟悉了,它是一款轻量级的高性能Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,最近在本地研究将nginx和resin配合使用,使服务 ...
- Linux学习笔记之安装报错/lib/ld-linux.so.2: bad ELF interpreter
0x00 64位系统中安装了32位程序解决办法 是因为64位系统中安装了32位程序 解决方法: yum install glibc.i686 0x01 解决交叉编译环境错误 yum install l ...
- SpringBoot @EnableAutoConfiguration exclude属性失效
本文链接:https://blog.csdn.net/yuan_ren_sheng/article/details/81516779 在学习SpringBoot的时候,入了不少的坑.今天学习@Spri ...
- Java+Python+前端 学习资料大全 百度云盘
Java架构师3大阶段 链接:https://pan.baidu.com/s/1DlXh33y5t4cZUmZH0cLvCw 提取码:5s76 2019前端架构阶段 链接:https://pan.ba ...
- C#读写调整设置UVC摄像头画面-亮度
有时,我们需要在C#代码中对摄像头的亮度进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄像 ...
- 安装vivado 2016.1时出错
在将vivado 2016.1安装到d:\ xilinx时,发生以下错误: 提取存档D时遇到 错误:\ Xilinx_Vivado_SDK_2016.1_0409_1 \ payload \ rdi_ ...
- ES6 之 对象的简写方式
简写有两条基本原则: 同名的属性可以省略不写 对象中的方法中的 : function 可以省略不写 来看下下面这个例子,我分别用ES5 和 ES6 的语法分别定义并声明了一个简单的学生对象: ES5: ...
- MySQL--performance schema学习
启用performance schema 在MySQL 5.6.6版本后,performance schema被默认打开 通常MySQL的二进制版本都默认支持PS, 如果使用编译源码安装,在cmake ...
- Plan B
王兴曾经说过: 2019 年是过去 10 年中最差的一年,也是未来 10 年中最好的一年. 之前我希望王兴预判错了,但现在我发现这位掌控着生活消费类数据的大佬应该不是扯淡. 今年的内部和外部环境真的很 ...