X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fuml.sh;h=9195e59358bb9a650cb7a1e922dffec8a43f8ea9;hb=c5050e412572b00cbe93d8517d2d1f767bebfa92;hp=7d8da8f74333862ddde74cc32f8f44fd58a6b3dd;hpb=b84a4987ef0f95925e373ab2e7c01451f331af76;p=fs%2Flustre-release.git diff --git a/lustre/tests/uml.sh b/lustre/tests/uml.sh index 7d8da8f..9195e59 100644 --- a/lustre/tests/uml.sh +++ b/lustre/tests/uml.sh @@ -1,15 +1,27 @@ #!/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} +OSDTYPE=${OSDTYPE:-obdfilter} +OSTFAILOVER=${OSTFAILOVER:-} -OSTDEV1=$TMP/ost1 -OSTDEV2=$TMP/ost2 -OSTSIZE=100000 +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,44 +32,84 @@ OSTSIZE=100000 # of the clients can be started, so plan accordingly. # Three separate systems -MDSNODE=uml1 -OSTNODE=uml2 -CLIENTS="uml3" +MDSNODE=${MDSNODE:-uml1} +OSTNODES=${OSTNODES:-"uml2 uml2"} +CLIENTS=${CLIENTS:-"uml3"} # Single system with additional clients #MDSNODE=uml1 -#OSTNODE=uml1 +#OSTNODES="uml1 uml1" #CLIENTS="$MDSNODE client" # Two systems with client on MDS, and additional clients (set up OST first) #MDSNODE=uml1 -#OSTNODE=uml2 +#OSTNODES="uml2 uml2" #CLIENTS="$MDSNODE client" # Two systems with client on OST, and additional clients (set up MDS first) #MDSNODE=uml1 -#OSTNODE=uml2 -#CLIENTS="$OSTNODE client" +#OSTNODES="uml2 uml2" +#CLIENTS="$OSTNODES client" 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` +} + # create nodes -for NODE in $MDSNODE $OSTNODE $CLIENTS; do - eval [ \$$NODE ] && continue - ${LMC} -m $config --node $NODE --net $NODE 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 --format --node $MDSNODE --mds mds1 $MDSDEV $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 --lov lov1 mds1 65536 0 0 || exit 20 -${LMC} -m $config --node $OSTNODE --lov lov1 --ost $OSTDEV1 $OSTSIZE || exit 21 -${LMC} -m $config --node $OSTNODE --lov lov1 --ost $OSTDEV2 $OSTSIZE || exit 22 +${LMC} -m $config --add lov --lov lov1 --mds mds1 --stripe_sz 65536 --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:-$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 --node $NODE --mtpt /mnt/lustre mds1 lov1 || exit 30 + echo -n " $NODE" + ${LMC} -m $config --add mtpt --node $NODE --path /mnt/lustre --mds mds1 --lov lov1 || exit 30 done - +echo