Quoting Riaan van Niekerk <riaan@xxxxxxxxxxxxxx>:
Hi Stephen,
We've build a very similar HA Cluster with multiple network RAID1 block
devices some month ago with RHES 4U3 / RHCS 6.1 and DRBD. After some
fight with the start scripts of RHCS we're now in production with a
postgresql DB, some application servers and also a huge NFS share
exported to a front end RHCS cluster. All the 'services' use its own
block devices mirrored by DRBD to a second machine. Till now
everything is running very well and speedy.
There is only one thing to mention, if you have multiple DRBD block
devices to replicate you should have different mirror groups for the
replication in the DRBD config. Otherwise it is very easy to saturate
even a gig eth.
Greetings
Andreas
hi Andreas
Would you care to share you startup scripts? I have looked at drbd as
a shared storage replacement in RHCS 4. However the fact that drbd
expects promote and demote as script/service parameters (for the
heartbeat package drbd resource scripts) and RHCS only understands
stop/start, some scripting will need to happen. Please let us others
interested in this combination not have the same fight.
If there is anyone else using drbd with RHCS 4, I would really
appreciate it if you could post the relevant scripts which will make
rgmanager play nice with drbd.
To anyone that knows LVM mirroring: if LVM mirroring becomes stable,
will it negate the need for drbd?
To anoyone familiar with Fedora and the inclusion of new features /
packages. What would it take to make drbd part of FC and the new
cluster middleware in FC (and potentially RHEL). Or (again), will LVM
mirroring negate that requirement?
thank you in advance
Riaan
Hi,
I use this script
#!/bin/bash
DRBDADM="/sbin/drbdadm"
if [ -f $DEFAULTFILE ]; then
. $DEFAULTFILE
fi
CMD=$1
NUM=0
RES=r${NUM}
case "$CMD" in
start)
# Nicht Starten, wenn aktuell SyncTarget
cat /proc/drbd|grep "^ ${NUM}: cs:SyncTarget" && exit 1
# try several times, in case heartbeat deadtime
# was smaller than drbd ping time
try=6
while true; do
$DRBDADM primary $RES && break
let "--try" || exit 1
sleep 1
done
;;
stop)
# Nicht Stoppen, wenn aktuelle SyncSource
cat /proc/drbd|grep "^ ${NUM}: cs:SyncSource" && exit 0
# exec, so the exit code of drbdadm propagates
$DRBDADM secondary $RES
RET=$?
if [ $RET = "0" ]; then
exit 0
else
exit 1
fi
;;
status)
if [ "$RES" = "all" ]; then
echo "A resource name is required for status inquiries."
exit 10
fi
ST=$( $DRBDADM state $RES 2> /dev/null )
ST=${ST%/*}
if [ "$ST" = "Primary" ]; then
echo "running"
exit 0
else
echo "stopped"
exit 3
fi
;;
*)
echo "Usage: drbddisk [resource] {start|stop|status}"
exit 1
;;
esac
exit 0
Greetings
Werner
----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.
--
Linux-cluster@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/linux-cluster