使用 keepalived 设置虚拟 IP 环境

原文地址:https://blog.csdn.net/kongxx/article/details/73173762

使用 keepalived 设置虚拟 IP 环境
准备
准备两个机器,IP地址信息如下:

host1: 192.168.56.103
host2: 192.168.56.104
1
2
为了测试需要,分别在两个机器上安装apache并启动httpd服务,使下面两个url均可访问
- http://192.168.56.103
- http://192.168.56.104

安装 keepalived
在两台机器上分别安装 keepalived

$ sudo yum install -y keepalived
1
配置 keepalived
host1 上 keepalived 配置
$ cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth2
virtual_router_id 51
priority 101
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.56.105
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
host2 上 keepalived 配置
$ cat /etc/keepalived/keepalived.conf
vrrp_instance VI_1 {
state MASTER
interface eth2
virtual_router_id 51
priority 100
advert_int 1
authentication {
auth_type PASS
auth_pass 123456
}
virtual_ipaddress {
192.168.56.105
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
启动 keepalived 服务
$ sudo service keepalived start
$ sudo chkconfig keepalived on
1
2
测试
服务启动后,先访问下面的虚拟地址访问http服务器

http://192.168.56.105
1
查看IP地址信息
host1 上 IP 地址信息

$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:32:83:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.103/24 brd 192.168.56.255 scope global eth2
inet 192.168.56.105/32 scope global eth2
inet6 fe80::a00:27ff:fe32:8382/64 scope link
valid_lft forever preferred_lft forever
1
2
3
4
5
6
7
其中可以看到 inet 192.168.56.105/32 scope global eth2,说明现在host1是作为虚拟IP的master来运行的。
host2 上 IP 地址信息

$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ec:90:7b brd ff:ff:ff:ff:ff:ff
inet 192.168.56.104/24 brd 192.168.56.255 scope global eth2
inet6 fe80::a00:27ff:feec:907b/64 scope link
valid_lft forever preferred_lft forever
1
2
3
4
5
6
此时host2上ip地址信息中不包含虚拟IP “192.168.56.105” 信息。
验证 IP 地址 Failover
现在手动停止host1上的 keepalived 服务

$ sudo service keepalived stop
1
host1 上 IP 地址信息

$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:32:83:82 brd ff:ff:ff:ff:ff:ff
inet 192.168.56.103/24 brd 192.168.56.255 scope global eth2
inet6 fe80::a00:27ff:fe32:8382/64 scope link
valid_lft forever preferred_lft forever
1
2
3
4
5
6
此时 host1 上 ip 地址信息中不再包含虚拟IP “192.168.56.105” 信息。
host2 上 IP 地址信息

$ ip addr show eth2
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:ec:90:7b brd ff:ff:ff:ff:ff:ff
inet 192.168.56.104/24 brd 192.168.56.255 scope global eth2
inet 192.168.56.105/32 scope global eth2
inet6 fe80::a00:27ff:feec:907b/64 scope link
valid_lft forever preferred_lft forever
1
2
3
4
5
6
7
现在可以看到 host2 上 ip 地址信息中已经包含虚拟IP “192.168.56.105” 信息了。
此时如果再把 host1 上的 keepalived 服务启动,会发现虚拟IP “192.168.56.105” 又重新绑定到 host1 上了。
---------------------
作者:kongxx
来源:CSDN
原文:https://blog.csdn.net/kongxx/article/details/73173762
版权声明:本文为博主原创文章,转载请附上博文链接!

使用 keepalived 设置虚拟 IP 环境(转载)的更多相关文章

  1. 【转】使用keepalived设置虚拟IP示例

    准备 准备两台机器,IP地址信息如下: host1: 192.168.56.103 host2: 192.168.56.104 为了测试需要,分别在两台机器上安装apache并启动httpd服务,使下 ...

  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. 微服务管理平台nacos虚拟ip负载均衡集群模式搭建

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

  5. haproxy + rabbitmq + keepalived的高可用环境搭建

    一.rabbitmq的搭建:参考rabbimq的安装及集群设置 二.安装和配置haproxy 1.安装haproxyyum install haproxy 2.安装rsysloga. 检查rsyslo ...

  6. 虚拟IP原理及使用

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

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

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

  8. 【CentOS7】设置静态IP地址

    [CentOS7]设置静态IP地址 转载:https://www.cnblogs.com/yangchongxing/p/10645871.html 图像化修改 nmtui 查看当前网卡名称 # if ...

  9. Center os6.5设置静态ip

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

随机推荐

  1. zabbix监控mysql最简单的方法

    该实验基于我的上一篇文章监控第一台主机的基础上 首先,因为水平有限,我选择直接关闭了防火墙和SELinux. 环境: 两台centos7,服务器端IP是192.168.200.128(以下简称主机), ...

  2. 100 webhook implementations

    转自: https://streamdata.io/blog/100-webhook-implementations/  很不错的整理 What is the scope of the event-d ...

  3. notify和notifyAll的区别

    转自:http://www.importnew.com/16453.html 如果某些线程在等待某些条件触发,那当那些条件为真时,你可以用 notify 和 notifyAll 来通知那些等待中的线程 ...

  4. Python 不可变对象练习

    Python 不可变对象练习 str 是不可变对象,就是对这个对象进行操作不会改变这个对象的数据. 如下: >>> a = 'abc' >>> a.replace( ...

  5. [转]MyBatis中resultType与resultMap区别

    MyBatis中关于resultType和resultMap的具体区别如下: MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap.resu ...

  6. yaml,json,ini这三种格式用来做配置文件优缺点

    适合人类编写:ini > toml > yaml > json > xml > plist可以存储的数据复杂度:xml > yaml > toml ~ jso ...

  7. python3 TypeError: Unicode-objects must be encoded before hashing

    python3下,利用hash值对字符串进行md5加密时报错:TypeError: Unicode-objects must be encoded before hashing 原因是:python3 ...

  8. MongoDB从3.0.6升级到MongoDB3.4.9

    最初进入公司的时候,有些爬虫数据需要存储在mongo数据库里面,当时看到最新的数据库版本是3.0.6,现在公司开展了新的项目需要使用到Mongo,使用到了Mongo的一些表关联查询的方法,但是只有在最 ...

  9. 根据IP和端口号异步短时间判断服务器是否链接

    /// <summary> /// 短时间判断是否可以连接 /// </summary> /// <param name="ipe"></ ...

  10. 读DataSnap源代码(二)

    program Project1; {$APPTYPE GUI} {$R *.dres} uses Vcl.Forms, Web.WebReq, IdHTTPWebBrokerBridge, Form ...