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

Установить удаленный раздел локально?

У меня есть веб-сервер, и я хотел бы переместить некоторые статические файлы для веб-приложения на удаленный сервер, но при этом они все еще доступны.

Есть ли способ подключить (сервер A) папку с (сервера B), как если бы это был локальный диск? Или просто смонтированный раздел? В основном, чтобы мое веб-приложение могло писать на удаленный диск через что-то вроде / mount / remotefolder ??

Оба сервера работают под управлением CentOS, но находятся в двух географически разных местах.

sshfs это то, что вы ищете. http://fuse.sourceforge.net/sshfs.html - вы даже можете использовать fstab записи, чтобы автоматически монтировать его при загрузке, или запретить монтирование, но тогда вы можете просто сделать mount /pre/defined/mount/point смонтировать его. sshfs может быть медленным, но определенно безопасным. Это требует fuse быть активным либо как модуль ядра / скомпилированный в ядро, либо как программа пользовательского пространства.

У меня есть следующая строка в моем .bashrc:

alias xxr-sfs="sshfs xxr:/var/www/localhost/htdocs ~/xxr"

И xxr определяется в моем ~/.ssh/config файл:

Host xxr
HostName xxr
user mark

(материал выше, очевидно, был переименован для моей конфиденциальности)

Затем, если я хочу установить его, я просто набираю xxr-sfs смонтировать его.

Я думаю, что краткий ответ на ваш вопрос - NFS. В качестве альтернативы, для более сложной настройки, вы можете использовать два сервера совместно с томом DRBD.

Однако мне интересно, что не так с HTTP как протоколом доступа к файлам? Разве сервер B не может иметь собственный веб-сервер и обслуживать свои файлы для себя? Разделить ваше веб-приложение так, чтобы часть, обрабатывающая файлы, находилась на сервере B?

Обновить:

Я недостаточно внимательно прочитал OP. Если «географически разделенные местоположения» означают длительную задержку, и drbd, и nfs могут быть неоптимальными в зависимости от конкретного варианта использования. Если между двумя местоположениями существует задержка более 50 мс, я бы попытался использовать разные веб-серверы, которые оба общаются напрямую с конечным пользователем, если это возможно.