在海航云中部署 keepalived

**本文属自我学习,不合适转载**

1. 准备工作

1.1 网络方面的准备工作

1.1.1 创建安全组

注意这里要添加 vrrp 协议支持,否则 keepalived 将无法正常工作。

1.1.2 创建网络

1.1.3 创建路由器,绑定EIP,并连接上面的网络

1.1.4 创建 VIP 的弹性网卡,设置安全组,绑定EIP

1.2 创建两个弹性云服务器,并绑定EIP

1.3 在虚机的网卡上设置允许的地址对

添加:(需要在两个虚机的网卡上添加允许的地址对,从而允许该网卡上使用 vip 的IP发出去的网络包能够被发出)

结果:

2. 安装 keepalived和httpd

(1).通过SSH登录 master,安装 keepalived,并做如下配置

安装 httpd,设置其监听端口为81。并在 /var/www/html/index.html 文件中写入 master.

需要设置 www 目录的访问权限 sudo chmod 755 html -R,否则会收到 403 错误。

将 httpd 和 keepalived 设置为自动启动:

  • sudo chkconfig keepalived on
  • sudo chkconfig httpd on

(2). 在 slave 上做类似的配置,priority 设置为 50.

(3). 在本地和虚机的EIP上测试 http 81 端口,能返回正确的字符串

(4). 能看到 VRRP 网络包

(5). 使用 ip a 命令能看到 master 上的 vip (注意使用 ifconfig 命令看不到)

(6). 能看到vrrp协议的网络包

(7). 能看到浏览器请求时的 vip 发出的网络包

3. 测试

(0)在浏览器上打开 120.132.124.82:81,刷新,查看其返回的字符串。根据字符串判断是哪个节点上返回的。

(1). master 和 salve 都运行的情况下,返回 master

(2). 将 master 关机,刷新,返回 slave

(3). 将 master 开机,刷新,返回 master

(4). 将 slave 关机,刷新,返回 master

此过程中,在 slave 上,运行 sudo tcpdump -n -i eth0 proto 112 命令,能看到 vrrp 主节点的变化过程:

//master 和 slave 都活着时,master 是主18:23:48.557128 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20
18:23:49.460185 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 0, authtype simple, intvl 1s, length 20
//master 关机,slave 升为主18:23:50.265691 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20
18:23:51.266660 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20
18:24:38.304008 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20
//master 重启后,它变为主18:24:41.307612 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20
18:24:41.307739 IP 172.17.100.202 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 50, authtype simple, intvl 1s, length 20
18:24:41.308134 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20
18:24:42.309298 IP 172.17.100.201 > 224.0.0.18: VRRPv2, Advertisement, vrid 1, prio 100, authtype simple, intvl 1s, length 20

(5). 将安全组里面的 vrrp 协议删除,则 keepalived 出现脑裂,即两个都是 master。

(6). 将当前 MASTER 节点的虚拟网卡上的“允许的地址对”删除,则无法通过浏览器访问 vip:81. 这是因为,该虚机网卡发出的使用vip作为源地址的网络包都被阻止了。这是因为默认在所有虚拟网卡上开启了安全限制,只允许发出跟虚拟网卡自身ip和mac匹配的网络包。

(7). 将当前 SLAVE 节点的虚拟网卡上的“允许的地址对”删除,则不影响通过浏览器访问 vip:81,因为此时该网卡上没有vip;但是,vip 主备切换后,则无法再访问 vip 了。

参考链接:

时间: 2024-10-18 02:52:59

在海航云中部署 keepalived的相关文章

部署Keepalived+LVS

部署keepalived高可用 部署环境: KEEP1 IP :10.0.0.5 KEEP2 IP : 10.0.0.6 两台服务器的环境都是如下 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [[email protected] ~]# uname -v #1 SMP Wed Jul 15 10:13:09 UTC 2015 [[email protected] ~]# uname -a Li

部署keepalived高可用服务

keepalived服务概念说明 keepalived软件能干什么?Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控LVS集群系统中各个服务节点的状态,后来又加入了可以实现高可用的VRRP功能 Keepalived软件主要是通过VRRP协议实现高可用功能的. VRRP是Virtual Router Redundancy Protocol(虚拟路由器冗余协议)的缩写, VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时, 整个网络可以不间断地

Docker六大优势,云中部署模式、以及视频demo

随着Docker技术的不断成熟,越来越多的企业开始考虑使用Docker.Docker有很多的优势,如持续集成.版本控制.可移植性.隔离性.安全性和高性能. 另外一方面如何在企业云中实施docker,是直接使用docker(Cloud by Docker)还是将docker运行在vm中进行管理(Docker in Cloud)? 本文将总结优势,分析部署模式,以及最后通过2个视频demo来了解下云中运行docker的模式情况 1.六大优势 1.1 持续部署与测试 Docker在开发与运维的世界中具

Centos7.5安装mysql5.7.24二进制包方式部署(keepalived+主从复制)

一.环境准备: 操作系统:CentOS Linux release 7.5.1804 (Core) mysql版本:mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz主库:172.16.8.247从库:172.16.8.249主机名:172.16.8.247 qas-zabbix-node01172.16.8.249 qas-zabbix-node02172.16.8.248 vip 二.mysql5.7安装及主从复制配置 主库:172.16.8.247从库:1

实践:在CentOS7.3部署 keepalived 高可用nginx(负载均衡)

背景: 既然有了Lvs+keepalived这样高性能的组合,那为何还要有Nginx+keepalived呢,keepalived的初衷就是为了Lvs而设计的,我们都知道Lvs是一个四层的负载均衡设备,虽然有着高性能的优势,但同时它却没有后端服务器的健康检查机制,keepalived为lvs设计了一系列的健康检查机制TCP_CHECK,UDP_CHECK,HTTP_GET等.同时lvs也可以自己写健康检查脚脚本.或者结合ldirectory来实现后端检测.但是固LVS始终无法摆脱它是一个四层设备

keepalived+nginx+tomcat的简单部署

keepalived+nginx Keepalived是一个基于VRRP协议来实现的服务高可用方案,也是一种高性能的服务器高可用或热备解决方案,可以利用其来避免IP单点故障,类似的工具还有heartbeat.corosync.pacemaker.但是它一般不会单独出现,而是与其它负载均衡技术(如lvs.haproxy.nginx)一起工作来达到集群的高可用.为了更好的实现页面的调用,通过部署Keepalived+nginx来实现负载均衡,使得nginx高可靠性运行.基于Keepalived设计的

Saltstack自动部署Haproxy+keepalived+nginx+memcache+php(fastcgi)

二系列: 部署keepalived总的目录结构 [[email protected] salt]# tree /srv/salt/ /srv/salt/ ├── base │   ├── init │   │   ├── audit.sls │   │   ├── dns.sls │   │   ├── env_init.sls │   │   ├── epel.sls │   │   ├── files │   │   │   └── resolv.conf │   │   ├── histo

keepalived双机热备原理及实例部署LVS+keepalived

keepalived简介 它是由C语言编写的路由热备软件,主要提供简单高效的负载均衡及高可用解决方案.keepalived通过VRRP协议实现高可用架构.lvs实现集群分发,keepalived实现调度器的主备方案,两者结合实现集群系统的高负载高可用. VRRP协议是为了防止单点故障而设计的主从灾备协议,VRRP将两台或者多台路由设备虚拟成一个设备,对外提供一个虚拟路由ip地址,主路由设备处于启用状态时,不断的发送自身信息到备用设备,以表明主路由状态正常,当备用设备收不到主设备的信息时,备用设备

集群系列教程之:keepalived+lvs 部署

集群系列教程之:keepalived+lvs 前言:最近看群里很多人在问keepalived+lvs的架构怎么弄,出了各种各样的问题,为此特别放下了别的文档,先写一篇keepalived+lvs架构的文档,使那些有需求的人能够得以满足.但是此篇文档是架构文档,不是基础理论,但我想你能做这个架构,势必也了解了基础理论知识,更多的理论知识体系,请看下回分解.... 测试拓扑: 环境说明: 从上面的拓扑图,就可以看出本实验的环境信息,其中实线代表的是真实的物理连接,而虚线表示的是逻辑关系.hostna