Файловый сервер для замены кластерной файловой системы

Для различных целей обслуживания, стабильности и резервного копирования мне нужно заменить разделяемую файловую систему ocfs2 из 10 узлов (10 хостов Linux) на что-то, что не зависит от общего диска. Клиентские приложения - это PHP только в среде Linux.

Прямо сейчас каждый клиент PHP запрашивает уникальный идентификатор из базы данных и создает файл с таким идентификатором / именем на общем диске. База данных хранит все метаданные файла. Доступ к существующим файлам осуществляется аналогичным образом.

Я хочу заменить решение с общим диском вызовами putfile(id, '/tmp/path') и getfile(id, / / ​​tmp / path ') к файловому серверу по сети. На стороне клиента я мог бы работать с файлами в tmpfs. Сервер должен обрабатывать сжатие и т. Д. Это также освободило бы меня от клиентской зависимости PHP, и я мог бы использовать файловый сервер напрямую из некоторых других приложений, а также из приложений Windows Delphi.

Теоретически, решение на основе FTP может даже работать, хотя, вероятно, оно будет работать не очень хорошо. Или я ошибаюсь, не доверяя старому протоколу FTP?

В настоящее время у меня более 30 миллионов идентификаторов файлов, большинство из которых имеют размер несколько КБ с заметными исключениями до 300 МБ, всего 320 ГБ. PHP-клиент также выполняет сжатие и группировку с помощью gzip и tar, все это очень неуклюже.

Я надеялся найти что-то быстрое и простое, например memcachedb, но для файлов. Ближе всего я нашел hdfs от hadoop, но я не думаю, что это правильное решение.

Любые рекомендации? Что-то очевидное, что мне не хватает?

0 ответов

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