如果您要建立一个 10TB 的文件存档站点,主要是 ISO 映像(600MB-5GB),您会使用什么样的架构和存储?
我希望能够将交付能力从 100 个并发用户扩展到 1000 个用户,而不会浪费最初的硬件(如果这是现实的话)。
我还希望能够以同样的方式将存储容量从 10 TB 增加到 100 TB。
目前我无法对活动文件集做出任何假设。它可能最终只是一个可以缓存在 RAM 中的文件,但也可能是档案的 95%。
您会使用带有 DAS 的单一面向公众的服务器吗?
您会使用像 Sun 7410 这样的分层存储并使用其 SSD 缓存模块扩展传输容量吗?
那么具有像 MogileFS 和 GlusterFS 这样的分布式文件系统的商品硬件怎么样?
建立这样的系统以使其易于发展的最佳方法是什么?
答案1
为了获得类似的大小和可扩展性,我们使用3U超微服务器。每台服务器可容纳 14 个驱动器(主板上有 14 个集成 SATA 端口,因此我们不必购买 RAID 卡,机箱中还有 1 个空插槽)。每个驱动器通过以下方式共享群攻用于前端服务器。我们有 14 个驱动器的 RAID-10 块(带有 linux md),它们与逻辑卷管理器。
如果您小心不要将 raid-10 块的任何两个镜像驱动器放入同一个后端服务器,那么这个系统是冗余的,它甚至可以承受整个后端服务器的丢失。
很容易扩展:只需购买另一台服务器,构建 raid,将 lvm 扩展到它上面,就可以开始了。我们使用西弗斯支持在线调整大小。
目前我们使用 1TB 和 1.5TB 的硬盘,未来计划使用 2TB 的硬盘。硬盘不需要大小相同,只要它们位于同一个 RAID 块中即可。
就您的需求而言,一台装有 14 个 1.5TB 或 2TB 驱动器的服务器将是一个不错的开始。您甚至不需要单独的前端服务器即可开始。
我们的设置可以轻松产生 1Gb/s 的吞吐量,我认为这对于网络服务来说已经足够了。
如果您喜欢这个想法,我可以为您提供更详细的信息。
编辑:
还有几件事:
这是一种自制的穷人存储解决方案。如果您有预算,不想浪费时间,并且想要获得一流的企业级可靠性,那么您可能应该购买一些真正的 SAN 产品。价格很容易高出 10-30 倍,特别是如果您想要 100TB 或更多。这并不意味着上述解决方案不起作用 - 它确实有效,而且我认为对于很多目的而言,SAN 产品的额外价格是不值得的。
关于后端速度:遗憾的是我无法给出确切的数字或测试测量值。但我可以告诉你,即使是 1 个由 14 个驱动器组成的 raid-10 块快速地。如果您需要更多空间,您将使用更多后端服务器,并且整体后端速度将进一步提高。此外,如果任何后端会受到过多并发用户的影响(我对此表示怀疑),您可以从双向镜像升级到三向甚至更多,从而提高速度、寻道时间甚至可靠性。
关于前端速度:前端不需要做太多事情,只需要转发数据包即可。现代服务器应该可以轻松保持 10gigabits/s 的速度,因此它不会很快成为瓶颈。
答案2
如果您不需要本地存储,那么我可以放心地推荐 Nexsan SATABeast。它可以在 4U 机箱中容纳 42 个磁盘,从而可以为您提供最大 40TB 的原始存储(RAID5 和 1 个全局备用)。它同时具有光纤通道和 iSCSI,并可选择具有故障转移(主动/主动)的双控制器。