这是我新的71 xb DIY NAS。这个服务器是我六岁时的继承者,二十岁的驱动器18tb NAS (17tib).它的存储容量是原来的四倍,读取(2.5 GB/s)/写入(1.9 GB/s)性能令人难以置信,是一个值得继承的产品。
目的
这台机器的用途是存储备份和媒体,主要是视频。
规格
部分 | 描述 |
---|---|
情况下 | Ri-vier rv - 4324 - 01 - a |
处理器 | Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz |
内存 | 16 GB |
主板 | 超微型计算机X9SCM-F |
局域网 | 英特尔千兆 |
存储连接 |
|
事业单位 | 季节性白金860 |
控制器 | 3 * IBM M1015 |
磁盘 | 24 * HGST HDS724040ALE640 4 TB (7200RPM) |
固态硬盘 | 2 x关键M500 120GB |
数组 | 启动方式:2 * 60gb RAID 1,存储方式:18盘RAIDZ2+ 6盘RAIDZ2 |
难看的存储 | 86 TiB (96 TB) |
清爽的存储 | 71 TiB (78 TB) |
操作系统 |
|
文件系统 | ZFS |
重建时间 | 取决于数据量(速率为4 TB/小时) |
联合包裹 | 备份rs1200液晶显示器使用Apcupsd |
用电 | 欧宝体育直播官网约200瓦闲置 |
CPU
英特尔Xeon E3-1230 V2不是最新一代的Xeon,但它是你能买到的最便宜的Xeon之一,它支持ECC内存。它是一个带有超线程的四核处理器。
在这里您可以看到它与其他处理器相比的性能。
内存
系统有16gb ECC RAM。现在内存相对便宜,但我没有任何理由升级到32gb。我认为8gb的内存对这个系统来说已经很好了。
主板
服务器是围绕SuperMicro X95SCM-F主板.
这是一个服务器级主板,并具有您可能期望的典型功能,如ECC内存支持和带外管理(IPMI)。
该主板在一个8x物理插槽中有4个PCIe插槽(2 x 8x和2 x 4x)。我的构建需要四个PCIe 4x+插槽,在这个价格点上没有(m)任何其他服务器板支持在一个8倍大小的插槽中有四个PCIe插槽。
底盘
底盘有六排四个驱动舱,保持凉爽的三个120毫米风扇在风扇墙后面的驱动舱。在表壳的后部,有两个“强大的”80mm风扇,与电源模块一起消除表壳的热量。
机箱有6个SAS背板,每个背板连接4个硬盘。背板有双molex电源连接器,因此您可以在机箱中添加冗余电源。冗余电源更昂贵,由于它们的尺寸,通常有更小的风扇,因此噪音更大。由于这是一个家庭建造,我选择了一个普通的电源模块。
当面向前方时,在机箱左侧有一个位置,可以并排安装一个3.5英寸或两个2.5英寸驱动器作为启动驱动器。我已经挂载了两个ssd (RAID1)。
这个特殊的机箱版本支持SPGIO,这应该有助于识别哪个驱动器发生了故障。我使用的IBM 1015卡确实支持SGPIO。通过LSI megaraid CLI,我已经验证了SGPIO的工作,因为您可以使用这个工具作为驱动器定位器。我不完全确定SGPIO与ZFS协同工作的效果如何。
电力供应
我以前用过海盗船860i,但它不稳定,在我身上死了。
对于这个系统来说,季节性白金860可能看起来有点过头了。但是,我没有对24个驱动器使用交错旋转。因此,所有驱动器都在一次启动,这导致峰值功率使用600+瓦。
电源模块有一个沉默模式,导致风扇只有在负载达到一定阈值时才旋转。由于电源风扇也有助于从机箱中去除暖空气,我已经禁用了这一功能,所以风扇一直在旋转。
驱动管理
我写了一个工具叫lsidrivemap在ASCII表中显示每个驱动器,反映机箱的物理布局。
数据是基于我的IBM 1015控制器的LSI 'megacli'工具的输出。
root@nano:~# lsidrivemap disk | SDR | SDS | SDT | SDQ | | sdu | SDV | SDX | SDW | | sdi | SDL | SDP | SDM | | SDJ | SDK | SDN | sdo | | SDB | SDC | sde | SDF | | sda | SDD | SDH | SDG |
这个布局是为我的机箱“硬编码”的,但Python脚本可以很容易地为你自己的服务器量身定制,如果你感兴趣的话。
它还可以显示同一表中磁盘驱动器的温度:
root@nano:~# lsidrivemap temp | 36 | 39 | 40 | 38 | | 36 | 36 | 37 | 36 | | 35 | 38 | 36 | 36 | | 35 | 37 | 36 | 35 | | 35 | 36 | 36 | 35 | | 34 | 35 | 36 | 35 |
这些温度表明顶部驱动器比其他驱动器运行得稍微热一些。一个未经证实的解释可能是三个120毫米的风扇不在风扇壁的中心。他们倾斜到墙的底部,所以他们可能倾向于较低的驱动海湾。
ZFS文件系统()
我使用ZFS作为存储阵列的文件系统。目前,还没有其他文件系统具有与ZFS相同的特性和稳定性。BTRFS甚至还没有完成。
ZFS的首要设计目标是确保数据完整性。ZFS检查和所有数据,如果使用RAIDZ或镜像,它甚至可以修复数据。即使它不能修复文件,它至少可以告诉您哪些文件损坏了。
ZFS主要关注的不是性能,但是为了获得最好的性能,它会大量使用RAM来缓存读和写。这就是为什么ECC内存如此重要。
ZFS还实现了RAID。因此,没有必要使用MDADM。我以前的文件服务器运行一个20 x 1TB驱动器的RAID 6。在这个新系统中,我用两个RAIDZ2 vdev创建了一个单独的池。
能力
厂商仍然宣传他们的硬盘在TB中的容量,而操作系统使用TiB。ob体育下载所以我使用的4 TB驱动器实际上是3.64 TiB。
系统裸存储总容量约为86tib。欧宝体育直播官网
我的zpool是vdev中“适当的”磁盘数量(2^n +奇偶校验^)。所以我有一个18盘RAIDZ2 VDEV(2^4+2)和一个6盘RAIDZ2 VDEV(2^2+2^)总共24个驱动器。
通常不建议在单个池中使用不同的VDEV大小,但是ZFS非常聪明和酷:它根据VDEV的大小在各个VDEV之间实现负载平衡。我可以用zpool iostat -v 5验证这一点,并实时见证这一点。与大型VDEV相比,小型VDEV只获得了一小部分数据。
这个选择让我的容量更少(71 TiB vs. 74 TiB RAIDZ3),而且使用18盘RAIDZ2 VDEV也有更多的风险。关于后一种风险,我在过去6年里一直在运行一个20盘的MDADM RAID6,没有发现任何问题。这并不能说明一切,但我愿意承担这种风险。
最初,我计划使用RAIDZ3,通过使用shift=9(512字节扇区),我将恢复VDEV中由于非最佳驱动器数量而损失的大部分空间。那我为什么改变主意了?因为我的4K驱动器上的shift=9池的性能恶化得如此之严重,以至于一个失败驱动器的恢复器将需要很长时间。
存储控制器
IBM 1015 HBA的价格合理,买三个,通常比只买一个带有SAS扩展器的HBA便宜。然而,它可能更便宜的搜索一个HP SAS扩展器,只使用一个M1015和节省一个PCIe插槽。
我没有像大多数人那样将控制器切换到“IT模式”。它们作为hba可以开箱即用,尽管启动系统可能需要稍长的时间,但我决定不这么麻烦。
这里的主要风险是,如果没有正确读取扇区,控制器如何处理驱动器。它可能会完全禁用驱动器,这对于ZFS来说是不必要的,通常也不是首选的。
存储性能
在一个机箱中有24个驱动器,看看您可以从系统中获得什么样的性能是很有趣的。
让我们从一个24个驱动器的RAID 0开始。我使用的驱动器的持续读写速度为160 MB/s,因此应该可以达到3840 MB/s或3.8 GB/s。那太棒了。
这是所有24个硬盘组成的RAID 0 (MDADM)的性能。
root@nano:/storage# dd if=/dev/zero of=test.bin bs=1M count=1000000 1048576000000 bytes (1.0 TB) copies, 397.325 s, 2.6 GB/s root@nano:/storage# dd if=test.bin of=/dev/null bs=1M 1048576000000 bytes (1.0 TB) copies, 276.869 s, 3.8 GB/s
你可能会说,说得很对,但如果你用276秒除以1tb,那更像是3.6 GB/s。我觉得还是很接近了。
这台机器将被用作文件服务器,稍微冗余一点就好了。那么,如果我们在所有驱动器的RAID6上运行相同的基准测试会发生什么呢?
root@nano:/storage# dd if=/dev/zero of=test.bin bs=1M count=100000 104857600000 bytes (105gb) copies, 66.3935 s, 1.6 GB/s root@nano:/storage# dd if=test.bin of=/dev/null bs=1M 104857600000 bytes (105gb) copies, 38.256 s, 2.7 GB/s
我对这些结果非常满意,特别是对于RAID6。但是,带有24个驱动器的RAID6感觉有点风险。因此,由于MDADM/Linux中不支持三奇偶校验磁盘RAID,所以我使用ZFS。
牺牲了性能,我决定(正如我前面提到的)在这些4K扇区驱动器上使用shift=9,因为我获得了大约5 TiB的存储空间。欧宝体育直播官网
这是一个shift=9的RAIDZ3 VDEV中24个驱动器的性能。
root@nano:/storage# dd if=/dev/zero of= ashhift9 .bin bs=1M count=100000 104857600000 bytes (105gb) copies, 97.4231 s, 1.1 GB/s root@nano:/storage# dd if= ashhift9 .bin of=/dev/null bs=1M 104857600000 bytes (105gb) copies, 42.3805 s, 2.5 GB/s
与其他结果相比,写性能下降了,尽管还不算太糟。
这是18盘RAIDZ2 + 6盘RAIDZ2 zpool (shift=12)的写性能:
root@nano:/storage# dd if=/dev/zero of=test.bin bs=1M count=1000000 1048576000000 bytes (1.0 TB) copies, 543.072 s, 1.9 GB/s root@nano:/storage# dd if=test.bin of=/dev/null bs=1M 1048576000000 bytes (1.0 TB) copies, 400.539 s, 2.6 GB/s
正如您可能注意到的那样,写性能比shift=9或shift=12 RAIDZ3 VDEV更好。
最后我选择了使用18盘RAIDZ2 + 6盘RAIDZ2的设置,因为性能更好,并且符合ZFS的标准。
我没有对随机I/O性能进行基准测试,因为它与这个系统无关。使用ZFS, VDEV的随机I/O性能相当于单个驱动器的性能。
引导驱动器
我使用的是两个关键M500 120GB SSD驱动器。它们被配置在RAID1 (MDADM)中,我在它们上面安装了Debian Wheezy。
起初,我打算将一部分容量用于与ZFS结合使用的缓存目的。然而,实际上没有必要这样做。事后看来,我也可以使用非常便宜的2.5英寸硬盘(类似于我以前的NAS),这将比一个M500的成本还要低。ob体育下载
更新2014-09-01:实际上,我重新安装了Debian,并在两台m500上保留了大约50%的空闲空间欧宝体育直播官网,并将这些空间放在一个分区中。这些分区已经作为L2ARC缓存提供给ZFS池。我这样做是因为我可以,但另一方面,我想知道我是否真的只是更快地消耗我的ssd。
更新2015-10-04:我不知道为什么我的ssd会因为L2ARC而磨损,所以我把它们从池中删除了。对我来说绝对没有好处。
组网(更新2017-03-25)
电流:已安装Mellanox MHGA28-XTC ib卡。我使用InfiniBand over IP,所以InfiniBand卡实际上是一个更快的网卡。我与另一台服务器有点对点连接,我没有ib交换机。
我从这张卡获欧宝体育直播官网得了大约6.5 Gbit的数据,这甚至还没有接近理论性能极限。然而,这转化为一个恒定的750 MB/s文件传输速度在NFS上,这是惊人的。
使用Linux绑定和四端口以太网适配器,我只能获得400 MB/s,传输速度波动很大。
原:也许我将来会投资10gb以太网或InfiniBand硬件,但目前我选择了四端口千兆适配器。使用Linux绑定,我仍然可以获得450 + MB / s数据传输,这足以满足我的需求。
四口卡是除了两个板载千兆网卡之外的。我使用其中一个机载端口进行客户端访问。四口卡上的四个端口都属于不同的vlan,客户端设备无法访问。
存储将通过NFS和SMB进行访问。客户端将通过一个机载千兆局域网接口访问存储。
保持冷静和安静
将驱动器温度保持在可接受的水平是很重要的,24个驱动器放在一起会增加过热的风险。
底盘配备齐全,以保持驱动器冷却,三个120mm风扇和两个强大的80mm风扇,所有支持PWM(脉宽调制)。
问题是默认情况下,BIOS以过低的速度运行风扇,以使驱动器保持在合理的温度。我想把硬盘温度保持在40摄氏度左右。欧宝体育直播官网但我也想把噪音保持在合理的水平。
我写了一个python脚本叫做storagefancontrol它会根据最热的驱动器的温度自动调整风扇速度。
联合包裹
我在运行一个HP N40L微服务器作为我的防火墙/路由器。我的APC backup - ups RS 1200 LCD(720瓦)通过USB连接到这台机器上。我正在使用apcupsd监控UPS,如果电池电量不足就关闭服务器。
所有服务器,包括我的新构建,都在网络模式下运行apcupsd,并与N40L交谈,以了解电源是否仍然正常。
保持合理的功耗
这些是电力使用数据。
96瓦,圆盘向下旋转。176瓦,磁盘旋转但空闲。253瓦,磁盘写入。
编辑2015-10-04:我确实有一个未解决的问题,就是硬盘一直在转,即使盒子上的所有服务都被杀死了,包括Cron。所以它的配置使驱动器一直在旋转。/结束编辑
但最重要的数据是,如果断电,它将使用0瓦。只有在必要时,系统才会通过唤醒网络(wake-on-lan)开启。它大部分时间都是关机的,比如我工作或睡觉的时候。
成本
这套系统花了我大约6000欧元。欧宝体育直播官网以下所有费用均以欧元计算,含税(21%)。
描述 | 产品 | 价格 | 量 | 总计 |
底盘 | 瑞维4U 24舱存储底盘RV-4324-01A | 554 | 1 | 554 |
CPU | 英特尔至强E3-1230V2 | 197 | 1 | 197 |
Mobo | 超微型计算机X9SCM-F | 157 | 1 | 157 |
内存 | 金士顿DDR3 ECC KVR1333D3E9SK2/16G | 152 | 1 | 152 |
事业单位 | AX860i 80Plus白金 | 175 | 1 | 175 |
网卡 | NC364T PCI快速四端口千兆 | 145 | 1 | 145 |
HBA控制器 | IBM serveraid m1015 | 118 | 3. | 354 |
ssd | 关键的M500 120GB | 62 | 2 | 124 |
风扇 | Zalman FB123 Casefan支架+ 92mm风扇 | 7 | 1 | 7 |
ob体育下载 | 日立3.5 4TB 7200RPM (0S03356) | 166 | 24 | 3984 |
SAS电缆 | 25 | 6 | 150 | |
风扇电缆 | 6 | 1 | 6 | |
Sata-to-Molex | 3、5 | 1 | 3、5 | |
莫仕分配器 | 3. | 1 | 3. | |
6012 |
关闭的话
如果你有任何问题或意见,可以自由地留下评论,我很感激。欧宝体育直播官网
评论