Самый эффективный способ связать сервер хранения с внешним сервером? - PullRequest
0 голосов
/ 06 сентября 2018

Прежде всего, я хотел бы сказать спасибо, что нашли время, чтобы прочитать это.

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

У меня есть основной сервер, на котором запущен пользовательский CRM, созданный для клиента. Клиент хочет начать загрузку больших файлов, которые быстро заполнили бы диск сервера. По этой причине эти файлы должны быть сохранены на удаленном / альтернативном сервере, но также доступны через HTTP (для отображения во внешней CRM-системе).

Как бы мне настроить что-то подобное?

Я думал об использовании FTP для передачи файла на удаленный сервер, но это кажется дополнительным ненужным шагом, поскольку файл сначала будет загружен на главный сервер, а затем отправлен на дополнительный. Это вдвое больше пропускной способности и времени отклика.

Может быть, есть способ подключить дополнительный сервер в качестве «сетевого расположения» на главном сервере, а затем просто переместить файлы на него во время загрузки.

Другая проблема, которая может возникнуть, заключается в том, что главный сервер должен иметь возможность динамически создавать каталоги на сервере хранения, поскольку это CRM, добавляются новые клиенты, поэтому файлы будут загружены в / clients / {ID} / { ПРОЕКТ} / * например.

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

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

Основной сервер работает под управлением CentOS и управляется с помощью WHM / cPanel.

1 Ответ

0 голосов
/ 06 сентября 2018

Как уже упоминалось в комментариях, вы определенно не хотите использовать FTP. Это, вероятно, худшее решение.

Вообще говоря, серверное решение должно быть прозрачным, и если оба сервера работают под управлением ОС Unix, то NFS - типичный путь. Вот краткое руководство по настройке NFS в CentOS: https://www.howtoforge.com/tutorial/setting-up-an-nfs-server-and-client-on-centos-7/

Если по какой-то причине в будущем вы решите перенести хранилище в Amazon, то хорошие новости: он уже поддерживает NFS (и SMB в этом отношении), поэтому стоимость реконфигурации сведена к минимуму.

SMB хорош, если один из серверов работает под Windows. Также он предлагает большую гибкость в отношении доступа (примечание: IMHO в большинстве случаев более чем достаточно типичной схемы доступа Unix). Не сложно настроить, но он не является родным для Unix. Из-за того, что SMB медленнее, но если вам не нужна первоклассная производительность в реальном времени, это не будет проблемой (и, честно говоря, самой большой задержкой будет соединение между клиентом и сервером, а не сервер-сервер) Здесь вы найдете как графические, так и CMD инструкции по настройке SMB на CentOS: https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-samba-configuring.html

WebDAV универсален и имеет преимущество перед SMB, когда используется для доступа к файлам в сети с высокой задержкой (например, в облаке Amazon). WebDAV может иметь худшую производительность, чем SMB в локальной сети. Также он имеет ограничение размера файла 4 ГБ

...