linux主备网卡切换脚本,Keepalived主备切换时执行脚本
时间: 2023-11-19 22:04:25 浏览: 80
好的,这是一个简单的Linux主备网卡切换脚本示例:
```
#!/bin/bash
VIP="192.168.0.100"
NIC_PRIMARY="eth0"
NIC_BACKUP="eth1"
case "$1" in
start)
ifconfig $NIC_PRIMARY down
ifconfig $NIC_BACKUP $VIP netmask 255.255.255.0 up
;;
stop)
ifconfig $NIC_BACKUP down
ifconfig $NIC_PRIMARY up
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
```
在这个脚本中,`VIP` 是虚拟IP地址,`NIC_PRIMARY` 是主网卡,`NIC_BACKUP` 是备用网卡。
当执行 `start` 参数时,脚本会将主网卡关闭,备用网卡启动,并将虚拟IP地址绑定到备用网卡上。
当执行 `stop` 参数时,脚本会将备用网卡关闭,主网卡启动,并将虚拟IP地址从备用网卡上解绑。
在使用 Keepalived 进行主备切换时,可以在 Keepalived 配置文件中添加 `notify` 指令,指定执行该脚本。
例如,在 `/etc/keepalived/keepalived.conf` 文件中添加以下内容:
```
vrrp_script chk_network {
script "/path/to/network-switch.sh stop"
interval 2
weight 10
}
vrrp_instance VI_1 {
interface eth0
virtual_router_id 51
priority 100
virtual_ipaddress {
192.168.0.100/24 dev eth0
}
track_script {
chk_network
}
notify /path/to/network-switch.sh
}
```
这个配置文件中,`notify` 指令指定了在主备切换时执行 `/path/to/network-switch.sh` 脚本,并且在 Keepalived 进程启动时,会先执行 `chk_network` 脚本进行网络连接状态检查。
阅读全文