I have a NAS (Synology DS214 with DSM 5.0) where I don't have a possibility to create and manage partitions (maybe I could with some hacks that I don't want to make). What ways to setup multiple ZFS pools with one partition each (for starters - just want to use deduplication) exist? The setup should work with the NAS, i.e. over network (I'd mount the images via NFS or cifs).
My ideas and associated issues so far:
- sparse files mounted over loop device (specifying sparse file directly as ZFS vdev doesn't work, see Can I choose a sparse file as vdev for a zfs pool?): problem that the name/number of the assigned loop device is anything but constant, not sure how increasing the number loop device with kernel parameter affects performance (there has to be a reason to limit it to 8 in the default value, right?)
- If the device where the data is stored is only (mis)used to hold the data in form of bytes in files and everything else is managed from another device (necessary if there's no possibility to create partitions), it's necessary to save all data the ZFS system or the pool needs to run (at least the name of the pool and the list of attached vdevs) on the device as well in order to make the pool survive a failure of the controlling device. This ZFS related data has to be backed up externally. How to tell ZFS where to store its data? I guess, mounting directories (
/etc/zfs
, etc.) is a worse solution than tell ZFS where to save data at pool creation.