Как выполнить rsync для всех серверов Amazon EC2?

У меня есть кластер Scalr EC2, и я хочу простой способ синхронизации файлов во всех экземплярах.

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

ls / etc / aws / hosts / app /

возвращает IP-адреса всех других экземпляров

10.1.2.3 10.1.33.2 10.166.23.1

Идеи?

1 ответ

Как сказал Зак, вы можете использовать S3.

  • Вы можете скачать один из множества клиентов для подключения дисков к S3. (поиск по S3 и webdav).
  • Если бы я собирался пойти по этому пути, я бы настроил корзину S3 со всеми моими общими файлами и использовал jetS3 в cronJob для синхронизации локального диска каждого узла с корзиной ( получение обновлений корзины S3). Тогда, поскольку я обычно использую eclipse & ant для сборки, я бы создал задание ANT для развертывания обновлений в корзину S3 (отправка обновлений в корзину S3).

С http://jets3t.s3.amazonaws.com/applications/synchronize.html

Usage: Synchronize [options] UP <S3Path> <File/Directory>

(...) или: Синхронизировать [опции] ВНИЗ

UP      : Synchronize the contents of the Local Directory with S3.
DOWN    : Synchronize the contents of S3 with the Local Directory
...

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

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

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

Вы оценивали с помощью NFS? Может быть, вы могли бы выделить один экземпляр в качестве хоста NFS.

Другие вопросы по тегам