Scalr EC2 クラスターがあり、すべてのインスタンス間でファイルを簡単に同期する方法が必要です。
たとえば、あるインスタンスの /var/www に多数のファイルがあり、他のすべてのホストを識別してから、それらの各ホストに rsync してファイルを更新できるようにしたいと考えています。
ls /etc/aws/hosts/app/
他のすべてのインスタンスの IP アドレスを返します
10.1.2.3 10.1.33.2 10.166.23.1
アイデア?
Scalr EC2 クラスターがあり、すべてのインスタンス間でファイルを簡単に同期する方法が必要です。
たとえば、あるインスタンスの /var/www に多数のファイルがあり、他のすべてのホストを識別してから、それらの各ホストに rsync してファイルを更新できるようにしたいと考えています。
ls /etc/aws/hosts/app/
他のすべてのインスタンスの IP アドレスを返します
10.1.2.3 10.1.33.2 10.166.23.1
アイデア?
ザックが言ったように、 S3を使用できます。
http://jets3t.s3.amazonaws.com/applications/synchronize.htmlから
Usage: Synchronize [options] UP <S3Path> <File/Directory>
(...) または: 同期 [オプション] DOWN
UP : Synchronize the contents of the Local Directory with S3. DOWN : Synchronize the contents of S3 with the Local Directory ...
クロスノード ファイル ロックが必要ない場合は、上記のソリューションをお勧めします。簡単で、すべてのシステムが中央の場所からデータをプルするだけです。
さらにクロスノード ロックが必要な場合:
理想的な解決策は、IBM のGPFSを使用することですが、IBM はそれを (少なくともまだ) 提供していません。高性能相互接続用に設計されていますが、低速接続でも使用できます。NFS の代替として使用したところ、驚くほど高速でした (NFS の約 3 倍の速さ)。オープンソースで似たようなものがあるかもしれませんが、私は知りません。編集: OpenAFSは、多くの EC2 インスタンスでクラスター化されたファイルシステムを構築する場合にうまく機能する可能性があります。
NFS を使用して評価しましたか? 1 つのインスタンスを NFS ホスト専用にすることもできます。