我在一个预算有限且存储需求不断增长的科学实验室工作。一年前我们需要大约 2-3 TB 的存储空间,今天我们需要 13+ TB 的空间来填满我们当前的服务器(linux,带有 9 个驱动器的 raid 6),而且它只会继续增长。这些文件很大 - 每个 50GB 以上。
我想构建一个服务器:
a) 可以处理不均匀的磁盘大小,因此我们可以在市场上出售旧驱动器时用更大的驱动器替换它们。b) 可以在创建初始“卷”后处理磁盘的添加(可能比任何其他磁盘都大)。理想情况下,我只想将驱动器放入热插拔托架中并使其成为卷的一部分。b) 具有冗余性,可以处理多个磁盘故障。d) 快速'fscking'。上次我们当前的服务器执行此操作需要很长时间才能恢复。
我可以使用 RAID 执行 (a) 和 (b) 吗?我知道我可以从大小不均的磁盘中划分出大小相等的 raid 分区,但我不想涉足对具有多个 raid 阵列的分区进行微观管理的业务。ZFS 是一个选项吗?(FreeBSD 也可以接受。)
老实说,性能并不是什么大问题。它只会为少数研究人员存储和提供静态内容。我们的 LAN 是 1Gbit 而我们的 WAN 只有 100Mbit。
欢迎提出任何建议。
我会推荐基于 ZFS 的解决方案,但运行一个专门构建的操作系统 ( NexentaStor ),而不是尝试在系统上运行其他应用程序。这使您可以灵活地将存储视为设备并消除应用程序依赖性。通过 NFS 或 iSCSI 导出到您的 Linux 系统。
ZFS 解决方案可以很好地满足您的其余要求。你有预算吗?
我建议与可以帮助设计稳健系统并缓解任何扩展/寿命问题的集成商/合作伙伴合作。他们很可能遇到过与您类似的情况或处理过类似的要求。但是,如果你自己去做,尽职调查并避免别人犯过的错误。
好的起点:
http://www.zfsbuild.com/
http://hardforum.com/showthread.php?t=1573272
http://www.nex7.com/readme1st
将存储需求与处理需求分开。您可以以相对较低的价格购买 san(HP P2000 很便宜,如果您不购买完全填充的它们,并且您可以将它们扩展到 6 个 3TB 磁盘架,用于 36x6 TB 存储 RAW),并且如果您坚持使用iSCSI 您可以避免昂贵的 HBA 和光纤。iSCSI 还可以让您继续使用当前用作文件服务器的服务器,它只是让您连接一堆磁盘。您还可以查看 MSA 2000 等旧型号。戴尔也有一些不错的产品。然后,使用一些初始磁盘将它连接到您的服务器(2 个用于 raid 1,3 个用于 raid 5 或 raid 1e,4 个用于 raid 1+0 或 raid 6,具体取决于您的存储要求)。
在服务器上,使用 LVM 从这些中创建一个物理卷,并在其上创建一个卷组/逻辑卷。将来你可以在SAN机箱中添加额外的磁盘,并将它们添加为新的物理卷,然后扩展逻辑卷。然后,当您的 SAN 磁盘架的容量达到最大时,您只需添加另一个带有几个磁盘的架子,并以与第一个架子相同的方式增长。我们将其用于我们的许多存储系统。一些仔细的计划可以帮助您避免将同一逻辑卷的数据托管在两个不同的架子上(以防某些 idjit 决定他们想要通过连接两个 san 架子的电缆绊倒)。
对于文件系统,ext3、ZFS、ext4 都支持动态增加文件系统的大小。但是,如果您担心需要缩小它,请倾向于 ext3。它有更好的记录和支持。此解决方案很简单,不需要顾问,并允许您使用数据集扩展您的解决方案。
如果你需要扩展它那么多,你真的想从你的服务器中删除存储。
我认为 ewwhite 就在这里,因为我会选择这种大型的、专用的、商业支持的设备。
否则,您可以将某些东西与 Linux 结合使用
md
以添加成对的镜像驱动器(成对的驱动器必须彼此大小相同,但可以与旧驱动器的大小不同),然后使用LVM
合并新的一对通过将逻辑卷从旧的物理卷中迁移出来和/或将它们增长到新的物理卷上,将它们添加到您的文件系统中。冗余将是一个问题(您可能会丢失一半的驱动器,但前提是它们是正确的一半),但是您在添加新驱动器和移除旧驱动器方面会有更大的灵活性。...只要确保你有备份。
需要考虑的一件事是 ZFS 根本不支持删除 vdev。这意味着,如果您不明智地扩展阵列,或者您决定要从 RAID6 切换到 RAID10,那么您就不走运了。只要您的磁盘布局是固定的并且您正在升级 vdev 中的每个磁盘(例如,镜像中的两个磁盘),我同意 ZFS 可能是一个很好的解决方案。
BTRFS 确实支持设备删除,相当于 RAID10。它在过去几年也变得更加稳定。
如果您愿意考虑使用 Windows,Windows Storage Spaces实际上是一个非常好的解决方案,可以解决需要在具有冗余的服务器中放置一堆异构磁盘并让它们正常运行的问题。