Since ZFS is COW, can I have a read-only pool (on a central file server, or on 
a DVD, etc) with a separate block-differential pool on my local hard disk to 
store writes?
This way, the pool in use can be read-write, even if the main pool itself is 
read-only, without having to make a full local copy of that read-only pool in 
order to be able to write to it, and without having to use messy 
filesystem-level union filesystem features.

This would also be useful for live-system bootable DVDs, for which the 
writeable block-differential pool could be stored just in system memory in 
order to allow a fully functional non-persistent read-write pool without having 
to use the system's hard disk, or stored on a small flash thumbdrive which the 
user carries along with the DVD to allow a persistent read-write pool without 
having to use the system's hard disk.

For yet another feature, this ability to copy newly written blocks to a 
separate differential pool could be used even if those new blocks are still 
written back to the main pool as usual; in this case, the differential pool 
would serve as a real-time differential backup. For example, I could make a 
full backup of my laptop's hard disk onto DVDs, and then while in use have a 
thumbdrive plugged into the laptop. All updates to the hard disk would be 
copied to the thumbdrive, and when the thumbdrive fills up, it can be copied to 
a DVD and  then erased. If the laptop's hard disk dies, I can reconstruct the 
system's disk state right up to the moment that it died by restoring all the 
DVDs to a new hard disk and then restoring the current contents of the 
thumbdrive. This would effectively provide the redundancy benefits of a full 
mirror of the laptop's hard disk, but without having to lug along an entire 
full-size second hard disk, since I only have to carry a thumbdrive big enough 
to hold the amount of differential data I expect to generate.

Finally, using the upcoming hard disk/flash disk combo drives in laptops, using 
the flash disk as the differential pool for the main hard disk pool (instead of 
writing the differential data immediately back to the main pool) would allow 
persistent writes without having to spin up the sleeping hard disk, and the 
differential pool could be flushed to the main pool sometime later when the 
hard disk is forced to spin up anyway to service a read. (This feature is 
independent of the use of an external thumbdrive to mirror differential data, 
and both features could be used at the same time.)

All of these features would be enabled by allowing pool writes to be redirected 
to another destination (the differential pool) separate from the pool itself, 
and keeping track of the txg number at which the redirection began so that pool 
read requests will be sent to the right place.
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to