zoukankan      html  css  js  c++  java
  • 【转】使用keepalived设置虚拟IP示例

    准备

      准备两台机器,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 51
        priority 101
        advert_int 1
        authentication {
            auth_type PASS
            auth_pass 123456
        }
        virtual_ipaddress {
            192.168.56.105
        }
    }

    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
        }
    }

    启动keepalived 服务

    $ sudo service keepalived start
    $ sudo chkconfig keepalived on

    测试

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

    http://192.168.56.105

    查看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

      其中可以看到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

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

    验证IP地址Failover

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

    $ sudo service keepalived stop

    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

      此时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

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

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

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

      

  • 相关阅读:
    Java基于数据源的数据库访问
    新手接触java
    完成了第一个java
    Mysql服务器相互作用的通讯协议包括TCP/IP,Socket,共享内存,命名管道
    SQL 根据IF判断,SET字段值
    MyBatis SQL 生成方法 增删改查
    JAVA 文件转字节数组转字符串
    Word内容修改,以及转PDF
    SpringBoot编辑代码时不重启服务
    java 图片转换工具
  • 原文地址:https://www.cnblogs.com/codingmengmeng/p/10420575.html
Copyright © 2011-2022 走看看