可扩展存储

我正在开发一个Web应用程序服务,并期望扩展我们的内部服务器。

我们目前的服务器有大约1TB的存储容量。 用户创build每天添加到我们的数据库〜10GB的数据。

正如你所看到的,我们目前的速度,我们只能够维持这个存储增长约100天。 我们预计不久的将来数据创造速度将放缓。 由于信息的性质,我们不打算使用商业云存储(aws,谷歌,微软,软件等)

我们希望构build一个可以不断扩展的服务器基础架构(超过100TB的限制)。 这将是一个渐进的过程,并将跨越多个4U服务器机架。

我的问题是,如果不过度复杂化我们的软件,那么标准的做法是什么? 我已经研究过ZFS和openNAS,但是在集中和不断扩展存储方面似乎有限制。

构build可以不断扩展以支持存储需求的同构存储架构的最佳方法是什么?

即使从我有限的经验,我应该说,你的问题是不明确的。 例如,您不要谈论负载,延迟和带宽要求。 查看更多的问答网页: 你可以帮助我进行容量规划吗?


我的经验是为我们的实验室build设和pipe理140TB(以及不断增长的80TB主+ 60备份)存储。 我们用它作为研究数据的存储(主要是成像数据,一些基因组学,没有数据库)。 系统由两台服务器组成,位于不同的服务器机房,devise为可扩展。 请把我写的东西写成一粒盐。

我们的服务器运行FreeBSD和ZFS, 带有SAS扩展器的4U盒子 。 每个盒子里塞满了4-5TB的驱动器。 备份更新,并有12x5TB驱动器,configuration为RAID6又名RAIDZ2。

可扩展性通过两条途径实现:

  1. 每个Z池(例如12x5TB)可以通过并行添加额外的12个HDD来扩展。 伎俩是,我们必须增加驱动器到60TB大块的存储,我们不能(AFAIK)增加30TB和六个月后额外的30TB。 如果您对ZFS感兴趣,那么我们应该阅读术语(许多网站,包括Oracle和FreeBSD的 )
  2. 通过使用SAS,我们可以通过单电缆连接到主机箱的HBA / RAID卡,轻松添加额外的4U JBOD盒 ,最多可以有45个驱动器插槽。

所以,从我所知道的:

  • 当在服务器级硬件上运行时,ZFS可以成功使用,几乎不需要监督来托pipe100TB的数据和自动的异地备份
  • 如果满足带宽要求,使用SAS扩展器可以轻松扩展ZFS存储
  • 扩展能力不是“平滑的”,因为如果你在20TB的块中configuration你的zpool,你将不得不在20TB或更大的块中添加驱动器。 如果您运行某种RAID6 / 7,您不能只购买1TB硬盘并将其插入。 在RAID10的情况下,你可以做到这一点,因为你“块”本质上是1或2驱动器

更新

目前的系统带宽限制如下:

  1. 通过铜缆以太网1Gbps(整个校园)或10Gbps(机架内)
  2. 使用硬盘的RAID60arrays:nx 160MB / s(4xconfiguration是〜5Gbps)
  3. 采用4×12 = 48 Gbps的SAS3协议(使用SAS3 4x电缆将背板连接到HBA)

正如您所看到的,我们目前受到1Gbps以太网的限制,如果我们在机架(存储分析服务器)内部工作,我们会受到服务器吞吞吐量5Gbpsstream的限制。 我们的数据主要是大文件(5-500GB),所以我不确定IOPS。 为了提高带宽,我们需要在build筑物内安装光纤(我们的实验室和服务器机房位于不同的楼层),然后受到RAID60arrays速度的限制。 然后,我们要么增加额外的条纹,要么build立基于SSD的存储。 这个系统是build立在工作,而不是基于USB3的硬盘,它击败。