QFS on top of ZFS
A co-worker had a question today about QFS that I wanted to test out. I didn’t have any machines handy that had free disk drives, but I did have a machine which had free space in a ZFS pool. It was simple to make some zvols to emulate block devices and created a QFS file system on top of the zvols. Here is what I did:
root@t2000: 415 # pkgadd -d . SUNWqfsr SUNWqfsu
root@t2000: 416 # zfs create -V 2g zfs/metadata
root@t2000: 417 # zfs create -V 2g zfs/data1
root@t2000: 418 # zfs create -V 2g zfs/data2
root@t2000: 419 # vi /etc/opt/SUNWsamfs/mcf
qfs1 10 ma qfs1 on
/dev/zvol/dsk/zfs/metadata 11 mm qfs1 on
/dev/zvol/dsk/zfs/data1 12 mr qfs1 on
/dev/zvol/dsk/zfs/data2 13 mr qfs1 on
root@t2000: 420 # /opt/SUNWsamfs/sbin/sammkfs -a 128 qfs1
root@t2000: 421 # echo “qfs1 – /qfs1 samfs – yes stripe=1″ >> /etc/vfstab
root@t2000: 421 # mkdir /qfs1
root@t2000: 422 # mount /qfs1
I’m positive my configuration wasn’t optimal, but it was very easy to get QFS setup to answer the question.
I just saw an annoucement about QFS being open-sourced, very cool indeed.
March 24th, 2009 at 11:34 pm
William,
Thanks for this information! After a little bit of additional reading, I did the following to syncronize the block sizes involved between the QFS and ZFS systems:
zfs create -o compression=off -o volblocksize=64k -V 100g export/qfs1_data1
zfs create -o compression=off -o volblocksize=16k -V 10g export/qfs1_meta1
/opt/SUNWsamfs/sbin/sammkfs -a 64 qfs1
echo “qfs1 - /qfs1 samfs - yes mm_stripe=0,stripe=0″ >> /etc/vfstab
Since my underlying ZFS pool named “export” is of type raidz1, I turned off all QFS striping via the mount command above.
Here is my related mcf file for completeness:
qfs1 10 ma qfs1 on
/dev/zvol/dsk/export/qfs1_meta1 11 mm qfs1 on
/dev/zvol/dsk/export/qfs1_data1 12 mr qfs1 on