Details
-
Bug
-
Resolution: Not a Bug
-
Minor
-
None
-
None
-
FSTYPE=zfs
Singe Node Client/Server
Combined MDT/MGS
-
3
-
9223372036854775807
Description
Running llmount.sh with FSTYPE=zfs fails with "mount.lustre: lustre-mdt1/mdt1 has not been formatted with mkfs.lustre or the backend filesystem type is not supported by this tool".
This was seen while working on LU-3606 (ZFS). The goal is to create a very small working ZFS instance for dev purpose. This is combined MDT/MGS. Changing test-framework.sh to using mount.lustre binary worked for me. This may just not be a bug. I am raising it to understand if this is really a bug or something to do with my environment. What are the difference of passing -t lustre vs using mount.lustre. I thought they ultimately boils down to same.
This fails
# FSTYPE=zfs bash ./lustre/tests/llmount.sh Stopping clients: mrpel7 /mnt/lustre (opts:-f) Stopping clients: mrpel7 /mnt/lustre2 (opts:-f) mrpel7: executing set_hostid Loading modules from /root/mrp/lustre-xx-3.10/lustre-release/lustre/tests/.. detected 2 online CPUs by sysfs Force libcfs to create 2 CPU partitions ../lnet/lnet/lnet options: 'networks=tcp0(eth1) accept=all' quota/lquota options: 'hash_lqs_cur_bits=3' Formatting mgs, mds, osts Format mds1: lustre-mdt1/mdt1 Format ost1: lustre-ost1/ost1 Format ost2: lustre-ost2/ost2 Checking servers environments Checking clients mrpel7 environments Loading modules from /root/mrp/lustre-xx-3.10/lustre-release/lustre/tests/.. detected 2 online CPUs by sysfs Force libcfs to create 2 CPU partitions Setup mgs, mdt, osts Starting mds1: lustre-mdt1/mdt1 /mnt/lustre-mds1 mount.lustre: lustre-mdt1/mdt1 has not been formatted with mkfs.lustre or the backend filesystem type is not supported by this tool
This was fix by changing test-framework.sh
diff --git a/lustre/tests/test-framework.sh b/lustre/tests/test-framework.sh index 31e7ec3..a363fbb 100755 --- a/lustre/tests/test-framework.sh +++ b/lustre/tests/test-framework.sh @@ -2003,8 +2003,12 @@ mount_facet() { if [ -f $TMP/test-lu482-trigger ]; then RC=2 else + #do_facet ${facet} \ + # "mkdir -p $mntpt; $MOUNT_CMD $opts $dm_dev $mntpt" + local ML_CMD=/usr/sbin/mount.lustre do_facet ${facet} \ - "mkdir -p $mntpt; $MOUNT_CMD $opts $dm_dev $mntpt" + "mkdir -p $mntpt; $ML_CMD $opts $dm_dev $mntpt" RC=${PIPESTATUS[0]} fi
Essentially changing from using mount -t lustre to using mount.lustre binary makes it work.
My e2fsprogs version
# rpm -qa | grep e2fsprogs-1 e2fsprogs-1.45.2.wc1-0.el7.x86_64
My setup and compile lustre
# sh ./autogen.sh # ./configure --enable-client --enable-server --disable-ldiskfs --with-linux=/usr/src/kernels/3.10.0-862.9.1.el7_lustre.x86_64/ --with-zfs=/root/zfs/zfs/zfs-0.7.12/ --with-spl=/root/zfs/spl/spl-0.7.12/ # make -j2 # make install