使用SSD构build高性能文件服务器作为caching

我想build立一个文件服务器,为用户提供大约50TB的内容。 为了最大限度地提高服务器的吞吐量,我将利用以下scheme。

  • 50 TB的硬盘存储空间。 所有的静态文件都驻留在这里。
  • 6 TB的SSD存储。 这将作为最受欢迎内容的caching
  • 一个cachingpipe理器,决定什么应该驻留在硬盘或SSD。

基于这种架构,最stream行的文件被复制到SSD驱动器,并从那里服务。 cachingpipe理器是一个定制的软件,根据我的应用程序特点而devise。

关于这个计划,我有几个问题。

  1. 我应该担心SSD的写入限制吗?
  2. 有什么caching框架,我可以使用写我的专用cachingpipe理器,根据我自己的规则?

虽然ZFS可以做到这一点,就像ewwhite说的,另一种解决scheme可能是bcache 。 我在完全不同的情况下使用(我的笔记本电脑使用2TB硬盘和128GB固态硬盘,使用bcache可以使Civ V加载更好;-)),但效果非常好。

根据您如何提供文件,您可能还想考虑使用SSD作为caching存储设置的Varnish 。

关于使用自己的规则,不要这样做。 许多聪明的人已经在这个问题上工作,你想站在他们的肩上,恕我直言。

根据您期望最常用的内容改变的频率,我不会担心SSD写入性能。 或者将您的SSD放在RAID10arrays中,以获得更高的性能。 而且,添加大量的RAM,所以文件也可以caching在内存块caching中的内核中。

我猜这全都假设是Linux机器。

不要重新发明轮子。 使用ZFS 。

但是,您还有其他架构问题,例如networking,调优和客户端系统。 描述这种情况以及你现在拥有的内容也可能是有帮助的。