DR的HA是通过VRRP协议实现的,程序时keepalived。之前的简单的测试仅仅只是实现功能而已。简单的实现过程中不能根据实际情况对VRRP参数进行响应的调整达到动态冗余的效果。
通过vrrp_script自定义一个资源监控脚本,vrrp实例能根据脚本状态返回值来调整本地设备的VRRP状态。
track_script调用vrrp_script定义的脚本监控资源。调用函数是在实例配置模块之内。
现在模拟一个场景,如果某个服务失效了,系统会自动在指定目录下生成一个指定文件down。如果主DR服务失效了,优先级降低,备DR临时成为主DR。
注意:vrrp_script的脚本执行的条件式测试脚本返回失败状态值。
意思就是当检测到down文件的时候,返回失败值。
当收到检测脚本返回失败值时,就将自身的权重值降10.
正常状态下DR1为主DR
当创建一个down文件在/etc/keepalived/目录下
本地的优先级降低。使备DR成为主DR。
再将DR1的down文件删除
DR1再次变成主DR