准备

  准备两台机器,IP地址信息如下:

host1: 192.168.56.103
host2: 192.168.56.104

  为了测试需要,分别在两台机器上安装apache并启动httpd服务,使下面两个url均可访问:

  •   http://192.168.56.103
  •   http://192.168.56.104

安装keepalived

  在两台机器上分别安装keepalived

sudo yum install -y keepalived

配置keepalived

host1上keepalived 配置

$ cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth2
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.56.105
}
}

host2上keepalived 配置

$ cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth2
virtual_router_id
priority
advert_int
authentication {
auth_type PASS
auth_pass
}
virtual_ipaddress {
192.168.56.105
}
}

启动keepalived 服务

$ sudo service keepalived start
$ sudo chkconfig keepalived on

测试

  服务启动后,先访问下面的虚拟地址访问http服务器

http://192.168.56.105

查看IP地址信息

host1上IP地址信息

$ ip addr show eth2
: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether ::::: brd ff:ff:ff:ff:ff:ff
inet 192.168.56.103/ brd 192.168.56.255 scope global eth2
inet 192.168.56.105/ scope global eth2
inet6 fe80::a00:27ff:fe32:/ scope link
valid_lft forever preferred_lft forever

  其中可以看到inet 192.168.56.105/32 scope global eth2,说明现在host1是作为虚拟IP的master来运行的。

host2上IP地址信息

$ ip addr show eth2
: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :::ec::7b brd ff:ff:ff:ff:ff:ff
inet 192.168.56.104/ brd 192.168.56.255 scope global eth2
inet6 fe80::a00:27ff:feec:907b/ scope link
valid_lft forever preferred_lft forever

  此时host2上ip地址信息中不包含虚拟IP"192.168.56.105"信息。

验证IP地址Failover

  现在手动停止host1上的keepalived服务

$ sudo service keepalived stop

host1上IP地址信息

$ ip addr show eth2
: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether ::::: brd ff:ff:ff:ff:ff:ff
inet 192.168.56.103/ brd 192.168.56.255 scope global eth2
inet6 fe80::a00:27ff:fe32:/ scope link
valid_lft forever preferred_lft forever

  此时host1上ip地址信息中不再包含虚拟IP"192.168.56.105"信息。

host2上IP地址信息

$ ip addr show eth2
: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu qdisc pfifo_fast state UP qlen
link/ether :::ec::7b brd ff:ff:ff:ff:ff:ff
inet 192.168.56.104/ brd 192.168.56.255 scope global eth2
inet 192.168.56.105/ scope global eth2
inet6 fe80::a00:27ff:feec:907b/ scope link
valid_lft forever preferred_lft forever

  现在可以看到host2上ip地址信息中已经包含虚拟IP"192.168.56.105"信息了。

  此时如果再把host1上的keepalived服务启动,会发现虚拟IP"192.168.56.105"又重新绑定到host1上了。

转载自《使用 keepalived 设置虚拟 IP 环境

  

【转】使用keepalived设置虚拟IP示例的更多相关文章

  1. 使用 keepalived 设置虚拟 IP 环境(转载)

    使用 keepalived 设置虚拟 IP 环境 原文地址:https://blog.csdn.net/kongxx/article/details/73173762 使用 keepalived 设置 ...

  2. keepalived配虚拟ip(vip)的作用

    keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redundancy Protocol,即虚拟路由冗余协议. 虚拟路由冗余协议,可以认为是实现路由器高可用的 ...

  3. keepalvied虚拟ip安装设置

    keepalvied 虚拟ip 第一步:主服务器上设置虚拟ip (也可以不设置虚拟ip,keepalived启动的时候会自动设置) ifconfig ens33:1 192.168.136.131 n ...

  4. 虚拟IP原理及使用

    一.前言 高可用性 HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性.HA 系统是目前企业防止核心 ...

  5. 微服务管理平台nacos虚拟ip负载均衡集群模式搭建

    一.Nacos简介 Nacos是用于微服务管理的平台,其核心功能是服务注册与发现.服务配置管理. Nacos作为服务注册发现组件,可以替换Spring Cloud应用中传统的服务注册于发现组件,如:E ...

  6. LoadRunner 使用虚拟IP测试流程

    LoadRunner 使用虚拟IP测试流程 LoadRunner 使用IP欺骗的原因 . 当某个IP的访问过于频繁,或者访问量过大是,服务器会拒绝访问请求,这时候通过IP欺骗可以增加访问频率和访问量, ...

  7. Center os6.5设置静态ip

    DEVICE="eth0"BOOTPROTO=staticHWADDR="00:0C:29:95:89:35"IPV6INIT="yes"N ...

  8. Keepalived虚拟ip

    linux下如何设置vip(虚拟ip) 在做HA的时候需要为服务器设计虚拟IP,也就是一个主机对应多个IP地址?刚听起来好神奇,原来这样也是可能的看了下面的这个链接 自己配了一下http://hi.b ...

  9. linux下如何设置vip(虚拟ip)

    在做HA的时候需要为服务器设计虚拟IP,也就是一个主机对应多个IP地址?刚听起来好神奇,原来这样也是可能的看了下面的这个链接 自己配了一下http://hi.baidu.com/pbottle/ite ...

随机推荐

  1. Laravel框架下容器Container 的依赖注入和反射应用

    依赖注入,简单说是把类里头依赖的对象,置于类外头,即客户端调用处.相当于把类与类解耦. 一个简单的例子: class A { public function __construct() { // 这种 ...

  2. Java面试准备之多线程

    什么叫线程安全?举例说明 多个线程访问某个类时,不管运行时环境采用何种调度方式或者这些线程将如何交替执行,并且在主调代码中不需要任何额外的同步或者协同,这个类都能表现出正确的行为,那么就称这个类是线程 ...

  3. css3学习系列之移动

    transform功能 放缩 使用sacle方法实现文字或图像的放缩处理,在参数中指定缩放倍率,比如sacle(0.5)表示缩小50%,例子如下: <!DOCTYPE html> < ...

  4. 通过sort()方法实现升序和降序排列

    数组 升序:Arrays.sort(arr); 降序: 方法一:Arrays.sort(arr,Collections.reverseOrder()); 方法二: package com.yh.sor ...

  5. day03(变量,常量,输入输出,注释,基本数据类型,运算符)

    一,复习 ''' 1.语言的分类 -- 机器语言:直接编写0,1指令,直接能被硬件执行 -- 汇编语言:编写助记符(与指令的对应关系),找到对应的指令直接交给硬件执行 -- 高级语言:编写人能识别的字 ...

  6. 安装Java和Tomcat

    安装Java 下载java源码包 安装的是JDK8,下载地址如下:下载链接 注意,不要在服务器中使用wget来下载jdk,因为oracle会认为你是爬虫,下载的文件不是jdk,而是一个html文件. ...

  7. python爬虫爬取赶集网数据

    一.创建项目 scrapy startproject putu 二.创建spider文件 scrapy genspider  patubole patubole.com   三.利用chrome浏览器 ...

  8. Django admin组件源码流程

    admin 组件 Django 自带的用户后台组件 用于用户便携的操作 admin 组件核心 启动 注册 设计url 启动核心代码 每个app 通过 apps.py 扫描 admin.py 文件 并执 ...

  9. C/C++ const

    一 含义 const修饰的变量在C和C++中的含义是什么?一样吗? 在C中用const修饰的变量仅仅表示这个符合表示的变量不能被赋值,是只读的,那么它与常量有啥区别呢?区别就是一个是常量,一个是变量. ...

  10. poj 1015 Jury Compromise(背包变形dp)

    In Frobnia, a far-away country, the verdicts in court trials are determined by a jury consisting of ...