rsyncの片側をそんなに忙しくしているのは何ですか?


11

私のLANには、他の人のバックアップサーバーとして機能するDebianマシンがあります。4つのHDDがソフトウェアRAID 5 mdデバイスに結合されており、そのLVMとそのbtrfs上にあります。バックアップはrsyncを使用して行われ、大きなファイルシステムの場合は1時間以上かかります。長い間、私はこれについてできることはほとんどないと思っていました。

しかし最近、転送の両端でHDDアクティビティが大きく異なることに気付きました。Gentooを実行していて、ほとんどがext4を使用している送信側には、ディスクIOがほとんどありませんでしたが、受信側は常にビジーでした。ほとんどのデータは転送間で変化しないので、メタデータの読み取りはデータの大部分を占めるはずだと思います。しかし、btrfsでiノードを読み取ることがext4で同じことを行うよりも多くの作業であるとしたら、私は本当に驚きます。

iotop 受信側で約1〜4 MB /秒のディスク読み取りを確認しましたが、送信側ではたまに0.5 MB /秒のバーストしかありませんでした。

私の質問は、誰かがここで何が起こっているのか説明できますか?できれば、問題を回避する方法を示してください。

おそらく、私が使用できるいくつかのbtrfsチューニングフラグ、または類似したものがあります。バックアップサーバーにスナップショット機能を備えたFSが必要です。FreeBSDとZFSを使用しようとすると、すぐにFSの一貫性が失われるため、現時点ではbtrfsに代わるものはほとんどありません。したがって、ext4またはzfsを使用するように指示する回答は、賛成票を受け取る可能性がありますが、チェックマークは受け取りません。


cjmからの要求に応じて、使用中のRsyncオプション:

--rsync-path='rsync --fake-super'
--archive               # -rlptgoD
--hard-links            # detect and preserve these
--acls
--xattrs
--sparse
--noatime               # based on patch from samba #7249c1
--delete
--delete-delay
--fuzzy
--human-readable        # size suffixes, base 1000
--stats

また、-fいくつかのファイルを除外するための一連のルール。


btrfsのマウントオプションは、次のように報告さmountれます。

rw,nosuid,noexec,noatime,nospace_cache

特に、これにはnoatimeフラグが含まれているため、一部のファイルに実際に違いがない限り、書き込みは必要ありません。私は、に応じてこの情報を追加した答えによって、カイル・ジョーンズ


どのrsyncオプションを使用していますか?
cjm

暗闇の中でショットを撮るだけで、ディスクが故障しましたか?パリティ情報から失われたデータを再構築しようとしているため、これは余分なI / Oを引き起こす可能性があります。
バハマ

@bahamat、私は賢く実行していて、問題は報告されていません。mdadmもイベントを報告しませんでした。
MvG 2012

何が悪いのかをはっきりと言うのは本当に難しいです。ほんの一例は、レイヤー間で不一致のブロックサイズです。それを診断するには、次のようなものを使用するか、時間がどこで費やされているdtracesystemtapを調べることが最善です。
バハマ

@bahamat、それは私がまだ調査していない道です。これらのツールを使用して問題を診断する方法について回答を書いていただけますか?それは素晴らしいことです。時間がある場合の段階的な手順ですが、いくつかの大まかなアイデアやドキュメントのポインタも非常に役立ちます。
MvG 2012

回答:


3

考えられる答えの1つは、リモートファイルシステムがデフォルトで「atime」オプションを使用してマウントされることです。リモートrsyncがアクセスするすべてのアクセス時間の書き込みと、RAID 5で発生する書き込みペナルティ(コンピューティングパリティとは、いずれかのRAIDディスクに書き込む前にすべてのRAIDディスクを読み取ること)と合わせて、リモート側のI / O倍率を説明することができます。

私がそうだとすれば、「noatime」オプションを指定してリモートファイルシステムをマウントすることで、速度を上げることができます。


2
良い考えですが、残念ながら解決策ではありません。ファイルシステムはすでにマウントされています。Mountは、すべてのマウントオプションのセットをとして報告しますrw,nosuid,noexec,noatime,nospace_cache
MvG 2012

1

私は--fake-superオプションを疑っています。これは、rsyncにすべてのメタデータ情報を各ファイルの拡張属性に格納するように指示します。これらの属性へのアクセスは遅いと思います。--fake-superを使用せずに、rsyncを使用してrootにテスト実行してみます。属性が一致しないため、同じバックアップを再利用することはできません。


回答を拡張して、アサーションをサポートする役立つリンクまたはドキュメントへの参照を含めることを検討してください。
HalosGhost 14

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.