LVS负载均衡实现双向热备
一、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负载均衡实现双向热备的更多相关文章
- Haproxy/LVS负载均衡实现+keepalived实现高可用
haproxy+keepalived 集群高可用集群转发 环境介绍 #内核版本 Ubuntu 18.04.4 LTS \n \l 107-Ubuntu SMP Thu Jun 4 11:27:52 U ...
- 20.LVS负载均衡群集—NAT模式实例
LVS负载均衡群集-NAT模式实例 目录 LVS负载均衡群集-NAT模式实例 群集引用概述 群集的含义 问题 解决方法 企业群集分类 群集的三种类型 负载均衡群集(Load Balance Clust ...
- 观nginx与lvs负载均衡的较量
在技术工作者中,常用到的就是lvs负载均衡和Nginx负载均衡了.这两者也是比较普及的.那么,根据不同的需求,两者存在着不同的优势.具体选择哪一个,还要看您的要求了.那么我们在此为大家分享一篇文章,对 ...
- 高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群
高性能Linux服务器 第11章 构建高可用的LVS负载均衡集群 libnet软件包<-依赖-heartbeat(包含ldirectord插件(需要perl-MailTools的rpm包)) l ...
- 大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存)
课程简介: 随着互联网的发展,高并发.大数据量的网站要求越来越高.而这些高要求都是基础的技术和细节组合而成的.本课程就从实际案例出发给大家原景重现高并发架构常用技术点及详细演练. 通过该课程的学习,普 ...
- LVS 负载均衡解决方案 (windows IIS)
LVS 负载均衡解决方案 因为我们的产品运行的主流平台是WINDOWS+IIS+SQLSERVER(2000以上版本),而LVS+KEEPALIVED是LINUX下的四层负载均衡软件.其有如下特点: ...
- 实现基于LVS负载均衡集群的电商网站架构
背景 上一期我们搭建了小米网站,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法 ...
- 十 LVS 负载均衡
回顾nginx 反向代理负载均衡 负载均衡的妙用 负载均衡(Load Balance)集群提供了一种廉价.有效.透明的方法, 来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力. 提 ...
- LVS负载均衡集群
回顾-Nginx反向代理型负载 负载均衡(load balance)集群,提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...
随机推荐
- VUE,基于vue-cli搭建创建vue项目
前提:必须安装node.js,官方地址:https://nodejs.org/en/ 然后安装vue-cli 安装方式:cmd命令行安装:打开cmd命令符输入进行全局安装脚手架:npm install ...
- ksoap2 android 调用WebService
webService,soap,wsdl的基本概念? 详情请看维基百科 基于soap 1.1, soap 1.2 的请求和响应数据源 查找了很久都是基于json格式传输数据,但是最终还是找到了基于xm ...
- 苹果_公司开发者账号_申请DUNS number
申请DUNS number 注意事项:a.公司英文名称,例如:北京京城科技有限公司,Beijing Jingcheng Technology Co., Ltd.(Co.和Ltd.都是缩写,中间用“逗号 ...
- 使用jeecg-boot心得
使用jeecg-boot心得: Jeect-boot,采用主流最新的开发技术,是个强大的快速开发平台. 刚开始发现jeecg-boot时便对其精致美观的页面深深的迷住了.下载项目运行发现其中也有想要的 ...
- PHP计算二维数组指定元素的和
array_sum(array_column($arr, 'num')); //计算二维数组指定元素的和 $arr = [ [ 'id'=>1, 'num'=>3, ], [ 'id'=& ...
- 12C新功能:在线移动分区 (Doc ID 1584032.1)
12C New Feature: Online Move Partition (Doc ID 1584032.1) APPLIES TO: Oracle Database - Enterprise E ...
- 32.Java基础_异常
JVM虚拟机默认异常处理机制 Java异常处理: 1.try...catch... 2.throw 1.try...catch... public class test{ public static ...
- 改变JAVA窗体属性的操作方法
在本篇内容里小编给大家详细分析了关于改变JAVA窗体属性的操作方法和步骤,需要的朋友们学习下. 若将JDK版本升级到最新版本,Java窗体就可以简单实现窗体的透明效果,用户可以通过拉动滑块(Slide ...
- docker cp命令出错问题
docker cp 4e6:/etc/nginx/nginx.conf /home/nginx/conf 使用docker在复制官方nginx容器的conf文件时,发生了错误. Error respo ...
- 函数式编程 - Functional Programming
什么是函数式编程 函数式编程是一种编程范式. 编程范式又是什么? 编程范式是一种解决问题的思路. 命令式编程 把程序看作 一系列改变状态的指令: 函数式编程 把程序看作 一系列数学函数映射的组合. i ...