[import]
authorMatthias Förste <foerste@schlittermann.de>
Tue, 12 Aug 2014 14:10:31 +0200
changeset 0 20b1bbdbe850
child 1 985020f8fd9a
[import]
Makefile
TODO
verify-drbd.cron
verify-drbd.sh
--- /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