файловый сервер для замены кластерной файловой системы - PullRequest
1 голос
/ 03 января 2012

Для различных целей обслуживания, стабильности и резервного копирования мне нужно заменить общую файловую систему 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, но я не думаю, что это правильное решение.

Есть какие-нибудь рекомендации?Что-то очевидное мне не хватает?

...