这里只用到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而导致的。

最新文章

  1. GitHub Top 100 的项目(iOS)
  2. 通过jquery-qrcode在线生成二维码
  3. T-SQL利用Case When Then多条件判断
  4. C++学习14 继承的概念及语法
  5. Android fill_parent、wrap_content和match_parent的区别
  6. ApiDemo/FragmentRetainInstance 解析
  7. iOS程序员对算法的要求
  8. Android系统--输入系统(八)Reader线程_使用EventHub读取事件
  9. JVM学习(1)——通过实例总结Java虚拟机的运行机制-转载http://www.cnblogs.com/kubixuesheng/p/5199200.html
  10. [ionic3.x开发记录]参考ionic的float-label动效,写一个项目内通用的input组件,易扩展
  11. ganache与metamask
  12. 蓝牙LMP概述
  13. idea 创建运行web项目时,报错: Can not issue executeUpdate() for SELECTs解决方案
  14. 亲身实践 yui-compressor压缩js和css
  15. PHP设计模式系列 - 外观模式
  16. XOR and Favorite Number CodeForces - 617E(前缀异或+莫队)
  17. bzoj千题计划166:bzoj2179: FFT快速傅立叶
  18. 光驱在资源管理器显示黄色感叹号的解决方法BIOS内有 系统下没有
  19. 第三百一十八节,Django框架,信号
  20. Linq的左链接

热门文章

  1. Js-Html 前端系列--checkbox
  2. 快速排序Java版
  3. Picasso解决 TextView加载html图片异步显示
  4. java基础IO删除文件夹文件
  5. phpwamp单身狗模式的详解与分析,单身狗模式/即霸体模式的作用讲解。
  6. HTML5之canvas细节详谈
  7. ie7,IE8不支持document.getElmentsByClassName的问题
  8. shell 脚本中for循环
  9. Lintcode解题报告
  10. 我喜欢的快捷键 webstorm