将存储服务器与前端服务器链接的最有效方法?

时间:2018-09-06 08:53:04

标签: php linux server storage transfer

首先,我要感谢您抽出宝贵的时间阅读本文。

因此,我目前正在做一些研究,并计划如何使此设置最有效。

我有一个主服务器,运行为客户制作的自定义CRM。客户端希望开始上传大文件,这将很快填充服务器磁盘。因此,这些文件需要保存在远程/备用服务器上,但也可以通过HTTP访问(显示在前端CRM上)。

我该如何解决类似的问题?

我曾考虑过使用FTP将文件传输到远程服务器,但这似乎是一个不必要的步骤,因为文件首先会上传到主服务器,然后再发送到辅助服务器。这是带宽和响应时间的两倍。

也许有一种方法可以将辅助服务器作为主服务器上的“网络位置”进行附加,然后在文件上传后将其移动到其上。

另一个可能出现的问题是,由于它是CRM,因此主服务器需要能够在存储服务器上动态创建目录,因此会添加新的客户端,因此文件将被上传到/ clients / {ID} / {例如PROJECT} / *。

我曾考虑过使用Amazon S3或其他云存储服务,但是客户端希望使用专用服务器进行存储。

另一种可能是,让用户直接上传到存储服务器,然后存储服务器将信息发送回主服务器,但不确定如何最好地工作。

主服务器正在运行由WHM / cPanel管理的CentOS。

1 个答案:

答案 0 :(得分:1)

正如评论中已经提到的那样,您绝对不希望使用FTP。那可能是最糟糕的解决方案。

通常来说,从服务器角度看,解决方案必须透明,如果两个服务器都在运行基于Unix的操作系统,则NFS是典型的解决方法。这是在CentOS上设置NFS的简短HowTo: https://www.howtoforge.com/tutorial/setting-up-an-nfs-server-and-client-on-centos-7/

如果将来由于某种原因您决定将存储转移到Amazon,那么好消息是它已经支持NFS(以及SMB),因此重新配置成本保持在最低水平。

如果其中一台服务器位于Windows上,则SMB很好。它还在访问方面提供了更大的灵活性(旁注:恕我直言,在大多数情况下,典型的Unix访问方案绰绰有余)。 两者都不难配置,但它不是Unix原生的。因此,SMB速度较慢,但​​是如果您不需要一流的实时性能,那将不是问题(坦白地说,最大的麻烦就是客户端到服务器的连接,而不是服务器到服务器的连接) 在这里,您可以在CentOS上找到SMB的图形和CMD配置说明: https://www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-samba-configuring.html

WebDAV具有通用性,当用于通过高延迟网络(例如Amazon云)进行文件访问时,具有优于SMB的优势。 WebDAV的性能可能比本地网络上的SMB差。而且文件大小限制为4 GB