2010-07-03 5 views
2

У меня есть кластер Scalr EC2 и вы хотите простой способ синхронизации файлов по всем экземплярам.Как rsync для всех серверов Amazon EC2?

Например, у меня есть куча файлов в/var/www на одном экземпляре, я хочу иметь возможность идентифицировать все остальные хосты, а затем rsync для каждого из этих хостов для обновления своих файлов.

Ls/и т.д./AWS/хосты/приложение/

возвращает IP-адреса всех остальных случаях

10.1.2.3 10.1.33.2 10.166.23.1

Идеи?

+2

Ненавижу задавать очевидный вопрос, но почему бы просто не хранить его на S3? –

ответ

2

As Zach сказал, что вы можете использовать S3.

  • Вы можете загрузить один из многочисленных клиентов для отображения дисков на S3. (поиск S3 и webdav).
  • Если бы я шел по этому маршруту, я бы установил ведро S3 со всеми моими совместно используемыми файлами и использовал jetS3 в cronJob, чтобы синхронизировать локальный диск каждого узла с ведром (вытаскивая обновления в S3 bucket). Тогда, поскольку я обычно использую eclipse муравей для строительства, я бы создал ANT-задание для развертывания обновлений в ведро S3 (нажатие обновлений до ведра 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 
... 

Я рекомендовал бы выше решение, если вы не» t требуется блокировка нескольких узлов. Это легко, и каждая система может просто извлекать данные из центра.

Если вам нужно больше кросс-узел блокировки:

Идеальным решением будет использовать IBM в GPFS, но IBM не просто дать его (по крайней мере пока). Несмотря на то, что он разработан для высокопроизводительных межсоединений, он также может использоваться для более медленных соединений. Мы использовали его в качестве замены для NFS, и это было удивительно быстро (примерно в 3 раза быстрее, чем NFS). Возможно, что-то похожее с открытым исходным кодом, но я не знаю. EDIT: OpenAFS может хорошо работать для создания кластерной файловой системы во многих экземплярах EC2.

Вы оценили использование NFS? Возможно, вы можете выделить один экземпляр в качестве узла NFS.