我有一个提供FTP空间的网站。 这对主要网站来说是次要的function,但却是一个受欢迎的function。 我使用ProFTPd和MySQL,很好地将用户设置在他们的主目录中,并locking它们等。为了安全起见,它还给用户FTP访问。
我现在遇到的麻烦是缩放。
我的4tb服务器空间不足,需要将FTPstream量卸载到多台服务器上。 不过,我似乎已经在各种情况下遇到了绊脚石。
scheme1:我只运行多台服务器,并在每台服务器上分配单独的用户FTP空间。 优点包括在主服务器上的stream量不是瓶颈,但是如果驱动器上只剩下100GB,则不允许用户A(例如)升级到500GB的存储。 (可能会发生)。
场景2:运行GlusterFS之类的东西,创build一个服务器池作为分布式文件系统,并将我的用户目录作为Gluster客户端挂载到主服务器上。 我看到的缺点是,如果将来有50台FTP服务器(也许),那么所有50台服务器都会将stream量指向我的一台主服务器,瓶颈将是巨大的。
场景3:使用类似S3FS的东西,只需安装一个或多个桶。 优势在于无限可扩展性,但缺点包括以上瓶颈和来自AWS的惊人带宽账单。
有没有人可以为我描述的场景提出一条“最佳路线”。 忘记现有的客户端,我很高兴地移动一个数据库中的数据和目录条目,如果这意味着我可以得到一个工作模型。 我只是没有意识到它会变得stream行,所以没有给它一个很大的先进的想法。
所以理想情况下,我期望做的是能够像现在一样从PHP创buildFTP用户和配额,创build主目录并locking用户,但是能够添加额外的服务器(有冗余),可以很好的扩展而不是瓶颈。 而且,如果通过SSH的SFTP可以添加到所有这些,那将是一个天堂般的结果。
我可以单独完成上述所有事情,但似乎无法find适合我所有需求的解决scheme。
您的帮助和build议将不胜感激。