Whamcloud - gitweb
Added the following:
[fs/lustre-release.git] / lustre / tests / failover.sh
1 #!/bin/bash
2
3 set -e
4
5 export PATH=`dirname $0`/../utils:$PATH
6
7 config=${1:-lmv.xml}
8
9 LMC=${LMC:-lmc}
10 TMP=${TMP:-/r/tmp}
11
12 MDSSIZE=${MDSSIZE:-100000}
13 FSTYPE=${FSTYPE:-ext3}
14 MDSCOUNT=${MDSCOUNT:-2}
15 NODECOUNT=${NODECOUNT:-3}
16
17 OSTDEV=${OSTDEV:-$TMP/ost1-`hostname`}
18 OSTSIZE=${OSTSIZE:-200000}
19
20 # 1 to config an echo client instead of llite
21 ECHO_CLIENT=${ECHO_CLIENT:-}
22
23 STRIPE_BYTES=65536
24 STRIPES_PER_OBJ=0
25
26 MOUNT=${MOUNT:-/mnt/lustre}
27
28 # specific journal size for the ost, in MB
29 JSIZE=${JSIZE:-0}
30 JARG=""
31 [ "$JSIZE" -gt 0 ] && JARG="--journal_size $JSIZE"
32
33 rm -f $config
34
35 upcall="/r/home/umka/work/cfs/lustre/tests/upcall"
36
37 # configuring nodes
38 nodes_with_client=$NODECOUNT
39 if test $NODECOUNT -le 2; then
40         let nodes_with_client=nodes_with_client+1
41 fi
42
43 for nodenum in `seq $nodes_with_client`; do 
44         options=""
45         nodename=uml$nodenum
46         
47 #        if test $nodenum -eq $nodes_with_client; then
48 #                options="--lustre_upcall $upcall"
49 #        fi
50         
51         ${LMC} -m $config --add node --node $nodename || exit 10
52         ${LMC} -m $config --add net --node $nodename --nid $nodename \
53         --nettype tcp $options || exit 11
54 done
55
56 # configuring metadata bits
57 ${LMC} -m $config --add lmv --lmv lmv1 || exit 12
58
59 fonum=1
60
61 for nodenum in `seq $NODECOUNT`; do
62         nodename=uml$nodenum
63         for mdsnum in `seq $MDSCOUNT`; do
64                 options=""
65                 mdsid=mds$mdsnum
66                 
67                 if test $mdsnum -le 2 && test $nodenum -le 2; then
68                         mdsname="$nodename-$mdsid"
69                         mdsdev=$TMP/$nodename-$mdsid
70                 else
71                         options="--failover"
72                         mdsname="failover$fonum"
73                         mdsdev="$TMP/failover$fonum"
74                         let fonum=fonum+1
75                 fi
76                 
77                 ${LMC} -m $config --format --add mds --node $nodename \
78                 --mds $mdsname --lmv lmv1 --fstype $FSTYPE --dev $mdsdev \
79                 --size $MDSSIZE $options || exit 13
80         done
81 done
82
83 # configuring object storage bits
84 ${LMC} -m $config --add lov --lmv lmv1 --lov lov1 --stripe_sz $STRIPE_BYTES --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 || exit 20
85 ${LMC} -m $config --add ost --ost ost1 --nspath /mnt/ost_ns --node uml2 --lov lov1 --fstype $FSTYPE --dev $OSTDEV --size $OSTSIZE $JARG || exit 30
86
87 # configuring client
88 ${LMC} -m $config --add mtpt --node uml3 --path $MOUNT --lmv lmv1 --lov lov1 || exit 40