X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Fscrub-performance.sh;h=a75daa7ab5f7808499674202f441fc093be1997f;hb=8a1334626ec2f3dba954d5a7e2162eb3fe966c47;hp=79f166df28d5a25cf320cf8c44e88d31fb634db6;hpb=d01d4c697a3c4423587159d58da6e455a5a3551f;p=fs%2Flustre-release.git diff --git a/lustre/tests/scrub-performance.sh b/lustre/tests/scrub-performance.sh index 79f166d..a75daa7 100644 --- a/lustre/tests/scrub-performance.sh +++ b/lustre/tests/scrub-performance.sh @@ -13,12 +13,17 @@ init_test_env $@ . ${CONFIG:=$LUSTRE/tests/cfg/$NAME.sh} init_logging -[ "${MDSFSTYPE:-$FSTYPE}" != "ldiskfs" ] && - skip "OI scrub performance only for ldiskfs" && exit 0 +[ "$SLOW" = "no" ] && + skip "skip scrub performance test under non-SLOW mode" && exit 0 + +[ "$mds1_FSTYPE" != ldiskfs ] && + skip "ldiskfs only test" +[[ "$MDS1_VERSION" -lt $(version_code 2.2.90) ]] && + skip "Need MDS version at least 2.2.90" require_dsh_mds || exit 0 NTHREADS=${NTHREADS:-0} -UNIT=${UNIT:-0} +UNIT=${UNIT:-1048576} BACKUP=${BACKUP:-0} MINCOUNT=${MINCOUNT:-8192} MAXCOUNT=${MAXCOUNT:-32768} @@ -33,14 +38,25 @@ remote_mds && ECHOCMD=${RCMD} || ECHOCMD="eval" if [ ${NTHREADS} -eq 0 ]; then CPUCORE=$(${RCMD} cat /proc/cpuinfo | grep "processor.*:" | wc -l) - NTHREADS=$((CPUCORE * 3)) + NTHREADS=$((CPUCORE * 2)) +fi + +cleanupall + +if ! combined_mgs_mds ; then + do_rpc_nodes $(facet_active_host mgs) load_modules_local + add mgs $(mkfs_opts mgs $(mgsdevname)) --backfstype ldiskfs \ + --reformat $(mgsdevname) $(mgsvdevname) ${quiet:+>/dev/null} || + exit 1 + + start mgs $(mgsdevname) $MGS_MOUNT_OPTS || error "Fail to start MGS!" fi -stopall do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local -reformat_external_journal -add ${SINGLEMDS} $(mkfs_opts mds) --backfstype ldiskfs --reformat \ - $MDT_DEVNAME > /dev/null || exit 2 +reformat_external_journal ${SINGLEMDS} +add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype ldiskfs \ + --reformat ${MDT_DEVNAME} $(mdsvdevname 1) ${quiet:+>/dev/null} || + exit 2 scrub_attach() { ${ECHOCMD} "${LCTL} <<-EOF @@ -81,8 +97,12 @@ scrub_create() { } scrub_cleanup() { + cleanupall do_rpc_nodes $(facet_active_host $SINGLEMDS) unload_modules - formatall + if ! combined_mgs_mds ; then + do_rpc_nodes $(facet_active_host mgs) unload_modules + fi + REFORMAT="yes" cleanup_and_setup_lustre } scrub_create_nfiles() { @@ -139,7 +159,8 @@ test_0() { if [ ${BACKUP} -ne 0 ]; then stime=$(date +%s) echo "backup/restore ${i} files start at: $(date)" - mds_backup_restore || error "Fail to backup/restore!" + mds_backup_restore $SINGLEMDS || + error "Fail to backup/restore!" echo "backup/restore ${i} files end at: $(date)" etime=$(date +%s) delta=$((etime - stime)) @@ -147,7 +168,8 @@ test_0() { echo "backup/restore ${i} files used ${delta} seconds" echo "backup/restore speed is $((i / delta))/sec" else - mds_remove_ois || error "Fail to remove/recreate!" + mds_remove_ois $SINGLEMDS || + error "Fail to remove/recreate!" fi echo "--- start to rebuild OI for $i files set at: $(date) ---" @@ -155,15 +177,16 @@ test_0() { error "Fail to start MDS!" while true; do - local STATUS=$($SHOW_SCRUB|sed -n '4'p|awk '{print $2}') + local STATUS=$($SHOW_SCRUB | + awk '/^status/ { print $2 }') [ "$STATUS" == "completed" ] && break sleep 3 # check status every 3 seconds done echo "--- end to rebuild OI for ${i} files set at: $(date) ---" - local RTIME=$($SHOW_SCRUB | sed -n '18'p | awk '{print $2}') + local RTIME=$($SHOW_SCRUB | awk '/^run_time/ { print $2 }') echo "rebuild OI for ${i} files used ${RTIME} seconds" - local SPEED=$($SHOW_SCRUB | sed -n '19'p | awk '{print $2}') + local SPEED=$($SHOW_SCRUB | awk '/^average_speed/ { print $2 }') echo "rebuild speed is ${SPEED}/sec" stop ${SINGLEMDS} > /dev/null || error "Fail to stop MDS!" done @@ -172,5 +195,6 @@ run_test 0 "OI scrub performance test" # cleanup the system at last scrub_cleanup -complete $(basename $0) $SECONDS +complete $SECONDS +check_and_cleanup_lustre exit_status