Whamcloud - gitweb
current branches now use lnet from HEAD
[fs/lustre-release.git] / lustre / tests / lmv.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:-/tmp}
11
12 MDSSIZE=${MDSSIZE:-100000}
13 MDSCOUNT=${MDSCOUNT:-3}
14 OSTDEV=${OSTDEV:-$TMP/ost1-`hostname`}
15 OSTSIZE=${OSTSIZE:-200000}
16 OSTCOUNT=${OSTCOUNT:-1}
17
18 DEF_FSTYPE=`test "x$(uname -r | grep -o '2.6')" = "x2.6" && echo "ldiskfs" || echo "ext3"`
19 FSTYPE=${FSTYPE:-$DEF_FSTYPE}
20 #used only if FSTYPE == smfs, otherwise ignored by lconf
21 MDS_BACKFSTYPE=${MDS_BACKFSTYPE:-$DEF_FSTYPE}
22 OST_BACKFSTYPE=${OST_BACKFSTYPE:-$DEF_FSTYPE}
23
24 # 1 to config an echo client instead of llite
25 ECHO_CLIENT=${ECHO_CLIENT:-}
26
27 STRIPE_BYTES=65536
28 STRIPES_PER_OBJ=0
29
30 MOUNT=${MOUNT:-/mnt/lustre}
31 MOUNT2=${MOUNT2:-/mnt/lustre2}
32
33 # specific journal size for the ost, in MB
34 JSIZE=${JSIZE:-0}
35 JARG=""
36 [ "$JSIZE" -gt 0 ] && JARG="--journal_size $JSIZE"
37
38 rm -f $config
39
40 # create nodes
41 ${LMC} -m $config --add node --node localhost || exit 10
42 ${LMC} -m $config --add net --node client --nid '*' --nettype tcp || exit 12
43 ${LMC} -m $config --add net --node localhost --nid `hostname` --nettype tcp || exit 11
44
45 [ "x$MDS_MOUNT_OPTS" != "x" ] &&
46     MDS_MOUNT_OPTS="--mountfsoptions $MDS_MOUNT_OPTS"
47
48 # configure mds server
49 ${LMC} -m $config --add lmv --lmv lmv1 || exit 12
50
51 for num in `seq $MDSCOUNT`; do
52     MDSDEV=$TMP/mds${num}-`hostname`
53     ${LMC} -m $config --format --add mds --node localhost --mds mds${num} \
54         --lmv lmv1 --fstype $FSTYPE --backfstype $MDS_BACKFSTYPE --dev $MDSDEV \
55         $MDS_MOUNT_OPTS --size $MDSSIZE || exit 13
56 done
57
58 [ "x$OST_MOUNT_OPTS" != "x" ] &&
59     OST_MOUNT_OPTS="--mountfsoptions $OST_MOUNT_OPTS"
60
61
62 ${LMC} -m $config --add lov --lov lov1 --lmv lmv1 --stripe_sz $STRIPE_BYTES --stripe_cnt $STRIPES_PER_OBJ --stripe_pattern 0 || exit 20
63
64 # configure ost
65 for num in `seq $OSTCOUNT`; do
66     OST=ost$num
67     DEVPTR=OSTDEV$num
68     eval $DEVPTR=${!DEVPTR:=$TMP/$OST-`hostname`}
69     ${LMC} -m $config --add ost --node localhost --lov lov1 --ost $OST \
70     --fstype $FSTYPE --backfstype $OST_BACKFSTYPE --dev ${!DEVPTR} \
71     $OST_MOUNT_OPTS --size $OSTSIZE $JARG || exit 30
72 done
73
74 ${LMC} -m $config --add mtpt --node localhost --path $MOUNT --mds lmv1 --clientoptions async --lov lov1 || exit 40
75 ${LMC} -m $config --add mtpt --node client --path $MOUNT2 --mds lmv1 --clientoptions async --lov lov1 || exit 41