Linuxで双方向ファイル同期を設定してみてください。

Linuxで双方向ファイル同期を設定してみてください。

私はかなり小さいデータセットに対してLinuxで双方向ファイル同期を設定しようとしています。 WANを介してデータを複製したいので、glusterのような分散ファイルシステムは興味がありません。遅くなります(特にPHPアプリケーションなどの大小のファイルを読む場合)。このリポジトリのGlusterパフォーマンスは非常に低いです。 Webアプリケーションホスティングソリューションのためにこれをコピーしたいです。)

私はlsyncd、incron、inotify、そしてもちろんrsyncやunisonなどのいくつかのメカニズムを知っていますが、それらをまとめるのは難しいです。最も難しいのは、双方向同期があるときです。これは、通知システムが同じファイルを双方向に送信しているためです。

(新しいファイル、通知) ---rsync---->第二(新しいファイルではありませんが、inotifyがこれを知らないため、通知も受け取ります。)

第二---同じファイルを再同期---->

同期のためにホスト間のrsyncを設定するためにFIFO方式を試しましたが、各ファイル通知(たとえば、1000個の新しいファイル= 1000個の通知)のためにfifoが大きくなり、これらの通知が一度に2つのホストで混在するため、まだ最善の方法ではありません。 FIFOなので、実際には一括処理できません。最もクリーンな解決策は、どういうわけかinotify / lsyncdを見て、監視ファイルシステムがrsyncまたはsshプロトコルを介してデータを受信したときにそれを知らせることです。してはいけないApache または proftpd が作成中に通知を送信します。しなければならない通知を送信します。 rsync用のFIFOといくつかのロック/ロード分散システムを備えたシンプルなレプリケーションコントローラだけで、信頼性の高い双方向同期ソリューションを構築するのに十分です。

このようなものを作った人はいますか?

ベストアンサー1

おすすめ記事