2

Scalr EC2 クラスターがあり、すべてのインスタンス間でファイルを簡単に同期する方法が必要です。

たとえば、あるインスタンスの /var/www に多数のファイルがあり、他のすべてのホストを識別してから、それらの各ホストに rsync してファイルを更新できるようにしたいと考えています。

ls /etc/aws/hosts/app/

他のすべてのインスタンスの IP アドレスを返します

10.1.2.3 10.1.33.2 10.166.23.1

アイデア?

4

1 に答える 1

2

ザックが言ったように、 S3を使用できます。

  • ドライブを S3 にマッピングするために、多くのクライアントの 1 つをダウンロードできます。(S3 と webdav を検索します)。
  • このルートに行く場合は、すべての共有ファイルで S3 バケットをセットアップし、 cronJobで jetS3 を使用して、各ノードのローカル ドライブをバケットに同期します (S3 バケットの更新をプルダウンします)。次に、通常はビルドに eclipse と ant を使用するため、更新を S3 バケットにデプロイする (更新を S3 バケットにプッシュする) ANT ジョブを作成します。

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 ホスト専用にすることもできます。

于 2010-07-28T16:16:52.473 に答える