プラスα空間

ブログ in お市 のーと

LANDISK Home HDL4-Gをrsyncサーバにしようとした結果

私は、IO-DATAのNAS、HDL4-Gを持っていて、色々ハックして活用しています。そんな中の一つが、rsyncサーバにする事です。

一応、この試みはうまく行って、通常のファイルならrsyncでコピーできる様になりました。通常のファイルと言うのは、拡張属性の付かないファイルです。

拡張属性付きで、rsyncでコピーしようとすると、次のエラーになります。

% rsync -avE --port 10873 aaa.txt rsync://192.168.0.200/rsync
building file list ... done
rsync: on remote machine: --extended-attributes: unknown option
rsync error: requested action not supported (code 4) at clientserver.c(520)
rsync: read error: Connection reset by peer (54)
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-42/rsync/io.c(603) [sender=2.6.9]

LANDISK Home HDL4-GのOSは、Debian 3.1 Sargeです。

搭載されているrsyncのバージョンは、2.6.4です。

# /usr/bin/rsync --version
rsync  version 2.6.4  protocol version 29
Copyright (C) 1996-2005 by Andrew Tridgell and others

Capabilities: 64-bit files, socketpairs, hard links, symlinks, batchfiles, 
              inplace, IPv6, 64-bit system inums, 64-bit internal inums

rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
are welcome to redistribute it under certain conditions.  See the GNU
General Public Licence for details.

拡張属性やACLの付いたファイルのコピーに対応したrsyncは、3.0.0以降です。

私が、HDL4-Gをrsyncサーバにしたのは、FreeBSDで立ち上げ中のサーバのバックアップ先とするためでした。ですが、拡張属性やACLをコピーできないとなると、意味がありません。

また、LANDISK Home HDL4-Gで、データが格納されるパーティションは、XFSを使っています。XFSは、拡張属性やACLに対応しています。

# egrep md13 /etc/mtab 
/dev/md13 /mnt/sataraid1 xfs rw 0 0

これに対し、バックアップ元のFreeBSDはZFSを使っています。そして、AFPサーバとしても活用するので、UFS+(Macのファイルシステム)の拡張属性などは、すべてZFSの拡張属性として保存されます。

ZFS以外のファイルシステムでは、拡張属性に納まりきらなかったデータ(拡張属性をサポートしていない場合も含む)は、”._”で始まる隠しファイルに保存されます。

この辺りは、次のウェブページが詳しいです。HATさん、ご紹介ありがとうございます。

それで問題となるのが、XFSとZFSの拡張属性の大きさの違いです。

ファイルシステム拡張属性サイズ
XFS64KB
ZFS事実上無制限

これについては、Wikipediaで調べました。

つまり、ZFSの64KBを超える拡張属性データは、XFSの拡張属性として保存できないと言う事です。

仮に、LANDISK Home HDL4-Gのrsyncを3.0.0以上にしても、拡張属性を保存しきれません。よって、LANDISK Home HDL4-Gは、ZFSを積んだFreeBSDのバックアップ先とはなり得ないと言う事です。

コメントを残す