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

戴尔PE 2900:Xeon 5110 – 2P,12 GB RAM,8x 300 GB 15K硬盘,Perc 5i + 256 MB高速caching

在服务器和主机上需要多less额外的h / w? 1GB以太网卡,1GB交换机?

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

什么是软件推荐? OpenSolaris的? Nexenta社区版? FreeNAS的?

欣赏指南,教程的任何链接。

马鲁蒂

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

如果需要性能,请使用您拥有的八个磁盘创build4个镜像的vdev。

为了获得更好的性能,请将两个镜像的SLC SSD用作日志设备,将另外一个SSD用作caching。

对于ZFS来说,有多种因素会影响整体成本,性能和您对所build系统的满意度。

支持如果您在遇到问题时不能自己动手,可以拨打电话给他,那么可以购买Sun 7000 Unified Storage设备。 他们有点贵,但你得到你所支付的。 高品质的硬件,最近的OpenSolaris代码在一个设备forms…哦,分析死亡。 这是您从Oracle购买OpenSolaris支持的唯一方式,并且您已经拥有相对较强的口碑,可能是值得的。 (这是我的工作)

软件由于Solaris 10没有ZFSfunction(重复数据删除,非镜像ZIL,COMSTAR iSCSI / FibreChannel目标等),所以您希望基于OpenSolaris位运行某些function。 由于OpenSolaris本身已经死亡,Illumos还没有完整的发行版,所以请考虑Nexenta。 它基本上是OpenSolaris Kernel + Debian用户空间(apt)。 Nexenta核心平台免费无限制使用,但如果您愿意支付费用,请考虑使用NexentaStor,尽pipe我不是每TB的$$(永久许可证起价为800美元+ 75美元/ TB)的粉丝。

MIRRORED与RAIDZ1 / RAIDZ2基本上,考虑到相同数量的驱动器,IOPS和容量之间的矛盾。 大磁盘(1-2TB),如果你决定镜像太贵,肯定会用双重奇偶校验(RAIDZ2)重build时间与多TBarrays可以很容易地超过一天。 (更多: ZFS:镜像与RAID-Z ) 不要忘记冗余!=备份。

驱动程序我build议您考虑从服务器机箱中取出存储空间。 SuperMicro提供了一些不错的例子,但不可避免的是,你需要更多的存储空间,而不是像你的情况那样,为什么不从一个体面的SAS机箱开始,在扩展时购买另外一个。 我会在10k-15k SAS驱动器上购买7200RPM SATA驱动器,而更多的镜像主轴或者ZFS驱动器的性价比更高。

内存购买大量内存。 如果您想考虑重复数据删除,则最小为12-16GB,是双倍/三倍。

固态硬盘如果您使用iSCSI或NFS来存储虚拟机,那么肯定要购买ZIL的高端设备来加速同步写入(参见: 我对前一个问题的回答 )。 为L2ARC购买一个/多个体面的MLC固态硬盘作为辅助读caching; 如果您正在进行重复数据删除,则需要足够大的L2ARC固态硬盘以适合重复数据删除表。

configuration ZFS可以像在大多数环境中创build目录一样简单地进行文件系统的精简configuration。 zfs create -V 40g pool/fsname然后zfs set shareiscsi=on pool/fsname ,你就完成了。 使用快照“zfs snapshot pool / fsname @ snapname; zfs克隆池/ fsname @ snapname池/ newfsname“。 这些操作很快(0 – 5秒)。

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

由于Perc6不支持直接将磁盘作为一堆磁盘( 讨论 )来传递,所以必须创build8个单磁盘RAID 0arrays。 使用两个镜像对,并在那里安装根卷。 在第一次启动后,通过运行zpool create poolName mirror c0t0d0 c0t1d0 mirror c0t2d0 c0t3d0 mirror c0t4d0 c0t5d0 (通过查看'format'命令的输出replace您的diskid),将剩余的6个作为条带化的一组3个镜像对(认为是RAID10)。 注意:由于在重新启动后丢失的磁盘(因此关联的RAID0集)丢失,PERC可能会重新编号,因此您应该注意驱动器序列号/ cXtXdX /插槽和文档/标签。 希望你永远不会需要它,但拥有这些信息意味着,如果你不得不迁移磁盘或者禁止恢复,那么这个信息就不那么痛苦了。

在收购Oracle之前,我肯定会推荐使用Nexenta核心平台的OpenSolaris,但是现在我已经开始倾向Nexenta CP。 自从2010年3月发布OpenSolaris b134以来,它们基本上是唯一继续进行定期更新的人员。迁移您的ZFS池是可能的,但仅取决于磁盘版本上的ZFS,您可以在池创build时指定它( 讨论,请参阅第3版msg ) 。 我从来没有使用过FreeNAS或EON,所以不能评论他们。

至于NFS和COMSTAR iSCSI,你应该用巨型帧来testing千兆位。 AFAIK,OpenSolaris / Nexenta不支持NIC的硬件TOE,但是如果你在VMWare端拥有启用了TOE的NIC,它们将减lessiSCSI的CPU开销。 您可以使用直接电缆交叉testing,但对于多主机,您将需要支持巨型帧的千兆位交换机(最佳为在Layer3交换机上使用iSCSI优化的VLAN)。 如果你有一个光纤卡testingCOMSTAR光纤通道的目标。

为了充分利用ZFS(HDD + SSD)的混合存储function,我会在没有专门的ZIL设备的情况下模拟您的使用情况,并查看性能是否足够好(条带化/镜像15k SAS磁盘可能就足够了)。 如果没有,则使用一个/多个非生产虚拟机设置,暂时禁用ZIL并再次测量性能。 如果你的性能好得多,那么ZIL就是你的设置的瓶颈,一个专用的ZIL设备是值得的。 DDRDrive X1 ($ 2000,$ 1500 .edu)专为ZIL使用,而不是驱动器托架使用PCI-E x1插槽。 或者,您可以考虑使用两个非冗余的2.5英寸SATA SSDreplace您的镜像启动盘。 一个专门为ZIL使用的超级电容支持的固态硬盘( Vertex2Pro 32GB $ 435)和一个体面的MLC固态硬盘(如Intel X25-M 80GB $ 230)分成一个小的分区用于root,其余用于L2ARC。 ZFS ARC使用了更多的RAM,但是12GB应该足以启动。

我将留下基准testing工具的build议给另一个问题(严重依赖于您的存储 – >虚拟path,客户操作系统和工作负载),但DTrace探针可以产生大量有用的数据,尽pipe学习曲线(这是Sun 7000系列分析照)。 两个最后的笔记,开始之前更新你的PERC6固件和BIOS,如果你得到一个L2ARC的固态硬盘,它可能需要几个小时才能变热,所以不要冷静。

没有需要RAID硬件… RAID是必不可less的;)
超微有一个不错的8端口SATA卡(没有RAID),得到了solaris的支持。

关于DIY,看看这里:
http://www.greenm3.com/2009/10/opensolaris-green-home-server-low-power-and-small.html

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

作为关于FreeNAS,FreeBSD和ZFS的最后版本的其他答案的补充(我现在不能在线程中发表评论)。

FreeBSD 9(beta1现在)将支持ZFS v28 http://hub.opensolaris.org/bin/view/Community+Group+zfs/28