web-dev-qa-db-ja.com

データセンター間のマスター-マスターファイルの同期

私の問題は、各ノードが異なるデータセンターにあるマスターマスター(3つのマスターノード)ファイル同期のセットアップに関するものです。ユーザーがファイルを作成/変更/削除できる3つのアプリケーションサーバーがあり、同期間の待ち時間を短くして、同期を維持する必要があります(2分が許容され、リアルタイムが理想的です)。合計76,136ファイル、合計100GB変更(作成+削除+変更)最大で1日1,0ファイルがあります。ファイルが2つの異なるサーバーで同時に変更されないことは公正な仮定です。

私は先週この問題についてたくさんグーグルで検索しましたが、「これIS IT!」の解決策はまだ見つかりません。

私が見たオプションは次のとおりです。

  • ユニゾン:アバンダンウェア(私のシステム管理者はそれが信頼できないと主張しています)
  • Rsync:deleteでは機能せず、双方向であることを意図していません
  • Osync:可能性はありますが、大きなファイルツリーによって妨げられているようです
  • lsyncd:彼らのGitHubページから、これまでのところ最良のオプションのようです。
  • Minio(aw3ファイルストレージ方式を使用):マスターマスターセットアップ用ではなく、分散ストレージソリューション用に設計されています
  • クラウドストレージ:それは理想的ですが、私たちの国には優れたクラウドプロバイダーがなく、国際的なインターネット速度はここでは悪いので、国外のストレージは私たちにとって機能しません
  • GlusterFS/Ceph/DRBD:設定、保守、制御、デバッグが難しく、データセンター間の同期にはあまり適していない黒魔術(私の経験から、追加の洞察を歓迎します)
  • ミラー:それは素晴らしいオプションのようですが、イントラネットや小さなファイル用に設計されているようです。

Dockerを使用していますが、これを解決するDockerボリュームプラグインも見つかりませんでした。

この問題に直面/解決している人はいますか?どのツールが優れていますか?この問題により適した他のツールはありますか?

2
Jimmy

GlusterFSを使用します(セットアップはso難しいことではありません)が、CSYNC2を使用することもできます。

https://github.com/LINBIT/csync2

私はクラスター上でファイルのセットを複製するために使用しましたが、素晴らしい結果が得られました。

1
SimoneLazzaris