我们最近设置的文件共享存储配置出现了一些问题。我们最近开始使用NAS (1x24TB)来提供视频流服务。我们设置了9台前端服务器,使用NFS与NAS通信,我们遇到了问题。因为对文件的请求太多,并且只有“1个物理”驱动器,NAS服务器出现了问题,与所有请求保持一致,从而给我们留下了IO问题。
在任何情况下,我们已经决定要更改到不同的配置,因为NAS设置不是很好地为我们工作。我想它不是理想的数百个随机文件下载。
寻找另一种解决方案。我们想要设置两个4服务器集群,并在每个集群上使用gluster,但我不认为这是最好的解决方案。我们还想要在一个由8台服务器组成的集群上设置游戏厨师,无论怎样,我们都需要使用nginx来服务器文件,而这是不能用杂志社做的。
有人能为提供冗余和可伸缩性的更大范围文件共享服务推荐一些想法吗?我不是专家,这是我第一次尝试配置这么大的东西。
发布于 2011-10-27 02:52:11
另一个值得考虑的配置是让9 nginx服务器使用proxy_cache设置来保存文件的副本,以便从服务器本地磁盘为同一文件提供第二个请求。您可以将此缓存设置为有限大小,并将文件存储在有限的时间内。这将减少NFS服务器上的负载,并且不需要将数据复制到每个节点。
一旦文件是本地的,您还可以使用OS的sendfile特性,它允许内核接管将数据发送到套接字,而不是让nginx来完成它,这大大提高了性能,但不推荐使用NFS。
发布于 2011-10-27 05:29:38
你最好看看光泽 + DRBD。第一个可能会提供您想要的可伸缩性。我想到DRDB只是因为块设备级别的冗余。虽然我还没有测试过这个设置,我也不能对它的性能说太多。让我知道你的改进。
发布于 2011-10-27 10:58:46
你问题的题目与你所要求的没有什么关系。
使用共享文件系统,您将遇到可伸缩性问题--您可以通过使用SAN (即使它只有10 or )来推迟这成为问题的点,但是对于您的应用程序来说,只有很少的写操作和(可能的)更新只需要接近实时,而不是原子化,我建议您使用分布式对等文件系统或复制的文件系统。
AFAIK,有用于ptp文件系统的现成解决方案的有限的选择,但是在您的应用程序中实现这一点非常简单。
复制的文件系统是更为成熟的技术-- AFS现在在Linux中是标准的。
https://serverfault.com/questions/325103
复制相似问题