I've been trying to set up an OpenSolaris-based ZFS NAS server, with one of
its functions being a backup server for my Mac-based network. I'm using
rsync 3.0.3 pre2 on my Macs with some extended attribute patches, but have
been running into some compatibility problems when rsyncing via SSH from a
Mac to the Solaris server (I'm not running daemon mode on the server, but
rsync 3.0.3 pre2 is installed and in the bash path). For example, running
*"
**sudo /usr/local/bin/rsync -azx **-H **-e ssh "Backup Source"
"user@server:destination"
*--exclude-from=/Users/.rsync/exclude --delete-excluded --protect-args
*-**-progress"
*allows rsync on the Mac to successfully push data to the Solaris server.
However, when I add some extra flags to support the Mac's file attributes,
specifically -AX and --fileflags to preserve ACLs, xattrs, and Finder file
flags respectively, I receive the following errors (note: file flags patch
has been applied on both mac and Solaris):
*When calling --fileflags:*
*$ sudo /usr/local/bin/rsync -azx -H -e ssh "/Users/Documents"
"user@server:/Target_Directory/"
--exclude-from=/Users/.rsync/exclude --delete-excluded --fileflags
--protect-args --progress --dry-run*
*rsync: on remote machine: --fileflags: unknown option*
*rsync error: syntax or usage error (code 1) at main.c(1484)
[server=3.0.3pre2]*
*rsync: connection unexpectedly closed (0 bytes received so far) [sender]*
*rsync error: error in rsync protocol data stream (code 12) at io.c(635)
[sender=3.0.3pre2]*
**
*When calling -A (ACL's):*
*$ sudo /usr/local/bin/rsync -azx -HA -e ssh "/Users/Documents"
"user@server:/target_directory/"
--exclude-from=/Users/.rsync/exclude --delete-excluded --protect-args
--progress --dry-run*
*sending incremental file list*
*rsync: writefd_unbuffered failed to write 4 bytes [sender]: Broken pipe
(32)*
*recv_acl_access: value out of range: 8000*
*rsync error: error in rsync protocol data stream (code 12) at acls.c(670)
[receiver=3.0.3pre2]*
*rsync: connection unexpectedly closed (9 bytes received so far) [sender]*
*rsync error: error in rsync protocol data stream (code 12) at io.c(635)
[sender=3.0.3pre2]*
*Rsync run with -X (extended attributes):*
$ sudo /usr/local/bin/rsync -azx -HX -e ssh "/Users/Documents"
"user@server:/Target_Directory/"
--exclude-from=/Users/.rsync/exclude --delete-excluded --protect-args
--progress --dry-run
rsync: extended attributes are not supported on this server
rsync error: syntax or usage error (code 1) at main.c(1422)
[server=3.0.3pre2]
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(635)
[sender=3.0.3pre2]
It appears that even though I'm trying to perform a "push"
operation with
rsync (without using the remote demon), the SSH connection seems to still be
calling rsync on the Solaris server and is running into some error. Is there
a rsync flag to not call rsync through SSH on the target server or a way or
maybe a better way to properly rsync Mac data to a Solaris/ZFS target
server?
It's also possible that the error is coming from a lack of support of either
Solaris/ZFS ACL's or xattrs in rsync itself (I compiled the fileflags patch
in rsync on Solaris, so I'm not sure why this wouldn't work other than
maybe
the patch's code only supports Mac?), or a general lack of compatibility
between the Mac's extended attributes/ACLs and ZFS's extended
attributes/ACLs. However, I've played around a little with the Mac OS X ZFS
implementation which seems to have no problem handling metadata, but I'm not
sure if the support is exclusive to the Mac implementation or if it is
present in ZFS in general. Any help on how to fix this issue or successfully
back up a Mac to a ZFS host via rsync would be greatly appreciated! Thanks!
-------------- next part --------------
HTML attachment scrubbed and removed