如果你正在build立一个10TB文件档案的网站,主要是ISO映像(600MB-5GB),你将使用什么样的架构和存储?
我希望能够将交付容量从100个并发用户扩展到1000个用户,而不会浪费初始硬件(如果这是现实的话)。
我也希望能够以相同的方式将存储容量从10TB增加到100TB。
在这个阶段,我不能假设任何关于活动文件集的东西。 它最终可能只是一个可以caching在RAM中的文件,但也可能是95%的文件。
你会用DAS使用单一的面向公众的服务器吗?
你会使用像Sun 7410这样的分层存储,并通过SSDcaching模块扩展交付容量吗?
怎么样与像MogileFS和GlusterFS分布式文件系统的商品硬件?
什么是最好的方式来设置这样的事情,所以很容易成长?
对于类似的大小和可扩展性,我们使用3U超微型服务器 。 每个服务器可以容纳14个驱动器(主板上有14个集成SATA端口,所以我们不必购买RAID卡,机箱里有1个空位)。 每个驱动器通过AOE共享前端服务器。 我们有14个驱动器的RAID-10块(使用linux md),并且它们与LVM放在一起。
如果你不小心把raid-10的任何两个镜像驱动器放到同一个后端服务器上,那么这个系统是多余的,甚至可以承受一个完整的后端服务器的损失。
它很容易成长:只需要购买另一台服务器,build立RAID,将LVM扩展到它上面,然后就可以开始了。 我们使用支持在线resize的XFS 。
目前我们使用1TB和1.5TB硬盘,而且我们计划在未来使用2TB硬盘。 驱动器不需要全部大小相同,只要它们位于同一个raid块中即可。
为了您的需要,一台装有14x 1.5TB或2TB硬盘的服务器将是一个很好的开始。 你甚至不需要一个单独的前端服务器的启动。
我们的设置可以很容易地产生1Gb / s的吞吐量,我认为这对Web服务来说已经足够了。
如果你喜欢这个主意,我可以帮你提供更详细的信息。
编辑:
还有几件事情:
这是一些有点儿自制的穷人储存解决scheme。 如果你有预算,不想浪费你的时间,想争取一stream的企业级可靠性,那么你应该购买一些真正的SAN产品。 价格可以很容易地10-30倍,特别是如果你想要达到100TB或更高。 这并不意味着上述解决scheme无法正常工作,而是出于许多目的,SAN产品的额外价格并不值得。
关于后端速度:不幸的是我不能给出确切的数字或testing的测量。 但是我可以告诉你,即使是14个驱动器的一个raid-10块也是很快的 。 如果您需要更多的空间,您将使用更多的后端服务器,整体后端速度将进一步提高。 更重要的是,如果任何后端会遭受太多的并发用户(我怀疑),你可以从双向镜像转到三向甚至更多,从而提高速度,缩短时间,甚至提高可靠性。
关于前端速度:前端不必做比转发数据包更多的事情。 现代服务器应该很容易保持在10千兆比特/秒,所以它不会很快成为瓶颈。
如果你不想本地存储,那么我可以安全地推荐Nexsan SATABeast。 它可以容纳4个磁盘中的42个磁盘,从而可以为您提供最大40TB的原始存储(带有1个全局备份的RAID5)。 它同时具有光纤通道和iSCSI,可选双故障切换(主动/主动)双控制器。