我如何build立一个文件服务器,我们可以在Linux中增量增长?

我在一个有限的预算和不断增长的存储需求的科学实验室工作。 一年前,我们需要2-3TB的存储空间,今天我们需要13+ TB,这个数据量足以满足我们当前的服务器(linux,raid 6和9个驱动器)的需求,而且只会继续增长。 文件是巨大的 – 每个50GB +。

我想build立一个服务器:

a)可以处理不均匀的磁盘大小,所以我们可以用较大的驱动器replace旧的驱动器,因为它们在市场上可用。 b)在创build初始“卷”之后,可以处理添加的磁盘(可能比任何其他磁盘都大)。 理想的情况下,我只想在一个热开关湾里开车,把它做成音量的一部分。 b)具有冗余function,可以处理多个磁盘故障。 d)快速'fscking'。 上次我们目前的服务器做了这个,花了很长时间才恢复。

我可以做(a)和(b)RAID吗? 我知道我可以从大小不一的磁盘中分割相同大小的RAID分区,但是我不想进入具有多个RAIDarrays的微操作分区业务。 ZFS是一个选项吗? (FreeBSD也可以接受。)

性能,说实话,是不是一个问题。 它只会将静态内容存储和提供给less数研究人员。 我们的局域网是1Gbit,而我们的广域网只有100Mbit。

任何和所有的build议欢迎。

我会推荐使用基于ZFS的解决scheme,但运行专用操作系统( NexentaStor ),而不是尝试在系统上运行其他应用程序。 这使您可以灵活地将存储视为设备,并消除应用程序依赖关系。 通过NFS或iSCSI导出到您的Linux系统。

您的其余需求已被ZFS解决scheme所覆盖。 你有预算build立吗?

我build议与集成商/合作伙伴一起,帮助devise一个强大的系统,并减轻任何缩放/长寿问题。 有机会,他们已经看到了像你一样的情况,或者处理过类似的要求。 但是,如果你自己去做,尽你的努力 ,避免别人犯的错误。

好的地方开始:

http://www.zfsbuild.com/

http://hardforum.com/showthread.php?t=1573272

http://www.nex7.com/readme1st

将您的存储需求从您的处理需求中分离出来。 你可以购买一个相对较低的价格(惠普P2000的便宜,如果你不购买他们完全填充,你可以扩展到6架3TB磁盘,为36×6 TB的存储RAW),如果你坚持iSCSI可以避免昂贵的HBA和光纤。 iSCSI还可以让你继续使用你当前使用的服务器作为你的文件服务器,它只是让你连接一堆磁盘。 你也可以看一下像MSA 2000这样的老式机型。 戴尔也有一些体面的产品。 然后,用一些初始磁盘(raid1为2,raid5或raid1e3,raid1 + 0或raid6取决于您的存储需求)连接到您的服务器。

在服务器上,使用LVM创build一个物理卷,然后在其上创build一个卷组/逻辑卷。 将来,您可以将额外的磁盘添加到SAN机箱,并将其添加为新的物理卷,然后展开逻辑卷。 然后,当您的SAN磁盘架的容量达到最大时,您只需添加另一个磁盘架就可以像第一个架一样增长。 我们将其用于许多存储系统。 一些仔细的计划可以帮助您避免在两个不同的货架上托pipe同一逻辑卷的数据(以防某些idjit决定通过连接两个san货架的电缆进行跳线)。

对于文件系统,ext3,ZFS,ext4都支持增加文件系统的大小。 但是,如果你曾经关心过,那么就需要缩小它,倾向于ext3。 这是更好的文件和支持。 这个解决scheme很简单,不需要顾问,并且允许你用你的数据集增长你的解决scheme。

你真的想从你的服务器删除存储,虽然如果你需要扩大这么多。

我认为ewwhite就在这里,对于这么大的东西,一个专门的,商业支持的电器是我想要的。

否则,你可以使用md来添加一些与Linux一起添加镜像驱动器对(两个驱动器必须是相同的大小,但可能与旧驱动器不同),然后使用LVM将通过从旧物理卷迁移逻辑卷和/或将它们生长到新的物理卷上,将新对添加到文件系统中。 冗余将是一个问题(你可能会失去一半的驱动器,但只有他们是正确的一半),但你会有更多的灵活性,增加新的驱动器和删除旧的驱动器。

…确保你有备份。

有一点要考虑的是,ZFS根本不支持去除vdevs。 这意味着,如果您不恰当地扩展您的arrays,或者您决定从RAID6切换到RAID10,那么您运气不好。 只要你的磁盘布局是固定的,并且你正在升级vdev中的每个磁盘(例如,镜像中的两个磁盘),我同意ZFS可能是一个很好的解决scheme。

BTRFS支持设备移除,相当于RAID10。 在过去的几年中,它也变得更加稳定了。

如果你愿意考虑使用Windows,Windows Storage Spaces实际上是一个相当不错的解决scheme,它需要将一堆异构磁盘放在冗余的服务器上,并使它们运行良好。