DR的HA是通过VRRP协议实现的,程序时keepalived。之前的简单的测试仅仅只是实现功能而已。简单的实现过程中不能根据实际情况对VRRP参数进行响应的调整达到动态冗余的效果。

通过vrrp_script自定义一个资源监控脚本,vrrp实例能根据脚本状态返回值来调整本地设备的VRRP状态。

track_script调用vrrp_script定义的脚本监控资源。调用函数是在实例配置模块之内。

现在模拟一个场景,如果某个服务失效了,系统会自动在指定目录下生成一个指定文件down。如果主DR服务失效了,优先级降低,备DR临时成为主DR。

注意:vrrp_script的脚本执行的条件式测试脚本返回失败状态值。

Linux DR的高级HA_第1张图片

意思就是当检测到down文件的时候,返回失败值。

Linux DR的高级HA_第2张图片

当收到检测脚本返回失败值时,就将自身的权重值降10.

正常状态下DR1为主DR

图片.png

当创建一个down文件在/etc/keepalived/目录下

Linux DR的高级HA_第3张图片

本地的优先级降低。使备DR成为主DR。

再将DR1的down文件删除

Linux DR的高级HA_第4张图片

DR1再次变成主DR