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负载均衡的更多相关文章

  1. Keepalived+LVS(dr)高可用负载均衡集群的实现

    一 环境介绍 1.操作系统CentOS Linux release 7.2.1511 (Core) 2.服务keepalived+lvs双主高可用负载均衡集群及LAMP应用keepalived-1.2 ...

  2. LVS+Keepalived负载均衡配置

    简介 lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高. lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在ke ...

  3. LVS+keepalived负载均衡

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

  4. [转]LVS+Keepalived负载均衡配置

    简介 来源:https://www.cnblogs.com/MacoLee/p/5858995.html lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且 ...

  5. 搭建LVS+Keepalived负载均衡集群

    这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G ...

  6. (转)CentOS7 搭建LVS+keepalived负载均衡(一)

    原文:http://blog.csdn.net/u012852986/article/details/52386306 CentOS7 搭建LVS+keepalived负载均衡(一) CentOS7 ...

  7. Heartbeat+LVS构建高可用负载均衡集群

    1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里 ...

  8. 实现基于Haproxy+Keepalived负载均衡高可用架构

    1.项目介绍: 上上期我们实现了keepalived主从高可用集群网站架构,随着公司业务的发展,公司负载均衡服务已经实现四层负载均衡,但业务的复杂程度提升,公司要求把mobile手机站点作为单独的服务 ...

  9. Nginx+Keepalived负载均衡高可用

    Nginx+Keepalived负载均衡高可用方案: Nginx 使用平台:unix.linux.windows. 功能: A.www web服务  http 80 b.负载均衡(方向代理proxy) ...

随机推荐

  1. ArrayDeque详解

    美人如斯! ArrayDeque是java中对双端队列的线性实现 一.特性 无容量大小限制,容量按需增长: 非线程安全队列,无同步策略,不支持多线程安全访问: 当用作栈时,性能优于Stack,当用于队 ...

  2. windows上 nginx 配置代理服务,配置多域名,以及最简单实现跨域配置

    Nginx,不用多说啦,大家都熟悉的不能再熟悉了,它是一款轻量级的高性能Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,最近在本地研究将nginx和resin配合使用,使服务 ...

  3. Linux学习笔记之安装报错/lib/ld-linux.so.2: bad ELF interpreter

    0x00 64位系统中安装了32位程序解决办法 是因为64位系统中安装了32位程序 解决方法: yum install glibc.i686 0x01 解决交叉编译环境错误 yum install l ...

  4. SpringBoot @EnableAutoConfiguration exclude属性失效

    本文链接:https://blog.csdn.net/yuan_ren_sheng/article/details/81516779 在学习SpringBoot的时候,入了不少的坑.今天学习@Spri ...

  5. Java+Python+前端 学习资料大全 百度云盘

    Java架构师3大阶段 链接:https://pan.baidu.com/s/1DlXh33y5t4cZUmZH0cLvCw 提取码:5s76 2019前端架构阶段 链接:https://pan.ba ...

  6. C#读写调整设置UVC摄像头画面-亮度

    有时,我们需要在C#代码中对摄像头的亮度进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄像 ...

  7. 安装vivado 2016.1时出错

    在将vivado 2016.1安装到d:\ xilinx时,发生以下错误: 提取存档D时遇到 错误:\ Xilinx_Vivado_SDK_2016.1_0409_1 \ payload \ rdi_ ...

  8. ES6 之 对象的简写方式

    简写有两条基本原则: 同名的属性可以省略不写 对象中的方法中的 : function 可以省略不写 来看下下面这个例子,我分别用ES5 和 ES6 的语法分别定义并声明了一个简单的学生对象: ES5: ...

  9. MySQL--performance schema学习

    启用performance schema 在MySQL 5.6.6版本后,performance schema被默认打开 通常MySQL的二进制版本都默认支持PS, 如果使用编译源码安装,在cmake ...

  10. Plan B

    王兴曾经说过: 2019 年是过去 10 年中最差的一年,也是未来 10 年中最好的一年. 之前我希望王兴预判错了,但现在我发现这位掌控着生活消费类数据的大佬应该不是扯淡. 今年的内部和外部环境真的很 ...