LVS——DR模式+Keepalived(高可用)
1、什么是keepalived
keepalived是集群管理中保证集群高可用的一个服务软件,用来防止单点故障。
Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。
2、keepalived工作原理
keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议。
虚拟路由冗余协议,可以认为是实现路由器高可用的协议,即将N台提供相同功能的路由器组成一个路由器组,这个组里面有一个master和多个backup,master上面有一个对外提供服务的vip(该路由器所在局域网内其他机器的默认路由为该vip),master会发组播,当backup收不到VRRP包时就认为master宕掉了,这时就需要根据VRRP的优先级来选举一个backup当master。这样的话就可以保证路由器的高可用了。
keepalived主要有三个模块,分别是core、check和VRRP。core模块为keepalived的核心,负责主进程的启动、维护以及全局配置文件的加载和解析。check负责健康检查,包括常见的各种检查方式。VRRP模块是来实现VRRP协议的。
3、实验
实验环境:
主机 | ip | 服务 |
server1 | 172.25.10.1 | LVS ACTIVE(主) |
server4 | 172.25.10.4 | LVS BACKUP(备) |
VIP | 172.25.10.100 | LVS VIP |
server2 | 172.25.10.2 | Realserver1 |
server3 | 172.25.10.3 | Realserver2 |
实验步骤:
server1主机上:
1、配置高级yum源
cd /etc/yum.repos.d/vim rhel-source.repo
配置文件中的内容如下:
2、从物理机上传keepalived的包,然后将包解压并进入解压目录,安装依赖包gcc和openssl-devel,如下所示:
scp root@172.25.10.250:/home/kiosk/Desktop/keepalived-2.0.17.tar.gz .lstar zxf keepalived-2.0.17.tar.gzcd keepalived-2.0.17/lsyum install -y gcc openssl-devel
3、编译keepalived的源码包,如下所示:
./configure --prefix=/usr/local/keepalived --with-init=systemd
4、make && make install安装
make && make install
5、设定软连接,关闭上个实验的ldirectord,查看keepalived的状态,如下所示:
lsln -s /usr/local/keepalived/etc/keepalived/ /etc//etc/init.d/ldirectord stopchkconfig ldirectord offsystemctl status keepalived.service
6、修改文件中的配置,如下所示:
vim /etc/keepalived/keepalived.conf
配置内容如下:
! Configuration File for keepalivedglobal_defs {notification_email {root@localhost #接收警报的email地址,可以添加多个
}notification_email_from keepalived@localhost #设置邮件的发送地址smtp_server 127.0.0.1 #设置smtp swrver地址smtp_connect_timeout 30 #设置连接smtp服务器超时时间router_id LVS_DEVEL #load balancer的标识ID,用于email警报vrrp_skip_check_adv_addr# vrrp_strictvrrp_garp_interval 0vrrp_gna_interval 0
}vrrp_instance VI_1 {state MASTER #备机改成BACPUP,此状态是由priority的值来决定的,当前priority的值小于备>机的值,那么将会失去MASTER状态interface eth0 #HA监测网络接口virtual_router_id 51 #主,备机的virtual_router_id 必须相同,取值0-255priority 100 #主机的优先级,备份机改为50,主机优先级一定要大于备机advert_int 1 #主备之间的通告间隔秒数authentication { #主备切换时的验证auth_type PASS #设置验证类型,主要有PASS和AH两种auth_pass 1111 #设置验证密码,在一个vrrp_instance下,MASTER与BACPUP必须使用相同的密码才
能正常通信}virtual_ipaddress { #设置虚拟IP地址,可以设置多个虚拟IP地址,每行一个172.25.12.100}
}virtual_server 172.25.12.100 80 { #定义虚拟服务器delay_loop 6 #每隔6秒查询realserver状态lb_algo rr #lvs调度算法,这里使用轮叫lb_kind DR #lvs是用DR模式# persistence_timeout 50 #会话保持时间,单位是秒,这个选项对于动态网页是非常有
#用的,为集群系统中 session 共享提供了一个很好的解决方案。有了这个会话保持功能,用户的
#请求会被一直分发到某个服务节点,直到超过这个会话保持时间。需要注意的是,这个会话保
#持时间,是最大无响应超时时间,也就是说用户在操作动态页面时,如果在 50 秒内没有执行任
#何操作,那么接下来的操作会被分发到另外节点,但是如果一直在操作动态页面,则不受 50 秒
#的时间限制。protocol TCP #指定转发协议类型,有tcp和udp两种real_server 172.25.12.2 80 { #配置服务节点weight 1 #配置服务节点的权值,权值大小用数字表示,数字越大,权
#值越高,设置权值的大小可以为不同性能的服务器分配不同的负载,可以对性能高的服务器设
#置较高的权值,而对性能较低的服务器设置相对较低的权值,这样就合理的利用和分配了系统资源TCP_CHECK{ #realserve的状态检测设置部分,单位是秒connect_timeout 3 #10s无响应超时retry 3 #重试次数delay_before_retry 3 #重试间隔}}real_server 172.25.12.3 80 {weight 1TCP_CHECK{connect_timeout 3retry 3delay_before_retry 3}}
}
7、查看ip,并删除eth0网卡上的172.25.10.100,如下所示:
ip aip addr del 172.25.12.100/24 dev eth0ip a
8、将配置好的文件发送给server4,如下所示:
scp /etc/keepalived/keepalived.conf server4:/etc/keepalived/
server4主机上:
1、从物理机上传keepalived的包,然后将包解压并进入解压目录,安装依赖包gcc和openssl-devel,如下所示:
scp root@172.25.10.250:/home/kiosk/Desktop/keepalived-2.0.17.tar.gz .
ls
tar zxf keepalived-2.0.17.tar.gz
cd keepalived-2.0.17/
ls
yum install -y gcc openssl-devel
2、编译keepalived的源码包,如下所示:
./configure --prefix=/usr/local/keepalived --with-init=systemd
3、make && make install安装,如下所示:
make && make install
4、进入/usr/local/keepalived/制作软链接,如下所示:
lscd /usr/local/keepalived/lsln -s /usr/local/keepalived/etc/keepalived/ /etc/
5、进入/etc/keepalived/keepalived.conf的配置目录更改优先级为50,如下所示:
vim /etc/keepalived/keepalived.conf
物理机测试:
分别重启server1和srever4的服务,发现自动分配了ip,此时server1和server4如下所示:
当我们关闭server1的服务时会发现ip发生了漂移,会出现在server4上,如下所示:
但当我们重新开启server1的服务时会发现ip又会回来,如下所示:
LVS——DR模式+Keepalived(高可用)相关推荐
- 十六周一次课(4月11日) 学习完成 18.11 LVS DR模式搭建 18.12 keepalived + LVS
2019独角兽企业重金招聘Python工程师标准>>> 18.11 LVS DR模式搭建 准备工作:三台机器 分发器,也叫调度器(简写为dir) 192.134 rs1 192.13 ...
- LVS DR模式搭建,keepalived + LVS
2019独角兽企业重金招聘Python工程师标准>>> LVS DR模式搭建 准备工作 三台机器,只需要有公网IP 分发器,也叫调度器(简写为dir)IP:192.168.133.1 ...
- LVS DR模式搭建、keepalived+LVS
LVS DR 模式搭建 准备工作 三台机器,三台机器均有公网IP. 调度器(director) IP:192.168.159.131 real server 1 (real1) IP:192.168. ...
- lvs服务器需要开启web服务么_Centos7搭建LVS+Keepalived高可用Web
LVS + Keepalived 高可用集群 Keepalived的设计目标是构建高可用的LVS负载均衡的集群,可以调用ipvsadm工具创建虚拟机,不仅仅用作双机热备,还可以使用keepalived ...
- 基于keepalived 实现VIP转移,lvs,nginx的高可用
一.Keepalived 高可用集群的解决方案 二.VRRP的有限状态机 三.利用keepalived 实现主从VIP的切换 四. 实现在状态转变的时候自定义进行通知, 五. 实现负载均衡 六:实现n ...
- Linux集群架构(LVS DR模式搭建、keepalived + LVS)
为什么80%的码农都做不了架构师?>>> LVS DR模式搭建 准备工作:三台机器 分发器,也叫调度器(简写为dir):192.168.248.128 rs1 :192.168 ...
- keepalived高可用lvs集群,主/备和主/主模型
利用keepalived高可用lvs集群,主/备和主/主: vrrp_script高可用双主nginx: keepalived主备:lvs-dr工作模型 网络搭建: 在前端2台调度器: DR1:172 ...
- 实践 | Centos 7搭建LVS+Keepalived高可用Web服务群集群
LVS + Keepalived 高可用集群 Keepalived的设计目标是构建高可用的LVS负载均衡的集群,可以调用ipvsadm工具创建虚拟机,不仅仅用作双机热备,还可以使用keepalived ...
- LVS+keepalived高可用负载均衡集群部署(一) ----数据库的读写分离
l 系统环境: RHEL7 l 硬件环境:虚拟机 l 项目描述:为解决网站访问压力大的问题,需要搭建高可用.负载均衡的 web集群. l 架构说明:整个服务架构采用功能分离的方式部署.后端采用 ...
最新文章
- python 自定义异常
- Android驱动开发之Hello实例
- 骚操作:利用强弱符号制作插件库
- 【CodeChef - CLIQUED 】Bear and Clique Distances(建图,缩点技巧,思维)
- SpringCloud |第二篇: 服务消费者(Ribbon)
- ubuntu 安装yar和使用
- 月薪30K程序员花了一个小时,用c++做出经典扫雷游戏 !
- linux 的 cat more less 命令有什么区别
- java文件日志功能_JAVA文件下载功能问题解决日志
- SQL Server脏读方式数据提取---NOLOCK和READPAST
- mysql安装,数据库连接
- 1.13 单用户模式;1.14 救援模式;1.15 克隆虚拟机;1.16 Linux机器相互登录
- (PyTorch0.4.0) AttributeError: module 'torch' has no attribute 'flatten'
- Vue之echarts圆饼图详解
- 生成PDF并上传到图片服务器
- CSDN云IDE怎样克隆代码
- Pr 入门教程如何创建动作序列?
- Flask源码阅读(六)——Flash消息
- c++builder 6.0中OnCliked= fun实现的原理
- 解决网页中文字无法选中的问题