Распределенная файловая система для хранения временных файлов

У нас есть кластер веб-серверов, который в настоящее время хранит временные файлы (которые были загружены пользователями) в центральной общей файловой системе. Ограничение заключается в том, что каждый раз, когда сервер, содержащий общую файловую систему, выходит из строя, весь наш сайт отключается (или, по крайней мере, оказывается поврежденным). Я рассмотрел такие решения, как Gluster и GridFS, для создания отказоустойчивой файловой системы, но ни одно из них не показалось идеальным для временных файлов, которые часто создаются и удаляются. Безопасность также важна, и у Gluster, похоже, не было средств шифрования по проводам.

Какие есть хорошие отказоустойчивые опции распределенной файловой системы, которые могут быть безопасными и справляться с частым созданием / удалением файлов?

3 ответа

Решение

Предупреждение: самоуверенное содержание.

Распределенные файловые системы отстой. Есть хорошие распределенные хранилища объектов, такие как cassandra и ceph, но любая эмуляция файловой системы на вершине неизменно является проблематичным зверьком, потому что операции файловой системы не очень хорошо отображаются на распределение (lock, fsync()ing), и это исключает проблему необходимо поместить код в ядро, чтобы поддержать их, а не в вашем приложении.

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

openAFS --- (открыть файловую систему Andrew)

Зависит от того, как хотите / нужно получить доступ к файловой системе. Если вы не возражаете против использования вызовов API, вы можете сделать что-то столь же простое, как S3, или оставить его внутри, запустить кластер RIAK для аналогичного опыта.

Если это слишком тяжело, вы можете запустить что-то вроде etcd ( https://github.com/coreos/etcd). etcd предназначен для работы на каждом узле и обладает очень высокой производительностью, если немного больше работать с интерфейсом.

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