#!/bin/bash
-config=${1-uml.xml}
-LMC=${LMC-../utils/lmc}
+export PATH=`dirname $0`/../utils:$PATH
+
+config=${1:-uml.xml}
+LMC=${LMC:-lmc}
TMP=${TMP:-/tmp}
-MDSDEV=${MDSDEV:-$TMP/mds1}
-MDSSIZE=${MDSSIZE:-50000}
+MDSDEV=${MDSDEV:-$TMP/mds1-`hostname`}
+MDSSIZE=${MDSSIZE:-100000}
-OSTDEV1=${OSTDEV1:-$TMP/ost1}
-OSTDEV2=${OSTDEV2:-$TMP/ost2}
+OSTDEVBASE=$TMP/ost
+#OSTDEV1=${OSTDEV1:-${OSTDEVBASE}1}
+#OSTDEV2=${OSTDEV2:-${OSTDEVBASE}2}
+#etc
OSTSIZE=${OSTSIZE:-100000}
+STRIPECNT=${STRIPECNT:-1}
+STRIPE_BYTES=${STRIPE_BYTES:-1048576}
+OSDTYPE=${OSDTYPE:-obdfilter}
+OSTFAILOVER=${OSTFAILOVER:-}
+
+MOUNT=${MOUNT:-/mnt/lustre}
+FSTYPE=${FSTYPE:-ext3}
NETTYPE=${NETTYPE:-tcp}
+NIDTYPE=${NIDTYPE:-$NETTYPE}
# NOTE - You can't have different MDS/OST nodes and also have clients on the
# MDS/OST nodes without using --endlevel and --startlevel during lconf.
rm -f $config
+h2localhost () {
+ echo localhost
+}
+
h2tcp () {
case $1 in
client) echo '\*' ;;
esac
}
+h2gm () {
+ echo `gmnalnid -n$1`
+}
+
# create nodes
echo -n "adding NET for:"
-for NODE in `echo $MDSNODE $OSTNODES $CLIENTS | sort -u`; do
+for NODE in `echo $MDSNODE $OSTNODES $CLIENTS | tr -s " " "\n" | sort -u`; do
echo -n " $NODE"
- ${LMC} -m $config --add net --node $NODE --nid `h2$NETTYPE $NODE` --nettype elan || exit 1
+ ${LMC} -m $config --add net --node $NODE --nid `h2$NIDTYPE $NODE` --nettype $NETTYPE || exit 1
done
# configure mds server
echo; echo "adding MDS on: $MDSNODE"
-${LMC} -m $config --add mds --format --node $MDSNODE --mds mds1 --dev $MDSDEV --size $MDSSIZE ||exit 10
+${LMC} -m $config --add mds --format --node $MDSNODE --mds mds1 --fstype $FSTYPE --dev $MDSDEV --size $MDSSIZE ||exit 10
# configure ost
-${LMC} -m $config --add lov --lov lov1 --mds mds1 --stripe_sz 65536 --stripe_cnt 1 --stripe_pattern 0 || exit 20
+${LMC} -m $config --add lov --lov lov1 --mds mds1 --stripe_sz $STRIPE_BYTES --stripe_cnt $STRIPECNT --stripe_pattern 0 || exit 20
COUNT=1
echo -n "adding OST on:"
for NODE in $OSTNODES; do
eval OSTDEV=\$OSTDEV$COUNT
echo -n " $NODE"
- OSTDEV=${OSTDEV:-$OSTDEV1}
- ${LMC} -m $config --add ost --node $NODE --lov lov1 --dev $OSTDEV --size $OSTSIZE || exit 21
+ OSTDEV=${OSTDEV:-$OSTDEVBASE$COUNT-`hostname`}
+ case "$OSDTYPE" in
+ obdfilter)
+ OSTARGS="--fstype $FSTYPE --dev $OSTDEV --size $OSTSIZE"
+ ;;
+ obdecho)
+ OSTARGS="--osdtype=obdecho"
+ ;;
+ esac
+ ${LMC} -m $config --add ost --node $NODE --lov lov1 $OSTARGS $OSTFAILOVER || exit 21
COUNT=`expr $COUNT + 1`
done
echo; echo -n "adding CLIENT on:"
for NODE in $CLIENTS; do
echo -n " $NODE"
- ${LMC} -m $config --add mtpt --node $NODE --path /mnt/lustre --mds mds1 --lov lov1 || exit 30
+ ${LMC} -m $config --add mtpt --node $NODE --path $MOUNT --mds mds1 --lov lov1 || exit 30
done
echo