CentOS7 搭建LVS+keepalived负载均衡
1、实验环境
4台节点
Keepalived1 + lvs1(Director1):192.168.31.4
Keepalived2 + lvs2(Director2):192.168.31.3
Real server1:192.168.31.2
Real server2:192.168.31.7
IP: 192.168.31.38
2、安装
Lvs + keepalived的2个节点安装:
yum install ipvsadm keepalived -y
Real server + nginx服务的2个节点安装:
yum install -y nginx
3、设置配置脚本
Real server节点2台配置脚本:
vim /opt/lvs_dr_rs.sh
#!/bin/bash vip=192.168.31.38
ifconfig lo: $vip broadcast $vip netmask 255.255.255.255 up
route add -host $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 2>&1
复制到另外一台
scp lvs_dr-rs.sh root@192.168.31.3:/opt
执行脚本
bash /opt/lvs_dr_rs.sh
查看
ip a
keepalived节点配置(2节点):
主节点( MASTER )配置文件
vim /etc/keepalived/keepalived.conf
global_defs{
router_id LVS_DEVEL
}
vrrp_instance VI_1 {
state MASTER
interface eth0
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.31.38
}
} virtual_server 192.168.31.38 {
delay_loop
lb_algo rr
lb_kind DR
persistence_timeout
protocol TCP
real_server 192.168.31.2 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
real_server 192.168.31.7 {
weight
TCP_CHECK {
connect_timeout
nb_get_retry
delay_before_retry
connect_port
}
}
}
从节点( BACKUP )配置文件
拷贝主节点的配置文件keepalived.conf:
scp keepalived.conf root@192.168.31.3:/etc/keepalived
然后修改如下内容:
state MASTER -> state BACKUP
priority -> priority
keepalived的2个节点执行如下命令,开启转发功能:
# echo > /proc/sys/net/ipv4/ip_forward
4、启动nginx
systemctl start nginx
5、启动keepalived
先主后从分别启动keepalive
systemctl start keepalived.service
6、重启日志记录服务
修改vim /etc/sysconfig/keepalived日志保存路径
把KEEPALIVED_OPTIONS="-D" 修改为:KEEPALIVED_OPTIONS="-D -d -S 0"
在vim /etc/rsyslog.conf 末尾添加
local0.* /var/log/keepalived.log
重启日志服务
systemctl restart rsyslog
重启keepalived
systemctl restart keepalived.service
7、排查
- 查看/var/log/keepalived.log日志是否启动成功??
- ipvsadm -ln查看是否正常
- ipvsadm -ln --stats查看是否主才有数据,备没有数据
- curl vip,然后查看ipvsadm -lnc数据是否异常
8、删除
ifconfig lo:0 down
route del 192.168.31.38
LVS DR模式的特性: 、CIP必须能够和VIP通讯,所以通常VIP是外网地址
、DIP和RIP为同一物理网络,否则无法向RS发送ARP广播
、RS上必须配置VIP地址,否则响应报文无法送达客户端,RS上的VIP对外界是不可见的,但RS可以接收目标地址为VIP的网络请求,并在回应数据包时将源地址设置为该VIP地址
、RS上必须做ARP抑制,使RS不响应来自CIP的请求,相当于指定Director来响应CIP的请求
、调度器几乎支持所有的UNIX、LINUX系统,但不支持windows,但是RS可以为windows
、RS的网关不能指向DIP,应该指向出口网关
、DR模式下,不支持端口映射,即Director不能更改请求报文的端口
、DR模式效率很高,但配置麻烦,访问量不是非常大的情况下推荐使用haproxy或者nginx。标准:日访问量2000W PV以下,或者并发请求1W以下的可以考虑使用haproxy或nginx或使用LVS-NAT模式。
、直接对外的访问业务,例如:web服务做RS节点,RS最好使用外网IP,如果不直接对外的业务,例如MySQL、存储系统RS节点,最好使用内网IP
参考:https://www.cnblogs.com/edisonchou/p/4281978.html
https://blog.csdn.net/Ki8Qzvka6Gz4n450m/article/details/79119665
https://blog.csdn.net/u012852986/article/details/52412174
CentOS7 搭建LVS+keepalived负载均衡的更多相关文章
- (转)CentOS7 搭建LVS+keepalived负载均衡(一)
原文:http://blog.csdn.net/u012852986/article/details/52386306 CentOS7 搭建LVS+keepalived负载均衡(一) CentOS7 ...
- linux 负载均衡配置 keepalive lvs 使用nginx转发 CentOS7 搭建LVS+keepalived负载均衡
最近希望能够配置一下负载均衡,在虚拟机上面,但是网上找了很多资料很零散,对于不了解的人,很多不够详细,最近终于做好了,把具体的步骤写下来,方便各位网友查阅学习 这个实验需要安装nginx如果没有安装过 ...
- 搭建LVS+Keepalived负载均衡集群
这两天学习了LVS+Keepalived负载均衡的搭建.网上的教程非常多,可是动起手来遇到不少问题. 如今把自己的搭建过程以及遇到的一些问题给分享下. 硬件环境: Macbook 8G内存.250G ...
- LVS+keepalived负载均衡
背景: 随着你的网站业务量的增长你网站的服务器压力越来越大?需要负载均衡方案!商业的硬件如F5又太贵,你们又是创业型互联公司如何有效节约成本,节省不必要的浪费?同时实现商业硬件一样的高 ...
- Linux CentOs集群LVS+Keepalived负载均衡的实现
准备工作 环境:Win10下Centos6.4虚拟机. 负载均衡:两台(一主一备) LVS + Keepalived. HTTP服务器:3台. 给每台服务器配置IP 1.VIP(virtual ip ...
- LVS+keepalived负载均衡实战
1 首先安装虚拟机 安装系统 这里 配置两台虚拟机 1:192.168.137.102 2:192.168.137.103 分别安装tomcat 默认80端口,同时都是开启状态 配置192.168 ...
- lvs+keepalived 负载均衡
LVS是一个开源的软件,可以实现LINUX平台下的简单负载均衡.LVS是Linux Virtual Server的缩写,意思是Linux虚拟服务器.目前有三种IP负 载均衡技术(VS/NAT.VS/T ...
- LVS+Keepalived负载均衡配置
简介 lvs一般是和keepalived一起组合使用的,虽然也可以单独使用lvs,但配置比较繁琐,且可用性也没有前者高. lvs和keepalived组合使用后,配置lvs的VIP和负载均衡就都在ke ...
- MySQL 高可用:mysql+Lvs+Keepalived 负载均衡及故障转移
系统信息: mysql主库 mysql从库 VIP 192.168.1.150 mysql 主主同步都设置 auto-increment-offset,auto-increment-increment ...
随机推荐
- MySQL主主复制、主从复制
意思: 主机A上有mysql1,主机B上有mysql2,mysql1新建库D,则mysql2也新建库D,mysql1原有库A.B.C,mysql2也原有库A.B.C,总之mysql1和mysql2一样 ...
- Deep Learning framework --- MexNet 安装,测试,以及相关问题总结
Deep Learning framework --- MexNet 安装,测试,以及相关问题总结 一.安装: 参考博文:http://www.open-open.com/lib/view/op ...
- 自定义Exception——实战篇
public class EntityConfigurationException : Exception { public EntityConfigurationException(string m ...
- 【译】第4节---简单的Code First示例
原文地址:http://www.entityframeworktutorial.net/code-first/simple-code-first-example.aspx 假设我们要为XYZ学校创建一 ...
- Easyui使用心得(1)--DateGrid表格
最近一直在用easyui这个控件,有一点心得,在这里和大家分享一下,也是对自己工作的一个小小的总结,希望可以形成一个完整的Easyui的笔记体系,可以方便更多的人 因为自己也是在摸索中前进,难免有遗漏 ...
- P2016 战略游戏
传送门 思路: 前置知识——普通树D: ▲普通的树形 DP : 设 f [ i ][ 0 ] 表示这个点不取,则它的所有子节点都要取:f [ i ][ 1 ] 表示这个点取,则它的子节点取与不取对之前 ...
- 使用JS与CSS3的翻转实现3D翻牌效果
之前我们有讨论过使用CSS3如何实现网页水平翻转的效果,而这次我们介绍的是翻转效果更深一层的应用——3D翻牌效果. 这里我们需要使用flip中轴翻转实现,又因为是3D效果,如果希望呈现一定的3D视角, ...
- 如何将SqlServer中表结构以及表数据全部导出
不记录,很快就忘记了:记录了,仿佛也记得更牢了 步骤如下: Step1:右击数据库,弹出的标签中选择Tasks---Generate Scripts... Step2: 弹出新窗口中,勾选" ...
- R语言矩阵栅格显示矩阵颜色显示
效果如下:
- python3.5学习第一章
在python中,变量赋值或者其他语句后不需要加”:“ python中,缩进特别重要! 条件语句和循环语句,要加”:“ 一.变量赋值 name = "cecelia"name2 = ...