web-dev-qa-db-ja.com

nsyncマウントでrsyncを使用するときに、消失エラーを防ぐにはどうすればよいですか?

現在、UbuntuサーバーからSnow Leopardサーバーにファイルを移動しています。 Ubuntuサーバーには約6 TBのNFS共有があり、これをSnow Leopardサーバーに複製したいと思います。

Snow LeopardサーバーにNFS共有をマウントして実行しました

rsync -av /Volumes/FromUbuntu /Volumes/LocalCopy

約100GBをコピーした後、ファイルがなくなったと文句を言います。何らかの理由でNFSリンクが古くなっていると思いますか?何が原因でしょうか? Ubuntuサーバーはクラッシュしておらず、私が認識している接続の問題もありません。コピーが完了するまでrsyncコマンドを何度も実行してもかまいませんが、rsyncがファイルリストを作成するだけで約6時間かかります。

助言がありますか? SSH経由でrsyncを実行する方が高速でしょうか?ありがとう!

(追記:失敗していないように見える 'cp -arv'だけを使ってみましたが、Macのネットワークトラフィックモニターによると、rsyncがファイルリストを作成した後、ファイルをrsyncとしてコピーするのに2倍の時間がかかるようです?)

更新:MacサーバーからUbuntuサーバーにssh経由でrsyncを試行していますが、はるかに高速になっているようです(ファイルリストを作成して転送を開始するのに2時間もかかりませんでした。初期ファイルリストを作成するだけで約6時間です。)NFS共有をMacにマウントすることに問題があるようです。誰かこれに問題がありましたか?逆に、ubuntuクライアントのMacにNFS共有をマウントするのはどうですか? MacでUbuntuクライアント用のNFS共有をホストすることを計画していましたが、今は緊張しています。ご協力ありがとうございます。

7
Evan

私の知る限り、「ファイルが消えた」状態はrsyncの致命的なエラー状態ではなく、プロセスは問題なく続行されます。 rsyncが「ファイルが消えた」というメッセージを報告すると停止するということですか?

ライブファイルシステムをバックアップしている場合、rsyncから「消えた」メッセージをいつでも受け取ることができます。 rsyncがファイルを転送リストに追加してから、実際にrsyncがファイルを読み取れるまでの間に、正当な理由で(たとえば一時的なロックファイルが削除されたか、ファイルの名前が変更された)。一部のアプリケーションは、隠しロックファイルを作成および削除することにより、NFSファイルロックの制限を回避しますが、rsyncがそれらのいくつかを表示している可能性があります。

バックアップ中は、ソースファイルシステムをできるだけ静止させることをお勧めします。理想的には、バックアッププロセス以外の誰もアクセスしないでください。ソースファイルシステムがLVM論理ボリューム上にある場合、バックアップソースとして使用する読み取り専用のスナップショットを作成することを検討できます。

5
Steven Monday

ここで説明するように、これはファイル名の特殊文字の問題です: https://superuser.com/questions/91967/rsync-character-set-problems

5
Dan Bolser

私の毎日のバックアップスクリプトでは、このスクリプトはrsyncラッパーです。

#!/bin/bash

rsync "$@" 2> >(grep -v vanished)
ret=$?
((ret==24)) && exit 0 || exit $ret
2
Gilles Quenot