
On 14/02/12 15:59, Andrew McGlashan wrote:
Hi,
On 14/02/2012 12:55 PM, Peter Ross wrote:
I do not have enough private data to fill a hard disk these days so it could be an option for him too.
Or slice the disks in two partitions of equal size and use them as a mirror.
With BTRFS, you can mirror content or not depending on your requirement. You can even choose to mirror some files/dirs and not others. And to make it even more versatile, you can apply different RAID versions throughout as well.
The problem for me with BTRFS is that it is too new and if you want the latest and greatest, then you always need the latest and greatest kernel -- something that doesn't sit well with me when I want systems that are as stable as possible.
I'm sure that BTRFS time will come, but it will likely be a while for me. I like ZFS, but the licensing issues worry me, as does the "Oracle ownership" situation.
It certainly seems like BTRFS is something very much to look forward to and probably shouldn't be used for any kind of critical data or systems for some time -- although Oracle has committed to using production BTRFS in OL very soon.
btw Avi did a good talk at linux.conf.au this year.... but his comment about an older copy worries me here, it seems clear that with COW in use, the only way that would be useful with a single copy of the data block is if that data block has changed and then you only have the option of reverting back to the older version of that block. Write it once, never change it, never have mirrors of the data and you'll lose that block if the checksum shows corruption.
If, in this context, "block" means a sector of disk (4096 bytes these days), then all is not totally lost. If you find an error message that gives the actual sector number (absolute or relative) then you can read its contents using "dd noerror seek=nnnn bs=4096 count=1" and then write it back again. There may be some bits flipped, there is nothing you can do about that if it is not text, but the checksum will be cleared and the file as a whole is available (or more than that if the block is in the directory structure).