Reference:  https://mp.weixin.qq.com/s?src=3&timestamp=1512896424&ver=1&signature=L1C7usG9nhuvVUS9dkoQ4L0C3uwt3mRI*sGWWChs3iy4VPVW0dTmQDeYjIoUeel2lCJlkkvHrl5Ay6Y8rhs4sK*mTw66GBSmdJZvpcUzRfYkVTrz2ejcMG0CwjjVYv3YpaC0brOEqnFjaVwMAISnWQk7DRaBFih9XySrBOQ9JbE=

前言

基于Keepalived实现LVS双主高可用集群。什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生。本文将详细讲述Keepalived工作原理及高可用解决方案的实现。

相关介绍

Keepalived简介

Keepalived采用VRRP(virtual router redundancy protocol,虚拟路由冗余协议)热备份协议,以软件的方式实现linux服务器的多机热备功能。VRRP是针对路由器的一种备份解决方案——由多台路由器组成一个热备组。通过共用的虚拟IP地址对外提供服务;每个热备组内同一时刻只有一台主服务器提供服务,其他服务器处于冗余状态,若当前在线的服务器失败,其他服务器会自动接替(优先级决定接替顺序)虚拟IP地址,以继续提供服务。

工作原理

Keepalived组件介绍

core:keepalived的核心,复杂主进程的启动和维护,全局配置文件的加载解析等

check:负责healthchecker(健康检查),包括了各种健康检查方式,以及对应的配置的解析包括LVS的配置解析

vrrp:VRRP子进程,VRRP子进程就是来实现VRRP协议的

libip*:LVS相关

由图可知,两个子进程都被系统WatchDog看管,两个子进程各自负责自己的事,healthchecker子进程负责检查各自服务器的健康程度,例如HTTP,LVS等等,如果healthchecker子进程检查到MASTER上服务不可用了,就会通知本机上的VRRP子进程,让他删除通告,并且去掉虚拟IP,转换为BACKUP状态。

高可用解决方案

实验拓扑

配置过程

HA集群配置前提

时间同步、基于主机名互相通信、SSH互信

请确保两个节点时间同步,可用ntpdate向时间服务器同步

基于主机名互相通信

SSH互信

安装所需程序

配置keepalived

将配置文件同步给另一个节点

修改另一个节点配置文件

Real Server配置

配置内核参数及VIP

准备测试页面

测试页面

keepalived节点准备应急页面

测试

启动keepalived

 

查看两节点的ip和ipvs规则情况

访问测试

模拟其中一个主节点故障

再次查看两节点的ip和ipvs规则情况

由此可见,一个主节点挂掉以后所有的VIP和ipvs规则都会转移到另一个节点,所以访问也不会受到任何影响,这里就不再测试。如果故障节点重新上线,资源还会再次回到工作节点。

下面我们模拟两个RS节点全部故障,看一下sorry_server是否可以工作

 

查看ipvs规则

real server已全部下线,应急服务器上线

sorry_server响应成功,至此,基于Keepalived实现LVS双主高可用集群实验完成

The end

基于Keepalived实现LVS双主高可用解决方案就说到这里了,通过实验可以看出使用keepalived构建LVS群集更加简便易用

最新文章

  1. Mysql两个引擎对比
  2. 大熊君JavaScript插件化开发------(实战篇之DXJ UI ------ ItemSelector重构完结版)
  3. AJAX 与 MySQL
  4. ORDER BY 1,2 desc
  5. NOI十连测 第五测 T1
  6. centos gdb安装
  7. Java 面试宝典
  8. [Leetcode]538. Convert BST to Greater Tree
  9. [20170603]12c Top Frequency histogram.txt
  10. 16-使用Selenium模拟浏览器抓取淘宝商品美食信息
  11. linux pstree命令
  12. yum 安装时错误 Errno 14 Couldn't resolve host 解决办法
  13. Mysql 编译安装脚本
  14. touch-action属性引起的探索
  15. [译]React 在服务端渲染的实现
  16. 关于Unity中NGUI的Checkbox复选框、Slider滑动条和Button的6种触发回调事件的方式
  17. 「2017 山东一轮集训 Day6」子序列(矩阵快速幂)
  18. burpsuite的使用(二)
  19. Spring Security基本配置
  20. 找xpath好用的工具(Firefox插件)

热门文章

  1. IP概念盛行的背后:资本在狂欢,电影想哭泣 IP,英文“Intellectual Property”的缩写,直译为“知识产权”。它的存在方式很多元,可以是一个故事,也可以是某一个形象,运营成功的IP可以在漫画、小说、电影、玩具、手游等不同的媒介形式中转换。
  2. Android静默安装实现方案,仿360手机助手秒装和智能安装功能
  3. Debian静态IP地址和DNS
  4. 如何使用git 提交作业 收作业
  5. mysql在插入或更新的时候对一个字段赋递增值
  6. 如何使用Git 下载GitHub的东西
  7. springBoot bean注入
  8. android sqlite3:数据库操作
  9. xcode6 怎样下载ios7模拟器
  10. springboot + mybatis-pagehelper 参数查询不分页的bug。。。