NFS - ha with keepalived and shared storage
Jump to navigation
Jump to search
NFS - HA with keepalived and shared storage
# Install keepalived - sample config below #
vrrp_script chk_nfsd { # Requires keepalived-1.1.13
script "killall -0 nfsd" # cheaper than pidof
interval 2 # check every 2 seconds
# weight 2 # add 2 points of prio if OK
}
vrrp_instance VI7 {
interface bond0
state BACKUP
nopreempt
virtual_router_id 222
priority 100 # 101 on master, 100 on backup
virtual_ipaddress {
10.45.8.191
}
track_script {
chk_nfsd
}
notify /usr/local/bin/nfs_statechange.sh
}
## Content of script: /usr/local/bin/nfs_statechange.sh
#!/bin/bash
TYPE=$1
NAME=$2
STATE=$3
case $STATE in
"MASTER") /etc/init.d/nfs-kernel-server start
exit 0
;;
"BACKUP") /etc/init.d/nfs-kernel-server status
exit 0
;;
"FAULT") /etc/init.d/nfs-kernel-server restart
exit 0
;;
*) echo "unknown state"
exit 1
;;
esac
## Add fsid to the nfs export or you will get 'Stale NFS handle' ##
/share/esxi 10.0.0.0/8(rw,no_root_squash,insecure,async,no_subtree_check,fsid=42)