We're considering using an OpenSolaris server as a backup server.  Some of the 
servers to be backed up would be Linux and Windows servers, and potentially 
Windows desktops as well.  What I had imagined was that we could copy files 
over to the ZFS-based server nightly, take a snapshot, and only the blocks that 
had changed of the files that were being copied over would be stored on disk.

What I found was that you can take a snapshot, make a small change to a large 
file on a ZFS filesystem, take another snapshot, and you'll only store a few 
blocks extra.  However, if you copy the same file of the same name from another 
source to the ZFS filesystem, it doesn't conserve any blocks.  To a certain 
extent, I understand why - when copying a file from another system (even if 
it's the same file or a slightly changed version of the same file), the 
filesystem actually does write to every block of the file, which I guess marks 
all those blocks as changed.

Is there any way to have ZFS check to realize that in fact the blocks being 
copied from another system aren't different, or that only a few of the blocks 
are different?  Perhaps there's another way to copy the file across the network 
that only copies the changed blocks.  I believe rsync can do this, but some of 
the servers in question are Windows servers and rsync/cygwin might not be an 
option.
-- 
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