一、LVS1服务器配置

安装ipvsadm,keepalived

[root@localhost ~]# yum -y install ipvsadm keepalived

配置keepalivedde配置文件

[root@localhost ~]# 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_MASTER
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval
vrrp_gna_interval
} vrrp_instance VI_1 {
state MASTER
interface eno16777728
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.200.201
}
}
virtual_server 192.168.200.201 {
delay_loop
lb_algo rr
lb_kind DR
persistence_timeout
protocol TCP real_server 192.168.200.113 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
} real_server 192.168.200.11 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}
#############################################################
vrrp_instance VI_2 {
state BACKUP
interface eno16777728
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.200.202
}
}
virtual_server 192.168.200.202 {
delay_loop
lb_algo rr
lb_kind DR
persistence_timeout
protocol TCP real_server 192.168.200.113 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
} real_server 192.168.200.11 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}

关闭防火墙,安全策略,启动服务并查看

#关闭防火墙,安全策略
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce
#启动keepalived服务
[root@localhost ~]# systemctl start keepalived
#查看VIP
[root@localhost ~]# ip a | grep inet
inet 127.0.0.1/ scope host lo
inet6 ::/ scope host
inet 192.168.200.111/ brd 192.168.200.255 scope global eno16777728
inet 192.168.200.201/ scope global eno16777728
inet6 fe80::20c:29ff:fef0:/ scope link
#查看策略
[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.200.201: rr persistent #发现服务器192.168.200.11有问题
-> 192.168.200.113: Route
TCP 192.168.200.202: rr persistent
-> 192.168.200.113: Route

二、LVS2服务器配置

安装ipvsadm,keepalived

[root@localhost ~]# yum -y install ipvsadm keepalived

配置keepalivedde配置文件

[root@localhost ~]# 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_MASTER
vrrp_skip_check_adv_addr
vrrp_strict
vrrp_garp_interval
vrrp_gna_interval
} vrrp_instance VI_1 {
state BACKUP
interface eno16777728
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.200.201
}
}
virtual_server 192.168.200.201 {
delay_loop
lb_algo rr
lb_kind DR
persistence_timeout
protocol TCP real_server 192.168.200.113 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
} real_server 192.168.200.11 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}
#############################################################
vrrp_instance VI_2 {
state MASTER
interface eno16777728
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.200.202
}
}
virtual_server 192.168.200.202 {
delay_loop
lb_algo rr
lb_kind DR
persistence_timeout
protocol TCP real_server 192.168.200.113 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
} real_server 192.168.200.11 {
weight TCP_CHECK{
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}

关闭防火墙,安全策略,启动服务并查看

#关闭防火墙,安全策略
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce
#启动keepalived服务
[root@localhost ~]# systemctl start keepalived
#查看VIP
[root@localhost ~]# ip a | grep inet
inet 127.0.0.1/ scope host lo
inet6 ::/ scope host
inet 192.168.200.112/ brd 192.168.200.255 scope global eno16777728
inet 192.168.200.202/ scope global eno16777728
inet6 fe80::20c:29ff:fe96:8ef5/ scope link
#查看策略
[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.200.201: rr persistent
-> 192.168.200.113: Route
TCP 192.168.200.202: rr persistent
-> 192.168.200.113: Route

四、Apache服务器的配置(相同)

[root@localhost ~]# ifconfig lo: 192.168.200.201 netmask 255.255.255.255
[root@localhost ~]# ifconfig lo: 192.168.200.202 netmask 255.255.255.255
#查看配置
[root@localhost ~]# ip a
: lo: <LOOPBACK,UP,LOWER_UP> mtu qdisc noqueue state UNKNOWN
link/loopback ::::: brd :::::
inet 127.0.0.1/ scope host lo
valid_lft forever preferred_lft forever
inet 192.168.200.201/ scope global lo:
valid_lft forever preferred_lft forever
inet 192.168.200.202/ scope global lo:
valid_lft forever preferred_lft forever
inet6 ::/ scope host
valid_lft forever preferred_lft forever
: eno16777728: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :0c::fb:c6:2d brd ff:ff:ff:ff:ff:ff
inet 192.168.200.113/ brd 192.168.200.255 scope global eno16777728
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fefb:c62d/ scope link
valid_lft forever preferred_lft forever

路由配置

[root@localhost ~]# route add -host 192.168.200.201 dev lo:
[root@localhost ~]# route add -host 192.168.200.202 dev lo:

参数配置

[root@localhost ~]# vim /etc/sysctl.conf
net.ipv4.conf.all.arp_ignore=
net.ipv4.conf.all.arp_announce =
net.ipv4.conf.default.arp_ignore =
net.ipv4.conf.default.arp_announce =
net.ipv4.conf.lo.arp_ignore =
net.ipv4.conf.lo.arp_announce =
#启用参数
[root@localhost ~]# sysctl -p
net.ipv4.conf.all.arp_ignore =
net.ipv4.conf.all.arp_announce =
net.ipv4.conf.default.arp_ignore =
net.ipv4.conf.default.arp_announce =
net.ipv4.conf.lo.arp_ignore =
net.ipv4.conf.lo.arp_announce =

安装httpd服务

[root@localhost ~]# yum -y install httpd
#准备测试页
[root@localhost ~]# echo "" > /var/www/html/index.html
#启动服务,关闭防火墙
[root@localhost ~]# systemctl restart httpd
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# iptables -F
[root@localhost ~]# setenforce

五、测试

LVS负载均衡实现双向热备的更多相关文章

  1. Haproxy/LVS负载均衡实现+keepalived实现高可用

    haproxy+keepalived 集群高可用集群转发 环境介绍 #内核版本 Ubuntu 18.04.4 LTS \n \l 107-Ubuntu SMP Thu Jun 4 11:27:52 U ...

  2. 20.LVS负载均衡群集—NAT模式实例

    LVS负载均衡群集-NAT模式实例 目录 LVS负载均衡群集-NAT模式实例 群集引用概述 群集的含义 问题 解决方法 企业群集分类 群集的三种类型 负载均衡群集(Load Balance Clust ...

  3. 观nginx与lvs负载均衡的较量

    在技术工作者中,常用到的就是lvs负载均衡和Nginx负载均衡了.这两者也是比较普及的.那么,根据不同的需求,两者存在着不同的优势.具体选择哪一个,还要看您的要求了.那么我们在此为大家分享一篇文章,对 ...

  4. 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群

    高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...

  5. 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)

    课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...

  6. LVS 负载均衡解决方案 (windows IIS)

    LVS 负载均衡解决方案 因为我们的产品运行的主流平台是WINDOWS+IIS+SQLSERVER(2000以上版本),而LVS+KEEPALIVED是LINUX下的四层负载均衡软件.其有如下特点: ...

  7. 实现基于LVS负载均衡集群的电商网站架构

    背景 上一期我们搭建了小米网站,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法 ...

  8. 十 LVS 负载均衡

    回顾nginx 反向代理负载均衡 负载均衡的妙用 负载均衡(Load Balance)集群提供了一种廉价.有效.透明的方法, 来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力. 提 ...

  9. LVS负载均衡集群

    回顾-Nginx反向代理型负载 负载均衡(load balance)集群,提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...

随机推荐

  1. Python第一个程序Hello Word

    [源代码] print('Hello Python World!') [过程] 打开命令提示窗口(cmd),在源程序所在路径下执行,python 文件名.py. [截图]

  2. sharepoint2010 部署到Windows server 2012 R2服务器遇到的问题

    最近由于客户服务器升级到windows server2012 R2 版本,生产环境需要相应升级. 查看很多资料,服务器升级到windows server2012 R2 版本,sharepoint要升级 ...

  3. window 操作

    忘记密码:https://jingyan.baidu.com/article/066074d6762a59c3c21cb0f9.html

  4. Linux中crontab定时任务

    crontab安装(centOS) yum -y install vixie-cron crontab语法(计划任务) crontab [-u user] file crontab [-u user] ...

  5. 2019/12/12学习内容摘要(Linux系统用户与用户组管理②)

    5.命令 chfn 用于修改用户的finger (finger为 /etc/passwd 文件第五个字段中显示的信息) 三,用户密码管理 1.命令passwd  格式 passwd [username ...

  6. 第十六届浙江大学宁波理工学院程序设计大赛 D 雷顿女士与分队hard version(dp)

    题意 链接:https://ac.nowcoder.com/acm/contest/2995/D来源:牛客网 卡特莉接到来自某程序设计竞赛集训队的邀请,来为他们进行分队规划. 现在集训队共有n名选手, ...

  7. 《Web Development with Go》Middleware之共享数据

    这个库值得学, 好像写起来越来越溜 package main import ( "fmt" "log" "net/http" //" ...

  8. C++继承产生的问题

    今天写代码,用到了继承,忘了将父类中的私有成员改为protected,结果一调用父类地函数后,子类中的root指针直接变为了父类中的空的root.私有成员在继承后依然会保留,占一定的内存空间,但却没有 ...

  9. 【docker构建】基于docker构建wordpress博客网站平台

    WordPress是使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站.也可以把 WordPress当作一个内容管理系统(CMS)来使用. WordPre ...

  10. java8-CompleableFuture的使用1

    背景 硬件的极速发展,多核心CPU司空见惯:分布式的软件架构司空见惯: 功能API大多采用混聚的方式把基础服务的内容链接在一起,方便用户生活. 抛出了两个问题: 如何发挥多核能力: 切分大型任务,让每 ...