--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile Tue Aug 12 14:10:31 2014 +0200
@@ -0,0 +1,27 @@
+SH = /bin/sh
+
+prefix = /usr/local
+sbindir = ${prefix}/sbin
+crondir = /etc/cron.d
+DESTDIR =
+
+NAME = verify-drbd
+SCRIPT = $(NAME)
+
+.PHONY: all clean install doc
+
+all: $(SCRIPT) $(NAME).cron
+
+install: all
+ install -d -m 0755 $(DESTDIR)$(sbindir)
+ install -m 0755 $(SCRIPT) $(DESTDIR)$(sbindir)/
+ install -d -m 0755 $(DESTDIR)$(crondir)
+ install -m 0755 $(NAME).cron $(DESTDIR)$(crondir)/$(NAME)
+
+clean:
+ -rm -f $(NAME)
+
+.sh:
+ @$(SH) -n $<
+ @cp $< $@
+ @chmod a=rx $@
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/TODO Tue Aug 12 14:10:31 2014 +0200
@@ -0,0 +1,7 @@
+Braucht man einen nagios check der sicherstellt, daß die verifizierung ab & an
+läuft?
+
+Wie hält mans mit der 'syncer' rate? Eine rate von 32M sorgte für Lastexplosion
+auf dem pop, also nicht mal auf dem drbd host selbst sondern auf einer vm die
+das überprüfte drbd benutzt. Ich sehe gerade, daß es einen 'resync speed
+controller' gibt ('drbdsetup -p').
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/verify-drbd.cron Tue Aug 12 14:10:31 2014 +0200
@@ -0,0 +1,2 @@
+# you may need to add the script location to your PATH
+57 0 * * 6 root if [ $(date +\%d) -le 7 ]; then verify-drbd; fi
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/verify-drbd.sh Tue Aug 12 14:10:31 2014 +0200
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+VERIFY_ALG='sha1'
+RESOURCES='all'
+
+usage() {
+cat <<__U
+usage:
+ $0 [-v verify-alg] [res ..[res]]
+__U
+
+}
+
+while getopts "v:" opt; do
+ case $opt in
+ v)
+ VERIFY_ALG="$OPTARG"
+ ;;
+ \?)
+ usage
+ exit 1
+ ;;
+ esac
+done
+shift $((OPTIND-1))
+
+if [ "$#" != '0' ]; then
+ RESOURCES="$@"
+fi
+
+for r in $RESOURCES; do
+ drbdadm -- -p 1 -s 64k -v $VERIFY_ALG syncer $r
+ drbdadm verify $r
+done
+
+for r in $RESOURCES; do
+ while drbdadm cstate $r | grep '^Verify' >/dev/null; do sleep 60; done
+ drbdadm adjust $r
+done