/usr/lib/drbd/notify.sh is in drbd8-utils 2:8.3.11-0ubuntu1.
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | #!/bin/bash
#
# notify.sh -- a notification handler for various DRBD events.
# This is meant to be invoked via a symlink in /usr/lib/drbd,
# by drbdadm's userspace callouts.
# try to get possible output on stdout/err to syslog
PROG=${0##*/}
exec > >(2>&- ; logger -t "$PROG[$$]" -p local5.info) 2>&1
echo "invoked for $DRBD_RESOURCE"
# Default to sending email to root, unless otherwise specified
RECIPIENT=${1:-root}
# check arguments specified on command line
if [ -z "$RECIPIENT" ]; then
echo "You must specify a notification recipient when using this handler." >&2
exit 1
fi
# check envars normally passed in by drbdadm
for var in DRBD_RESOURCE DRBD_PEER; do
if [ -z "${!var}" ]; then
echo "Environment variable \$$var not found (this is normally passed in by drbdadm)." >&2
exit 1
fi
done
: ${DRBD_CONF:="usually /etc/drbd.conf"}
DRBD_LOCAL_HOST=$(hostname)
case "$0" in
*split-brain.sh)
SUBJECT="DRBD split brain on resource $DRBD_RESOURCE"
BODY="
DRBD has detected split brain on resource $DRBD_RESOURCE
between $DRBD_LOCAL_HOST and $DRBD_PEER.
Please rectify this immediately.
Please see http://www.drbd.org/users-guide/s-resolve-split-brain.html for details on doing so."
;;
*out-of-sync.sh)
SUBJECT="DRBD resource $DRBD_RESOURCE has out-of-sync blocks"
BODY="
DRBD has detected out-of-sync blocks on resource $DRBD_RESOURCE
between $DRBD_LOCAL_HOST and $DRBD_PEER.
Please see the system logs for details."
;;
*io-error.sh)
SUBJECT="DRBD resource $DRBD_RESOURCE detected a local I/O error"
BODY="
DRBD has detected an I/O error on resource $DRBD_RESOURCE
on $DRBD_LOCAL_HOST.
Please see the system logs for details."
;;
*pri-lost.sh)
SUBJECT="DRBD resource $DRBD_RESOURCE is currently Primary, but is to become SyncTarget on $DRBD_LOCAL_HOST"
BODY="
The DRBD resource $DRBD_RESOURCE is currently in the Primary
role on host $DRBD_LOCAL_HOST, but lost the SyncSource election
process."
;;
*pri-lost-after-sb.sh)
SUBJECT="DRBD resource $DRBD_RESOURCE is currently Primary, but lost split brain auto recovery on $DRBD_LOCAL_HOST"
BODY="
The DRBD resource $DRBD_RESOURCE is currently in the Primary
role on host $DRBD_LOCAL_HOST, but was selected as the split
brain victim in a post split brain auto-recovery."
;;
*pri-on-incon-degr.sh)
SUBJECT="DRBD resource $DRBD_RESOURCE no longer has access to valid data on $DRBD_LOCAL_HOST"
BODY="
DRBD has detected that the resource $DRBD_RESOURCE
on $DRBD_LOCAL_HOST has lost access to its backing device,
and has also lost connection to its peer, $DRBD_PEER.
This resource now no longer has access to valid data."
;;
*emergency-reboot.sh)
SUBJECT="DRBD initiating emergency reboot of node $DRBD_LOCAL_HOST"
BODY="
Due to an emergency condition, DRBD is about to issue a reboot
of node $DRBD_LOCAL_HOST. If this is unintended, please check
your DRBD configuration file ($DRBD_CONF)."
;;
*emergency-shutdown.sh)
SUBJECT="DRBD initiating emergency shutdown of node $DRBD_LOCAL_HOST"
BODY="
Due to an emergency condition, DRBD is about to shut down
node $DRBD_LOCAL_HOST. If this is unintended, please check
your DRBD configuration file ($DRBD_CONF)."
;;
*)
SUBJECT="Unspecified DRBD notification"
BODY="
DRBD on $DRBD_LOCAL_HOST was configured to launch a notification handler
for resource $DRBD_RESOURCE,
but no specific notification event was set.
This is most likely due to DRBD misconfiguration.
Please check your configuration file ($DRBD_CONF)."
;;
esac
echo "$BODY" | mail -s "$SUBJECT" $RECIPIENT
|