• openstack私有云布署实践【3 keepalive配置(VRRP虚IP)】


    这里只用到keepalived 或者pacemaker两种方法,可二选一来配置,官方提供的是pacemaker,但我们实际测试环境和生产环境上使的是keepalive
     
     
    首先在4台controller上安装包(kxcontroller1 \ kxcontroller2 \ controller1 \ controller2 )
    yum -y install gcc openssl-devel popt-devel keepalived pcre-devel
     
    配置 keepalived(防止局域网内不与keepalived组冲突的,可更改默认router_id LVS_DEVEL与 virtual_router_id 51  的值)
     
     
    我以办公网测试环境的2台controller的配置为例,科兴网的配置类同,只是IP不一样而已
     
     /etc/keepalived/keepalived.conf-- 配置说明
     
    内容:
    ! Configuration file for keepalived
    global_defs {
       notification_email {
    #用来接收的邮件
                   noc-xxx@qq.com
            }
    #用来发送提醒的邮件
       notification_email_from noc-xxx@qq.com
       smtp_server 127.0.0.1
       smtp_connect_timeout 30
       router_id LVS_DEVE
    }
     
    vrrp_instance VI_1 {
    #均采用BACKUP 防止相互抢占
        state BACKUP
    #监听的网卡名
        interface eth0或bond0
        virtual_router_id 52
    #本机IP
        mcast_src_ip 10.40.42.1
    #权重  -- 主的权重要大于备的
        priority 49
        advert_int 1
        nopreempt
        authentication {
            auth_type PASS
            auth_pass chtopnet
        }
        virtual_ipaddress {
    #分配VIP
            10.40.42.10
        }
    }
     
    配置样例
    [root@controller1 ~]# vi  /etc/keepalived/keepalived.conf
    ! Configuration file for keepalived
    global_defs {
       notification_email {
                   noc-xxx@qq.com
            }
       notification_email_from noc-xxx@qq.com
       smtp_server 127.0.0.1
       smtp_connect_timeout 30
       router_id LVS_DEVEi
    }
     
    vrrp_instance VI_1 {
        state BACKUP
        interface eno1
        virtual_router_id 52
        mcast_src_ip 10.40.42.1
        priority 40
        advert_int 1
        nopreempt
        authentication {
            auth_type PASS
            auth_pass chtopnet
        }
    #分配VIP
        virtual_ipaddress {
            10.40.42.10
        }
    }
     
     
    [root@controller2 ~]# cat  /etc/keepalived/keepalived.conf
    ! Configuration file for keepalived
    global_defs {
       notification_email {
                   noc-xxx@qq.com
            }
       notification_email_from noc-xxx@qq.com
       smtp_server 127.0.0.1
       smtp_connect_timeout 30
       router_id LVS_DEVEi
    }
     
    vrrp_instance VI_1 {
        state BACKUP
        interface eno1
        virtual_router_id 52
        mcast_src_ip 10.40.42.2
        priority 50
        advert_int 1
        nopreempt
        authentication {
            auth_type PASS
            auth_pass chtopnet
        }
        virtual_ipaddress {
            10.40.42.10
        }
    }
     
     
    启动keepalived服务
    service keepalived start
    chkconfig keepalived on
     
    如果配置,由于controller2的权重比controller1大,同时开启服务器,controller2会获取VIP,但因为我配置禁止抢占VIP的配置,所以你的服务是先后启动的话,VIP会先分到第1台启动的controller上,只有主动切换后VIP才会重新选举
     
    切换测试VIP,
    使用ip addr 命令查看当前的VIP使用在哪一台机器,一边长PING这个VIP,一边关闭交换机的端口,再实时使用ip addr 这条linux命令查看是否切换
    PS:如果发现你的VIP在2台controller上都同时看到的话,应该及时查看/var/log/message日志,一般是由于没有关闭防火墙或者selinux而导致的。
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,负责保留追究法律责任的权利。
  • 相关阅读:
    知道回答C语言中如何返回值为数组
    指向字符串的指针和char类型的数组
    vba--将excel单元格格式改为常规格式
    vba--分拆工作薄
    VBA-合并多个工作簿
    使用sqlcel导入数据时出现“a column named '***' already belongs to this datatable”问题的解决办法
    使用Sqlcel操作数据库整理数据视频
    SQLCel匹配原数据信息,更新原数据所有信息并插入新数据的过程
    计算订单签收率的sql查询思路与过程(涉及百分比和四舍五入)
    sqlCel查询一个表中部分字段的数据后插入到另一个表中
  • 原文地址:https://www.cnblogs.com/veniceslove/p/6285608.html
Copyright © 2020-2023  润新知