/etc/ctdb/events.d/70.iscsi is in ctdb 1.11+git20111102-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #!/bin/sh
# ctdb event script for TGTD based iSCSI
. $CTDB_BASE/functions
service_name="iscsi"
ctdb_start_stop_service
is_ctdb_managed_service || exit 0
[ -z "$CTDB_START_ISCSI_SCRIPTS" ] && {
echo "No iscsi start script directory found"
exit 0
}
case "$1" in
recovered)
# block the iscsi port
iptables -I INPUT 1 -p tcp --dport 3260 -j DROP
# shut down the iscsi service
killall -9 tgtd >/dev/null 2>/dev/null
THIS_NODE=`ctdb status | grep "THIS NODE" | sed -e "s/pnn://" -e "s/ .*//"`
[ -z $THIS_NODE ] && {
echo "70.iscsi: Failed to get node pnn"
exit 0
}
# start the iscsi daemon
tgtd >/dev/null 2>/dev/null
for NODE in `ctdb ip | grep -v "Public" | egrep " ${THIS_NODE}$" | sed -e "s/ .*//"`; do
[ -f $CTDB_START_ISCSI_SCRIPTS/${NODE}.sh ] && {
echo Starting iscsi service for public address $NODE
$CTDB_START_ISCSI_SCRIPTS/${NODE}.sh
}
done
# remove all iptables rules
while iptables -D INPUT -p tcp --dport 3260 -j DROP 2>/dev/null >/dev/null ; do
:
done
;;
shutdown)
# shutdown iscsi when ctdb goes down
killall -9 tgtd >/dev/null 2>/dev/null
;;
monitor)
ctdb_check_tcp_ports 3260 || exit $?
;;
*)
ctdb_standard_event_handler "$@"
;;
esac
exit 0
|