X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;ds=sidebyside;f=lustre%2Ftests%2Fuml.sh;h=d9457195ec73b77a0d50029c50c398bf49d24ee3;hb=39e4add67da46669496cd2eb9a0394f68f28f9e9;hp=112a79617433f44878d6ce7531db7adc15fbc806;hpb=ccb42f2458669aaac84a661091b05a59bb781197;p=fs%2Flustre-release.git diff --git a/lustre/tests/uml.sh b/lustre/tests/uml.sh index 112a796..d945719 100644 --- a/lustre/tests/uml.sh +++ b/lustre/tests/uml.sh @@ -1,15 +1,29 @@ #!/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=$TMP/mds1 -MDSSIZE=50000 +MDSDEV=${MDSDEV:-$TMP/mds1-`hostname`} +MDSSIZE=${MDSSIZE:-100000} + +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:-} -OSTDEV1=$TMP/ost1 -OSTDEV2=$TMP/ost2 -OSTSIZE=100000 +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. @@ -20,9 +34,9 @@ OSTSIZE=100000 # of the clients can be started, so plan accordingly. # Three separate systems -MDSNODE=uml1 -OSTNODES="uml2 uml2" -CLIENTS="uml3" +MDSNODE=${MDSNODE:-uml1} +OSTNODES=${OSTNODES:-"uml2 uml2"} +CLIENTS=${CLIENTS:-"uml3"} # Single system with additional clients #MDSNODE=uml1 @@ -41,26 +55,70 @@ CLIENTS="uml3" rm -f $config +h2localhost () { + echo localhost +} + +h2tcp () { + case $1 in + client) echo '\*' ;; + *) echo $1 ;; + esac +} + +h2elan () { + case $1 in + client) echo '\*' ;; + *) echo $1 | sed "s/[^0-9]*//" ;; + esac +} + +h2gm () { + echo `gmnalnid -n$1` +} + +h2iib () { + case $1 in + client) echo '\*' ;; + *) echo $1 | sed "s/[^0-9]*//" ;; + esac +} + # create nodes -for NODE in $MDSNODE $OSTNODES $CLIENTS; do - eval [ \$$NODE ] && continue - ${LMC} -m $config --add net --node $NODE --nid $NODE --nettype tcp || exit 1 - eval "$NODE=done" +echo -n "adding NET for:" +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$NIDTYPE $NODE` --nettype $NETTYPE || exit 1 done # configure mds server -${LMC} -m $config --add mds --format --node $MDSNODE --mds mds1 --dev $MDSDEV --size $MDSSIZE ||exit 10 +echo; echo "adding MDS on: $MDSNODE" +${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 0 --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 - ${LMC} -m $config --add ost --node $NODE --lov lov1 --dev $OSTDEV --size $OSTSIZE || exit 21 + echo -n " $NODE" + 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 # create client config(s) +echo; echo -n "adding CLIENT on:" for NODE in $CLIENTS; do - ${LMC} -m $config --add mtpt --node $NODE --path /mnt/lustre --mds mds1 --lov lov1 || exit 30 + echo -n " $NODE" + ${LMC} -m $config --add mtpt --node $NODE --path $MOUNT --clientoptions async --mds mds1 --lov lov1 || exit 30 done +echo