# HG changeset patch # User Matthias Förste # Date 1407845431 -7200 # Node ID 20b1bbdbe850afc45291ed04d96b8ba76d48e682 [import] diff -r 000000000000 -r 20b1bbdbe850 Makefile --- /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 $@ diff -r 000000000000 -r 20b1bbdbe850 TODO --- /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'). diff -r 000000000000 -r 20b1bbdbe850 verify-drbd.cron --- /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 diff -r 000000000000 -r 20b1bbdbe850 verify-drbd.sh --- /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