基于 ZFS 的 DIY 存储系统的硬件建议

基于 ZFS 的 DIY 存储系统的硬件建议

希望利用闲置的旧服务器作为概念验证……以下是规格 Dell PE 2900:Xeon 5110 - 2P、12 GB RAM、8x 300 GB 15K 驱动器、Perc 5i+256 MB 缓存

服务器和主机上需要什么额外的硬件?1GB 以太网卡,1GB 交换机?

有 4 个 ESX 服务器可以连接到该存储服务器(iSCSI 或 NFS)

有什么软件推荐?Opensolaris?Nexenta 社区版?FreeNAS?

感谢任何指南、教程的链接。

马鲁蒂

答案1

安装 OpenSolaris (b134) 的最新开发版本。

如果您想要性能,请使用现有的八个磁盘创建 4 个镜像 vdev。

为了获得更好的性能,请使用两个镜像 SLC SSD 作为日志设备,并使用额外的 SSD 作为缓存。

答案2

对于 ZFS,有许多因素会影响总体成本、性能以及您对所构建的系统的满意度。

可支持性 如果您需要在遇到问题时能够打电话给某人,请不要自己动手,而是购买 Sun 7000 统一存储设备。它们有点贵,但物有所值。高品质硬件,带有最新的 OpenSolaris 代码(设备形式)……哦,还有令人垂涎的 Analytics。这是您从 Oracle 购买 OpenSolaris 支持的唯一方式,如果您的钱比较多,请与您的 Oracle 代表谈谈,这可能是值得的。(这是我在工作中遇到的情况)

软件由于 Solaris 10 没有出色的尖端 ZFS 功能(重复数据删除、非镜像 ZIL、COMSTAR iSCSI/FibreChannel 目标等),因此您需要运行基于 OpenSolaris 位的某些东西。由于 OpenSolaris 本身已经死亡,并且还没有围绕 Illumos 的完整发行版,因此请考虑 Nexenta。它基本上是 OpenSolaris 内核 + Debian 用户空间 (apt)。 Nexenta 核心平台可以免费无限制使用,但如果你愿意为支持付费,可以考虑NexentaStor虽然我并不喜欢每 TB 的价格(永久许可证起价为 800 美元 + 75 美元/TB)。

镜像与 RAIDZ1/RAIDZ2 基本上,在驱动器数量相同的情况下,IOPS 和容量之间会存在矛盾。对于大磁盘 (1-2TB),如果您认为镜像成本太高,则一定要使用双奇偶校验 (RAIDZ2),因为使用多 TB 阵列重建时间很容易超过一天。(更多:ZFS:镜像与 RAID-Z)不要忘记冗余!=备份。

驱动器我建议您考虑将存储从服务器机箱中分离出来。SuperMicro 制造了一些不错的机箱,但您不可避免地会想要比机箱中更多的存储空间,为什么不先买一个不错的 SAS 机箱,然后在扩展时再买一个呢。我会购买 7200RPM SATA 驱动器,而不是 10k-15k SAS 驱动器,更多或镜像主轴的性能将优于使用 ZFS 的快速昂贵磁盘,而且价格相同。

记忆购买大量内存。至少 12-16GB,如果要考虑重复数据删除,则需要将其增加一倍或三倍。

固态硬盘如果您使用 iSCSI 或 NFS 作为虚拟机存储,一定要购买 ZIL 的高端设备来加快同步写入速度(请参阅:我对上一个问题的回答)。为 L2ARC 购买一块/多块合适的 MLC SSD 作为辅助读取缓存;如果您正在进行重复数据删除,那么您将需要足够大的 L2ARC SSD 来容纳您的重复数据删除表。

配置ZFS 使文件系统的精简配置变得像在大多数环境中创建目录一样简单。zfs create -V 40g pool/fsname然后zfs set shareiscsi=on pool/fsname您就大功告成了。使用快照“zfs snap pool/fsname@snapname; zfs clone pool/fsname@snapname pool/newfsname”克隆现有系统同样简单。这些操作很快(0 - 5 秒)。

2010 年 7 月 10 日更新,反映如何使用硬件的建议:

由于 Perc6 不支持直接将磁盘作为一组磁盘传递(讨论),您必须创建 8 个单磁盘 RAID 0 阵列。使用两个作为镜像对,并在其中安装根卷。在第一次启动后,通过运行将剩余六个用作 3 个镜像对的条带集(想象 RAID10)zpool create poolName mirror c0t0d0 c0t1d0 mirror c0t2d0 c0t3d0 mirror c0t4d0 c0t5d0(通过查看“format”命令的输出替换您的磁盘 ID)。注意:由于如果重新启动后出现故障的磁盘(以及相关的 RAID0 集)丢失,PERC 可能会重新编号,因此您应该记下驱动器序列号/cXtXdX/插槽并相应地记录/标记。希望您永远不需要它,但拥有这些信息意味着如果您必须迁移磁盘或禁止执行恢复,它会变得不那么痛苦。

在 Oracle 收购之前,我肯定会推荐 OpenSolaris 而不是 Nexenta Core Platform,但现在我绝对倾向于 Nexenta CP。自 2010 年 3 月发布 OpenSolaris b134 以来,他们基本上是唯一持续定期更新的人。在两者之间迁移 ZFS 池是可能的,但仅取决于磁盘上的 ZFS 版本,您可以在创建池时指定该版本(讨论,见第三条消息)我从未使用过 FreeNAS 或 EON,因此无法对它们发表评论。

至于 NFS 与 COMSTAR iSCSI,您应该使用巨型帧在千兆位上测试两者。据我所知,OpenSolaris/Nexenta 不支持 NIC 的硬件 TOE,但如果您在 VMWare 端拥有启用 TOE 的 NIC,它们将减少 iSCSI 的 CPU 开销。您可以使用直接有线交叉进行测试,但对于多主机,您需要一个支持巨型帧的千兆交换机(最好是第 3 层交换机上的 iSCSI 优化 VLAN)。如果您有光纤卡,也请测试 COMSTAR 光纤通道目标。

为了充分利用 ZFS(HDD + SSD)的混合存储功能,我会在没有专用 ZIL 设备的情况下模拟您的使用情况,看看性能是否足够好(条带化/镜像 15k SAS 磁盘可能就足够了)。如果不是,使用一个/多个非生产VM 设置,暂时禁用 ZIL 并再次测量性能。如果您的性能好得多,那么 ZIL 就是您的设置的瓶颈,专用的 ZIL 设备是值得的。DDR 驱动 X1($2000,$1500 .edu) 专为 ZIL 设计,仅使用 PCI-E x1 插槽而不是驱动器托架。或者,您可以考虑用两个非冗余 2.5 英寸 SATA SSD 替换镜像启动盘。专用于 ZIL 的超级电容器支持的 SSD(Vertex2Pro 32GB435 美元)和一个不错的 MLC SSD(例如英特尔 X25-M 80GB$230),其中一个小分区用于根目录,其余分区用于 L2ARC。ZFS ARC 充分利用了更多 RAM,但 12GB 应该足够启动。

我将把基准测试工具的建议留给另一个问题(很大程度上取决于您的存储->虚拟机路径、客户操作系统和工作负载),但 DTrace 探测器可以产生大量有用的数据,尽管学习曲线很陡峭(这是 Sun 7000 系列分析的亮点)。最后两点说明,在开始之前更新您的 PERC6 固件和 BIOS,如果您为 L2ARC 购买了 SSD,它可能需要几个小时才能变热,所以不要只是在冷台上工作。

答案3

尝试一下 SUN 的这个食谱...啊...Oracle:

http://developers.sun.com/openstorage/articles/opensolaris_storage_server.html

答案4

等待重复数据删除出现在 FreeNAS 的 ZFS 上... 当发生这种情况时,RAM 要求可能会变得更加合理。

相关内容