我使用了两台虚拟机做测试

系统centos7.3

主机A:172.16.1.123

主机B:172.16.1.124

其实和普通配置keepalived差不多,就是复制多了一个vrrp_instance,并将部分参数做适当修改

安装keepalived

yum install keepalived httpd -y

两台主机都需要修改系统参数,使其允许绑定ip,在/etc/sysctl.conf中添加以下内容

net.ipv4.ip_nonlocal_bind = 1

然后执行sysctl -p 生效

接着修改keepalived配置文件,以下是主机A的配置

[root@controller logs]# cat /etc/keepalived/keepalived.conf
global_defs {
router_id NodeA
}
vrrp_instance VI_1 {
state MASTER #一台设置为MASTER一台设置为BACKUP
interface eth0  #绑定的网卡
virtual_router_id 66 #随便设置一个id,但是注意,不能与局域网中的其他id冲突
priority 100  #优先级
advert_int 1  #周期
authentication {  #认证类型
auth_type PASS  #认证方式
auth_pass 1111  #认证密码
}
virtual_ipaddress {
172.16.1.129/24  #vip
}
}
vrrp_instance VI_2 {
state MASTER
interface eth0
virtual_router_id 67 #这个id也需要与上面的不同
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
172.16.1.130/ dev eth0
}
}

主机B的配置文件如下

[root@compute1 ~]# cat /etc/keepalived/keepalived.conf
global_defs {
router_id NodeB
}
vrrp_instance VI_1 {
state BACKUP
interface eth0
virtual_router_id 66  #与上面的66一致
priority 99  #因为是BACKUP,所以我们设置得比前面的小
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
172.16.1.129/ dev eth0
}
}
vrrp_instance VI_2 {
state BACKUP
interface eth0
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
172.16.1.130/ dev eth0
}
}

启动keepalived

systemctl start keepalived httpd

接着我们设置主机A和主机B的http的web首页分别为this is 123和this is 124

[root@controller logs]# curl 172.16.1.129
this is
[root@controller logs]# systemctl stop keepalived
[root@controller logs]# curl 172.16.1.129
this is
[root@controller logs]# systemctl start keepalived
[root@controller logs]# curl 172.16.1.129
this is
[root@controller logs]# cat /var/www/html/index.html
this is
[root@controller logs]#

可以发现ip会随着keepalived的变动而变动

keepalived双主虚拟路由配置的更多相关文章

  1. Keepalived 双主虚拟路由配置实例

    Keepalived 双主虚拟路由配置实例 演示前说明: 2台centos7.2 主机:node-00,node-01 VIP1:10.1.38.19预定node-00占有 VIP2:10.1.38. ...

  2. MariaDB+Keepalived双主高可用配置MySQL-HA

    利用keepalived构建高可用MySQL-HA,保证两台MySQL数据的一致性,然后用keepalived实现虚拟VIP,通过keepalived自带的服务监控功能来实现MySQL故障时自动切换. ...

  3. keepalived+双主实践HA

    工作不怎么忙,搞点儿开发吧差点儿事,就想着弄点儿架构的事儿.正好前段时间看过关于keepalived+双主实现高可用的文章,也恰好身边的朋友所在的公司也部分用这个架构.没什么事儿就搞搞吧,正好对比下M ...

  4. Mysql+Keepalived双主热备高可用操作记录

    我们通常说的双机热备是指两台机器都在运行,但并不是两台机器都同时在提供服务.当提供服务的一台出现故障的时候,另外一台会马上自动接管并且提供服务,而且切换的时间非常短.MySQL双主复制,即互为Mast ...

  5. 企业Nginx+Keepalived双主架构案例实战

    通过上一次课程的学习,我们知道Nginx+keepalived主从配置,始终有一台服务器处于空余状态,那如何更好的利用起来呢,我们需要借助Nginx+keepalived双主架构来实现,如下图通过改装 ...

  6. [转] Haproxy、Keepalived双主高可用负载均衡

    http://blog.chinaunix.net/uid-25266990-id-3989321.html 在测试了Nginx+Keepalived的负载均衡后,也对Haproxy+Keepaliv ...

  7. MySQL keepalived 双主.md

    MySQL keepalived 双主搭建 环境说明 系统 IP 主机名 mysql keepalived VIP CentOS 6.8 192.168.197.61 C6-node1 5.6.36 ...

  8. MySql 双主多从配置指导

    MySql 双主多从配置指导 一.背景 互联网项目为了数据的可靠性和架构的可拓展性经常会用到双主多从的数据库,来实现数据的备份.负载均衡和突发状况时数据库切换. 二.思路 配置两台数据库A.B互为主从 ...

  9. MYSQL主从复制、主主复制、双主多从配置

    一.如何配置MYSQL的主从复制? 1. 两台数据库服务器,IP分别为 192.168.216.128 和 192.168.216.129,在服务器上装MYSQL(我的配置版本为5.5.56) 2. ...

随机推荐

  1. python deque的内在实现 本质上就是双向链表所以用于stack、队列非常方便

    How collections.deque works? Cosven     前言:在 Python 生态中,我们经常使用 collections.deque 来实现栈.队列这些只需要进行头尾操作的 ...

  2. python测试开发django-rest-framework-64.序列化(serializers.Serializer)

    前言 REST framework中的serializers与Django的Form和ModelForm类非常像.我们提供了一个Serializer类,它为你提供了强大的通用方法来控制响应的输出, 以 ...

  3. 我的ImageIO.write ByteArrayOutputStream为什么这么慢?

    File.createTempFile(prefix, suffix),创建一个临时文件,再使用完之后清理即可.但是遇到如下两个坑: String prefix = "temp"; ...

  4. 08-Flutter移动电商实战-dio基础_伪造请求头获取数据

    在很多时候,后端为了安全都会有一些请求头的限制,只有请求头对了,才能正确返回数据.这虽然限制了一些人恶意请求数据,但是对于我们聪明的程序员来说,就是形同虚设.这篇文章就以极客时间 为例,讲一下通过伪造 ...

  5. shell grep的基本用法

    grep 1.-i 不区分大写小写 2.-n 区分大小写 3.-E 查找多个条件 4.-c 查找到的结果的行数 5.-w 精确查找 6.取反 7.-q 静默输出

  6. hibernate工具类

    因为hibernate的代码大部分都是固定的,为了将减少重复的代码的书写,可以将这些代码封装为一个工具类,获取hibernate的session对象. 1.工具类: package pers.zhb. ...

  7. CSS块元素、行内元素、行内块元素的转换

    一.块元素转行内元素:display:inline 二.行内元素转块元素:display:block div{ display: inline; /*无效 width: 500px; height: ...

  8. JS变量和变量交换的三种方法

    一.what 变量就是用来存储数据的容器 二.how 通过var 关键字定义一个变量 var n1; //定义变量 变量的赋值:通过赋值运算符“=” 给变量赋值. var n2=123; //定义变量 ...

  9. 干货 | 10分钟带你掌握branch and price(分支定价)算法超详细原理解析

    00 前言 相信大家对branch and price的神秘之处也非常好奇了.今天我们一起来揭秘该算法原理过程.不过,在此之前,请大家确保自己的branch and bound和column gene ...

  10. C博客作业03——函数

    0.展示PTA总分 截图展示: 1.本章学习总结 1.1学习内容总结 (a)函数的定义 1)函数是一个完成特定工作的独立程序模块,包括库函数和自定义函数两种,scanf(),printf()等为库函数 ...