• CARP 使用笔记


    1、安装

    freebsd 7.3下用kldload if_carp 加载不了,报找不到模块的错,升级到9.2后就可以了。

    然后按照freebsd官方手册的ifconfig carp0 create创建设备,然后改/etc/rc.conf中的carp0配置,重启网卡生效。

    2、钩子脚本

    看 /etc/devd.conf里面是否有下面这两个目录,在freebsd下,默认是有的:
    # grep directory /etc/devd.conf
    # Each “directory” directive adds a directory to the list of
    directory “/etc/devd”;

    directory “/usr/local/etc/devd”;

    编辑notify.conf配置文件,注意必须要.conf后缀,否则devd进程无法读取该配置文件:

    vi /usr/local/etc/devd/notify.conf

    notify 30{
      match "system" "IFNET";
      match "subsystem" "carp0";
      match "type" "LINK_UP";
      action "/root/scripts/notify.sh up";

    }; 

    notify 30{
      match "system" "IFNET";
      match "subsystem" "carp0";
      match "type" "LINK_DOWN";
      action "/root/scripts/notify.sh down";

    }; 

    30表示这个notify的优先级,让devd进程接收到后优先处理

    重启devd进程:/etc/rc.d/devd restart 

    3、高阶使用

      由于怕一对carp设备因为网络的抖动造成ip敏感切换,可以启用两对carp设备,一对是绑定对外ip,一对是内网ip,仅用于心跳:

    hostA(master) hostB(backup)
    carp0:pub_ip carp0:pub_ip
    carp1:10.0.0.1 carp1:10.0.0.2

      实际环境中,需要先对A的物理网卡添加别名10.0.0.3/24,对B的物理网卡添加别名10.0.0.4/24,然后再创建carp1设备及添加ip,这样carp1才会找到路由广播vrrp,不然两个carp1设备都认为自己是master。

      之后,绑定carp1的钩子脚本,ip切换时,脚本ping一下pub_ip是否有响应,仅当没响应的时候才切换pub_ip。

      实际使用中发现,如果改了A的路由,让vrrp发不出去,B在变为master后,再恢复A的路由,此时A会变为backup。

  • 相关阅读:
    数据库设计准则(第一、第二、第三范式说明)
    Linux之chmod使用
    数据备份——PHP
    PHP语言性能优化——少使用魔术方法
    PHP性能之语言性能优化:安装VLD扩展——检测性能
    PHP性能之语言性能优化:安装VLD扩展——检测性能
    PHP性能之语言性能优化:安装VLD扩展——检测性能
    socket、fsockopen、curl、stream 区别
    iOS 下 Podfile 使用方法
    使用 NVM 管理不同的 Node.js 版本
  • 原文地址:https://www.cnblogs.com/children/p/3432989.html
Copyright © 2020-2023  润新知