keeplived+lvs(主从热备+负载均衡)
本次实验基于DR负载均衡模式(直接路由),设置一个VIP(Virtual IP)为192.168.1.225,用户只需要访问这个IP地址即可获得网页服务。其中,负载均衡主机为192.168.1.221(master),备机为 192.168.1.222(slave)。Web服务器A为192.168.1.223(web01),Web服务器B为192.168.1.220(web02)
配置两台web服务器
[root@web01 ~]# systemctl stop firewalld
[root@web01 ~]# setenforce
[root@web02 ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则:[确定]
iptables:正在卸载模块:[确定]
[root@web02 ~]# setenforce
[root@web01 ~]# yum -y install httpd
[root@web02 ~]# yum -y install httpd
[root@web01 ~]# systemctl start httpd
[root@web01 ~]# echo "192.168.1.223" > /var/www/html/index.html
[root@web01 ~]# curl 192.168.1.223
192.168.1.223
[root@web02 ~]# service httpd start
正在启动 httpd:httpd: apr_sockaddr_info_get() failed for web02
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[确定]
[root@web02 ~]# echo "192.168.1.220" > /var/www/html/index.html
[root@web02 ~]# curl 192.168.1.220
192.168.1.220
将这两台web服务器都配置成lvs的real server,编辑realserver脚本文件,进入指定文件夹:cd /etc/init.d/,编辑脚本文件:vim realserver
[root@web01 ~]# cat /etc/rc.d/init.d/realserver
#!/bin/bash
# description: Config realserver lo and apply noarp
#Written by :NetSeek http://www.linuxtone.org SNS_VIP=192.168.1.225 . /etc/rc.d/init.d/functions case "$1" in
start)
ifconfig lo: $SNS_VIP netmask 255.255.255.255 broadcast $SNS_VIP
/sbin/route add -host $SNS_VIP dev lo:
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
sysctl -p >/dev/null >&
echo "RealServer Start OK"
;;
stop)
ifconfig lo: down
route del $SNS_VIP >/dev/null >&
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
echo "RealServer Stoped"
;;
*)
echo "Usage: $0 {start|stop}"
exit
esac exit
[root@web01 ~]# cd /etc/init.d/
[root@web01 init.d]# chmod realserver
[root@web01 init.d]# service realserver start
Reloading systemd: [ 确定 ]
Starting realserver (via systemctl): [ 确定 ]
[root@web02 ~]# cd /etc/init.d/
[root@web02 init.d]# chmod realserver
[root@web02 init.d]# service realserver start
RealServer Start OK
注意:配置real server是web服务器都需要配置的,有多少台就配置多少台!
配置负载服务器(master)
[root@master ~]# yum install -y keepalived ipvsadm
[root@master ~]# cd /etc/keepalived/
[root@master keepalived]# ls
keepalived.conf
[root@master keepalived]# cp keepalived.conf keepalived.conf.bak
[root@master keepalived]# echo "" > keepalived.conf
[root@master keepalived]# cat keepalived.conf
global_defs {
notification_email {
1350748936@qq.com
}
notification_email_from sns-lvs@gmail.com
smtp_server 192.168.1.114
smtp_connection_timeout 30
router_id LVS_MASTER # 设置lvs的id,在一个网络应该是唯一的
}
vrrp_instance VI_1 {
state MASTER # 指定keepalived的角色,MASTER为主,BACKUP为备
interface ens33 # 当前进行vrrp通讯的网络接口卡(当前centos的网卡)
virtual_router_id 66 # 虚拟路由编号,主从要一直
priority 100 # 优先级,数值越大,获取处理请求的优先级越高
advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数)
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.1.221 ##自己ip
unicast_peer { ##单播模式
192.168.1.222 ##另一个ip
}
virtual_ipaddress {
192.168.1.225 # 定义虚拟ip(VIP),可多设,每行一个
}
}
# 定义对外提供的LVS的VIP以及port
virtual_server 192.168.1.225 80 {
delay_loop 6 # 设置健康检查时间,单位为秒
lb_algo wrr # 设置负载调度的算法为wrr
lb_kind DR # 设置lvs实现负载的机制,有NAT、TUN、DR三个模式
nat_mask 255.255.255.0
persistence_timeout 0 # 同一IP 0秒内的请求都发到同个real server
protocol TCP
real_server 192.168.1.223 80 { # 指定real server1的ip地址
weight 3 # 配置节点权值,数值越大权重越高
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.220 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@master keepalived]# systemctl start keepalived
配置负载服务器(slave)
[root@slave ~]# cat /etc/keepalived/keepalived.conf
global_defs {
notification_email {
1350748936@qq.com
}
notification_email_from sns-lvs@gmail.com
smtp_server 192.168.1.114
smtp_connection_timeout 30
router_id LVS_BACKUP # 设置lvs的id,在一个网络应该是唯一的
}
vrrp_instance VI_1 {
state BACKUP # 指定keepalived的角色,MASTER为主,BACKUP为备
interface ens33 # 当前进行vrrp通讯的网络接口卡(当前centos的网卡)
virtual_router_id 66 # 虚拟路由编号,主从要一直
priority 90 # 优先级,数值越大,获取处理请求的优先级越高
advert_int 1 # 检查间隔,默认为1s(vrrp组播周期秒数)
authentication {
auth_type PASS
auth_pass 1111
}
unicast_src_ip 192.168.1.222 ##自己ip
unicast_peer { ##单播模式
192.168.1.221 ##另一个ip
}
virtual_ipaddress {
192.168.1.225 # 定义虚拟ip(VIP),可多设,每行一个
}
}
# 定义对外提供的LVS的VIP以及port
virtual_server 192.168.1.225 80 {
delay_loop 6 # 设置健康检查时间,单位为秒
lb_algo wrr # 设置负载调度的算法为wrr
lb_kind DR # 设置lvs实现负载的机制,有NAT、TUN、DR三个模式
nat_mask 255.255.255.0
persistence_timeout 0 # 同一IP 0秒内的请求都发到同个real server
protocol TCP
real_server 192.168.1.223 80 { # 指定real server1的ip地址
weight 3 # 配置节点权值,数值越大权重越高
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
real_server 192.168.1.220 80 {
weight 3
TCP_CHECK {
connect_timeout 10
nb_get_retry 3
delay_before_retry 3
}
}
}
[root@slave ~]# systemctl restart keepalived
keeplived+lvs(主从热备+负载均衡)的更多相关文章
- LVS + keepalived + nginx + tomcat 实现主从热备 + 负载均衡
前言 首先声明下,由于这两天找资料,看了不少博客 ,但是出于不细心,参考者的博客地址没有记录下来,所有文中要是出现了与大家博客相同的地方,那么请大家在评论区说明并附上博客地址,我好引用进来:这里表示抱 ...
- 主从热备+负载均衡(LVS + keepalived)
前言 淘宝架构师李智慧大牛的书籍<大型网站技术架构>以及旭龙兄的博客 --->[大型网站技术实践]初级篇:借助LVS+Keepalived实现负载均衡. 从上参考而得来本文,本文旨 ...
- keepalived+nginx双机热备+负载均衡
Reference: http://blog.csdn.net/e421083458/article/details/30092795 keepalived+nginx双机热备+负载均衡 最近因业务扩 ...
- 【Nginx】(主从热备)LVS+Keepalived+Nginx实现高性能负载均衡集群
一.LVS 1.1 概述 1.2 Nginx与LVS区别什么 二.Keepalived 2.1 概述 2.2 keepalived和其工作原理 三.LVS+Keepalived+Nginx 搭建双机主 ...
- Lvs+keepalived+mysql主从热备
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; f ...
- lvs+keepalived+nginx高性能负载均衡集群
项目发布时候,别人还能访问呢? 双机主从热备 LVS作用 LVS是一个开源的软件,可以实现传输层四层负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有 ...
- Heartbeat+LVS构建高可用负载均衡集群
1.heartbeat简介: Heartbeat 项目是 Linux-HA 工程的一个组成部分,它实现了一个高可用集群系统.心跳服务和集群通信是高可用集群的两个关键组件,在 Heartbeat 项目里 ...
- 使用LVS+keepalived实现mysql负载均衡的实践和总结
前言 经过一段时间的积累,数据库的架构就需要根据项目不断的进行变化. 从单台数据库,到了两台数据库的主从,再到读写分离,再到双主,现在进一步需要更多的数据库服务器去支撑更加可怕的访问量. 那么经过那么 ...
- 《nginx 四》双机主从热备
lvs+keepalived+nginx实现高性能负载均衡集群 LVS作用 LVS是一个开源的软件,可以实现传输层四层负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux ...
随机推荐
- python使用beautifulsoup4爬取酷狗音乐
声明:本文仅为技术交流,请勿用于它处. 小编经常在网上听一些音乐但是有一些网站好多音乐都是付费下载的正好我会点爬虫技术,空闲时间写了一份,截止4月底没有问题的,会下载到当前目录,只要按照bs4库就好, ...
- JVM-6-垃圾回收算法
三如何垃圾回收 GC(Garbage Collection)垃圾回收算法 标记清除 速度快,但是会产生内存碎片: 标记整理 解决了标记清除内存碎片的问题,但是每次都得移动对象,因此成本 ...
- luoguP1020 导弹拦截
题意 题目描述 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度.某天,雷达捕捉到敌国 ...
- 201871010124 王生涛《面向对象程序设计JAVA》第一周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://edu.cnblogs.com/campus/xbsf/ ...
- 排序算法| Array.sort()算法规则
1.js的Array.sort()是使用什么算法排序: 1.火狐中是“归并排序” 2.V8引擎是 “插入排序和快速排序结合”.数组长度不超过10时,使用插入排序.长度超过10使用快速排序.在数组较短时 ...
- C#开发BIMFACE系列26 服务端API之获取模型数据11:获取单个面积分区信息
系列目录 [已更新最新开发文章,点击查看详细] 在<C#开发BIMFACE系列25 服务端API之获取模型数据9:获取楼层对应面积分区列表>一文中介绍了如何获取单个模型中单个楼层包 ...
- CSS修改选中文本颜色与背景色
壹 ❀ 引 在做博客美化的时候,想着去修改文本选中的背景色,因为网页默认是蓝底白字,看着与自己博客整体配色不太搭配,所以想着去改改. 贰 ❀ ::selection 解决方案其实很简单,使用css ...
- 适合新手:从零开发一个IM服务端(基于Netty,有完整源码)
本文由“yuanrw”分享,博客:juejin.im/user/5cefab8451882510eb758606,收录时内容有改动和修订. 0.引言 站长提示:本文适合IM新手阅读,但最好有一定的网络 ...
- LeetCode 136:只出现一次的数字 Single Number
题目: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. Given a non-empty array of integers, every e ...
- 自己实现LinkedList
public class MyLinkedList<E> { private Node first; private int size; public int size(){ return ...