add ability to specify a external journal for each target.
Signed-off-by: Alexey Lyashkov <alexey.lyashkov@seagate.com>
Change-Id: I41005d3b78935185b3498513691fc250e9c57fe2
Reviewed-on: http://review.whamcloud.com/14426
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
# NOTE: Please avoid bashisms (bash specific syntax) in this script
set -e
# NOTE: Please avoid bashisms (bash specific syntax) in this script
set -e
for dir in libcfs lnet lustre snmp ; do
for dir in libcfs lnet lustre snmp ; do
- ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $PWD/$dir/autoconf"
+ ACLOCAL_FLAGS="$ACLOCAL_FLAGS -I $pw/$dir/autoconf"
-aclocal -I $PWD/config $ACLOCAL_FLAGS
+aclocal -I $pw/config $ACLOCAL_FLAGS
autoheader
automake -a -c
autoconf
autoheader
automake -a -c
autoconf
# OSTDEV1="/dev/sda"
# on specific hosts with
# ost1_HOST="uml2"
# OSTDEV1="/dev/sda"
# on specific hosts with
# ost1_HOST="uml2"
#
# For ZFS, ost devices can be specified via either or both of the following:
# OSTZFSDEV1="${FSNAME}-ost1/ost1"
#
# For ZFS, ost devices can be specified via either or both of the following:
# OSTZFSDEV1="${FSNAME}-ost1/ost1"
MDSJOURNALSIZE=16
for num in $(seq 1 $MDSCOUNT); do
MDSJOURNALSIZE=16
for num in $(seq 1 $MDSCOUNT); do
- add mds${num} $(mkfs_opts mds${num} $(mdsdevname $num)) \
- --reformat $(mdsdevname $num) $(mdsvdevname $num)
done
add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=10000 --reformat \
$(ostdevname 1) $(ostvdevname 1)
done
add ost1 $(mkfs_opts ost1 $(ostdevname 1)) --index=10000 --reformat \
$(ostdevname 1) $(ostvdevname 1)
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
- reformat_external_journal
- add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype \
- $(facet_fstype ${SINGLEMDS}) --reformat ${MDT_DEVNAME} \
- $(mdsvdevname 1) >/dev/null || error "Fail to reformat the MDS!"
+ format_mdt $(facet_number $SINGLEMDS)
for ((i = $MINCOUNT; i <= $MAXCOUNT; i = $((i * FACTOR)))); do
local nfiles=$((i - BCOUNT))
for ((i = $MINCOUNT; i <= $MAXCOUNT; i = $((i * FACTOR)))); do
local nfiles=$((i - BCOUNT))
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
- reformat_external_journal
- add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype \
- $(facet_fstype ${SINGLEMDS}) --reformat ${MDT_DEVNAME} \
- $(mdsvdevname 1) > /dev/null || error "Fail to reformat the MDS"
+ reformat_mdt $(facet_number $SINGLEMDS)
for ((i = $MINCOUNT_REPAIR; i <= $MAXCOUNT_REPAIR;
i = $((i * FACTOR)))); do
for ((i = $MINCOUNT_REPAIR; i <= $MAXCOUNT_REPAIR;
i = $((i * FACTOR)))); do
i = $((i * FACTOR)))); do
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
i = $((i * FACTOR)))); do
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
- reformat_external_journal
- add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) \
- --backfstype $(facet_fstype ${SINGLEMDS}) --reformat \
- ${MDT_DEVNAME} $(mdsvdevname 1) > /dev/null ||
- error "Fail to reformat the MDS!"
+ format_mdt $(facet_number $SINGLEMDS)
echo "+++ start to create for ${i} files set at: $(date) +++"
lfsck_create_nfiles ${i} 0 ${NTHREADS} 1 ||
echo "+++ start to create for ${i} files set at: $(date) +++"
lfsck_create_nfiles ${i} 0 ${NTHREADS} 1 ||
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
- reformat_external_journal
- add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype \
- $(facet_fstype ${SINGLEMDS}) --reformat ${MDT_DEVNAME} \
- $(mdsvdevname 1) > /dev/null || error "Fail to reformat the MDS"
+ format_mdt $(facet_number $SINGLEMDS)
for ((i = $inc_count; i <= $BASE_COUNT; i = $((i + inc_count)))); do
local nfiles=$((i - BCOUNT))
for ((i = $inc_count; i <= $BASE_COUNT; i = $((i + inc_count)))); do
local nfiles=$((i - BCOUNT))
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
stopall
do_rpc_nodes $(facet_active_host $SINGLEMDS) load_modules_local
-reformat_external_journal
+reformat_external_journal ${SINGLEMDS}
add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype ldiskfs \
--reformat ${MDT_DEVNAME} $(mdsvdevname 1) > /dev/null || exit 2
add ${SINGLEMDS} $(mkfs_opts ${SINGLEMDS} ${MDT_DEVNAME}) --backfstype ldiskfs \
--reformat ${MDT_DEVNAME} $(mdsvdevname 1) > /dev/null || exit 2
#set -x
export LANG=en_US
#set -x
export LANG=en_US
-export EJOURNAL=${EJOURNAL:-""}
export REFORMAT=${REFORMAT:-""}
export WRITECONF=${WRITECONF:-""}
export VERBOSE=${VERBOSE:-false}
export REFORMAT=${REFORMAT:-""}
export WRITECONF=${WRITECONF:-""}
export VERBOSE=${VERBOSE:-false}
+ for var in VERBOSE; do
+ if [ -n "${!var}" ]; then
+ echo -n " $var=${!var}"
+ fi
+ done
+
if [ -n "$FSTYPE" ]; then
echo -n " FSTYPE=$FSTYPE"
fi
if [ -n "$FSTYPE" ]; then
echo -n " FSTYPE=$FSTYPE"
fi
fs_mkfs_opts+="-O large_xattr"
fi
fs_mkfs_opts+="-O large_xattr"
fi
- fs_mkfs_opts+=${MDSJOURNALSIZE:+" -J size=$MDSJOURNALSIZE"}
- if [ ! -z $EJOURNAL ]; then
- fs_mkfs_opts+=${MDSJOURNALSIZE:+" device=$EJOURNAL"}
+ var=${facet}_JRN
+ if [ -n "${!var}" ]; then
+ fs_mkfs_opts+=" -J device=${!var}"
+ else
+ fs_mkfs_opts+=${MDSJOURNALSIZE:+" -J size=$MDSJOURNALSIZE"}
fi
fs_mkfs_opts+=${MDSISIZE:+" -i $MDSISIZE"}
fi
fi
fs_mkfs_opts+=${MDSISIZE:+" -i $MDSISIZE"}
fi
opts+=${OSSCAPA:+" --param=ost.capa=$OSSCAPA"}
if [ $fstype == ldiskfs ]; then
opts+=${OSSCAPA:+" --param=ost.capa=$OSSCAPA"}
if [ $fstype == ldiskfs ]; then
- fs_mkfs_opts+=${OSTJOURNALSIZE:+" -J size=$OSTJOURNALSIZE"}
+ var=${facet}_JRN
+ if [ -n "${!var}" ]; then
+ fs_mkfs_opts+=" -J device=${!var}"
+ else
+ fs_mkfs_opts+=${OSTJOURNALSIZE:+" -J size=$OSTJOURNALSIZE"}
+ fi
+format_mgs() {
+ local quiet
+
+ if ! $VERBOSE; then
+ quiet=yes
+ fi
+ echo "Format mgs: $(mgsdevname)"
+ reformat_external_journal mgs
+ add mgs $(mkfs_opts mgs $(mgsdevname)) --reformat \
+ $(mgsdevname) $(mgsvdevname) ${quiet:+>/dev/null} || exit 10
+}
+
+format_mdt() {
+ local num=$1
local quiet
if ! $VERBOSE; then
quiet=yes
fi
local quiet
if ! $VERBOSE; then
quiet=yes
fi
+ echo "Format mds$num: $(mdsdevname $num)"
+ reformat_external_journal mds$num
+ add mds$num $(mkfs_opts mds$num $(mdsdevname ${num})) \
+ --reformat $(mdsdevname $num) $(mdsvdevname $num) \
+ ${quiet:+>/dev/null} || exit 10
+}
+
+format_ost() {
+ local num=$1
+
+ if ! $VERBOSE; then
+ quiet=yes
+ fi
+ echo "Format ost$num: $(ostdevname $num)"
+ reformat_external_journal ost$num
+ add ost$num $(mkfs_opts ost$num $(ostdevname ${num})) \
+ --reformat $(ostdevname $num) $(ostvdevname ${num}) \
+ ${quiet:+>/dev/null} || exit 10
+}
stopall
# We need ldiskfs here, may as well load them all
load_modules
[ "$CLIENTONLY" ] && return
echo Formatting mgs, mds, osts
if ! combined_mgs_mds ; then
stopall
# We need ldiskfs here, may as well load them all
load_modules
[ "$CLIENTONLY" ] && return
echo Formatting mgs, mds, osts
if ! combined_mgs_mds ; then
- echo "Format mgs: $(mgsdevname)"
- add mgs $(mkfs_opts mgs $(mgsdevname)) --reformat \
- $(mgsdevname) $(mgsvdevname) ${quiet:+>/dev/null} ||
- exit 10
fi
for num in $(seq $MDSCOUNT); do
fi
for num in $(seq $MDSCOUNT); do
- echo "Format mds$num: $(mdsdevname $num)"
- add mds$num $(mkfs_opts mds$num $(mdsdevname ${num})) \
- --reformat $(mdsdevname $num) $(mdsvdevname $num) \
- ${quiet:+>/dev/null} || exit 10
done
export OST_INDICES=($(hostlist_expand "$OST_INDEX_LIST"))
check_ost_indices
for num in $(seq $OSTCOUNT); do
done
export OST_INDICES=($(hostlist_expand "$OST_INDEX_LIST"))
check_ost_indices
for num in $(seq $OSTCOUNT); do
- echo "Format ost$num: $(ostdevname $num)"
- add ost$num $(mkfs_opts ost$num $(ostdevname ${num})) \
- --reformat $(ostdevname $num) $(ostvdevname ${num}) \
- ${quiet:+>/dev/null} || exit 10
reformat_external_journal() {
local facet=$1
reformat_external_journal() {
local facet=$1
- if [ ! -z ${EJOURNAL} ]; then
+ var=${facet}_JRN
+ if [ -n "${!var}" ]; then
local rcmd="do_facet $facet"
local rcmd="do_facet $facet"
- echo "reformat external journal on $facet:${EJOURNAL}"
- ${rcmd} mke2fs -O journal_dev ${EJOURNAL} || return 1
+ echo "reformat external journal on $facet:${!var}"
+ ${rcmd} mke2fs -O journal_dev ${!var} || return 1
${rcmd} tar zcf $metadata -C $mntpt/ . > /dev/null 2>&1 || return 3
# step 6: umount
${rcmd} umount -d $mntpt || return 4
${rcmd} tar zcf $metadata -C $mntpt/ . > /dev/null 2>&1 || return 3
# step 6: umount
${rcmd} umount -d $mntpt || return 4
- # step 7: reformat external journal if needed
- reformat_external_journal $facet || return 5
# step 8: reformat dev
echo "reformat new device"
# step 8: reformat dev
echo "reformat new device"
- add $facet $(mkfs_opts $facet ${devname}) --backfstype ldiskfs \
- --reformat ${devname} $(mdsvdevname $(facet_number $facet)) \
- > /dev/null || exit 6
+ format_mdt $(facet_number $facet)
# step 9: mount dev
${rcmd} mount -t ldiskfs $opts $devname $mntpt || return 7
# step 10: restore metadata
# step 9: mount dev
${rcmd} mount -t ldiskfs $opts $devname $mntpt || return 7
# step 10: restore metadata