Назад | Перейти на главную страницу

Совместное использование / репликация EBS на узлах AWS

Я хотел бы использовать одно хранилище EBS на нескольких узлах EC2 (веб-серверы / серверы приложений). Я читал несколько статей о совместном использовании снимков, но это не подходит для того, что нам нужно.

Мы используем файловую систему для хранения вложений записей БД, поэтому, если создается одно такое вложение, нам нужно, чтобы оно было немедленно доступно для всех узлов (для обслуживания). Пока что только NFS кажется жизнеспособным, но его сложно настраивать и поддерживать.

Другой вариант - сохранить эти вложения на S3, но это избавит нас от необходимости проводить какой-либо анализ этих данных.

Это должно быть довольно распространенная проблема при масштабировании в AWS, какие есть решения?

Пока нет возможности прямого обмена EBS между экземплярами. Но! Есть альтернативы:

Самый масштабируемый способ: S3. Самый сложный: распределенные файловые системы (например, GlusterFS). В некотором смысле между решением: 1 главный узел с установленным lyncd и подчиненными узлами. lsyncd управляет всеми обновлениями файлов практически в режиме реального времени. Недостатком этого варианта является то, что все операции обновления файлов должны выполняться на главном узле.

Для небольших проектов (1-5 узлов) я подумаю о решении lsyncd, а для более крупных я перейду на S3.

Как насчет того, чтобы не использовать прямой доступ к файловой системе, а вместо этого хранить вложения записей БД за службой, доступной из нескольких экземпляров EC2? База данных MySQL или, возможно, вариант «NoSQL», такой как Cassandra, были бы хорошими кандидатами.

Я не понимаю, почему хранение вложений на S3 может помешать вам проводить анализ данных; не могли бы вы рассказать об этом более детально.

Это идеально и слишком сложно

http://docs.google.com/View?docID=dhh4z6n4_96w387mqhn&revision=_latest