找回密码
 加入我们
搜索
      
查看: 38373|回复: 35

[NAS] 便宜就对了--垃圾佬组建八盘万兆高性能NAS

[复制链接]
发表于 2020-1-6 17:31 | 显示全部楼层 |阅读模式
本帖最后由 yaoyuanzy 于 2020-1-8 11:33 编辑

一直有个梦想,整一个高性能的IPSAN给虚拟化的测试环境提供iscsi的存储服务,终于某一天邪恶念头战胜了理智。

机器配置单:                                      组建共计投入RMB 1700左右
主板:双为X79主板 matx 19*24      自有,330入手一年多了,B75南桥
内存:Recc 16G*4通道                    自有,反正很便宜
CPU:E5 2650V2                            自有,现在也很便宜
CPU散热器:金钱豹1366 2U魔改    TB,30左右吧,孔径一样2011背板在主板上M3换成M4的螺丝即可,机箱支持52mm高度散热器
硬盘散热器:垃圾三洋4025*3          自有,12V供电接在SATA上,嫌吵中间可以接一个温控开关或者换成5V供电
机箱散热器:12CM*2                      机箱自带
电源:益衡7140B 400W模组           机箱自带
机箱:万由810A                              闲鱼,1180背板是SATA 1.1版本的氦气盘需要屏蔽3.3V
硬盘:4TB SAS*8  希捷PMR的盘     自有,好像也不贵
背板:HP ML110 G7硬盘笼拆         TB,70一个关键字提供了自行搜索,需要魔改
阵列卡:HP H220                           TB,100左右 LSI2308的HBA卡,PCIE3.0基础带宽高比较方便
网卡:HP NC523SFP 双10G           TB,120左右早期采购
转接线:PCIE4转16+16转16           TB,乞丐版非ADT,30左右搞定
UPS:BK650-CH                             闲鱼,USB通信线自己买RJ48 10P水晶头制作,电池53买的不知真假汤浅NPW45-12。99+10+54

配套和测试设备:
国产垃圾万兆BCM交换机 12万兆+8千兆
SN720 500G
S3510  800G热熔胶枪



如下正文:

目标:新的8盘存储提供smaba和iscsi的高性能存储,供虚拟化调用,1G短程性能
软件:freenas 11.2U7官网最新版本、bonnie++、iperf3



部分一、硬件准备
1.硬盘背板改造
          万由的背板简直坑的飞起,旧版本因为3.3V电路导致不支持部分氦气盘,支持氦气背板的需要100,换SAS+转接线需要268。不能忍,垃圾佬的宗旨就是花最少的钱实现改造!
G7系列的服务器属于洋垃圾的范畴但是背板可以确定至少是SAS2(SATA3)的技术规格。看着孔径差不多准备,搏一搏单车变摩托

TB很久前就发现这个硬盘笼有潜力,SAS背板带数据线另外供电是大D的,其实主要还是便宜
SAS硬盘笼后.png    
这是魔改完成的背板。使用热熔胶固定,间隔3cm,精度要求不高看自己手工。注意:最好拆下后面板方便改造,留意下高度和水平方向,G7的背板需要稍微垫高一点正好涂点热熔胶先做下位置固定测量没问题再加固。
拆下来的背板+数据线怎么也能卖个160,嘻嘻
魔改SAS硬盘背板.png


2.硬盘位风扇
          硬盘长时间运行温度最好在40度以内,实际上纯属主板留下的空间难看正好折腾一番利用下手头废物。
关于风扇控制最好买1分3的转接在主板风扇接口上,但是手头材料不够因此从SATA供电。装机模拟对比一下发现正好下压的风透过开口能吹到硬盘。
用电钻给主板托架打孔,常规风扇螺丝能穿过去就行,工具好的形变少点看着舒心,托架改造后的惨样不献丑了。
装上风扇,放进托架组装起来发现主板有点放不进去怎么办?有点慌,结果发现风扇另一侧稍微抬一下搭载主板上即可
装机模拟.png


3.机箱风扇改造          万由的机箱后补开孔有点大,收到的这个箱子很多灰像是从伊拉克挖矿归来,正好捡一个散热网加在风扇和机箱中间。网卡直接固定在挡板上,HBA卡用螺丝正好固定在机箱原SSD位置。机箱内的风扇拆掉后在另一面可以固定一个SSD,没技术含量略略略.....
装机测试.png


4.扩展杂谈
          万由这个机箱吧实际上问题挺多的,但是总体来说能接受吧,毕竟没有更好的替代品了。银欣等其他箱子不是太贵就是太丑,好了不吐槽了,来点有用的。
PCIE部分实际上可以用服务器上的PCIE riser卡,比如广达双子星的这个,高度是可以的但是你可能会遇到下层PCIE和边上的IO插接座冲突(USB 开机 音频)
最后没有买这个,用那种很垃圾的PCIE延长线,软排线那种,注意到手了先检查焊接没问题可以用热熔枪将两边坐下加固。
PCIE扩展卡.png



部分二、软件准备
1.HBA卡固件更新
          网卡之前很久就买了,固件自行更新到当前最新的。HP的卡便宜能用,高级性能就不要强求了。在这个主板上测试发现我之前买的NC550SFP和NC552SFP上级就会卡死系统无法启动,很尴尬只能用发热很大的NC523SFP了。
          言归正传H220的固件刷新教程可以参考这个https://tifan.net/blog/2019/01/28/hp-h220-lsi-2308-9207-8i-stock-firmware-on-dell-r720/
支持dos和efi下刷新固件,但是有的板子可能dos下报错(ERROR:  Failed to initialize PAL.  Exiting program),建议efi下升级固件。
  1. https://github.com/tianocore/edk2/tree/UDK2018/EdkShellBinPkg/FullShell
  2. 下载V1版本其他不能用,shell.efi放到FAT32磁盘根目录,复制一份重命名Shellx64.efi。开机进bios,launch efi from file。。。
  3. 进来后U盘一般是FS0
  4. fs0:切换到根目录,linux的cd a
  5. ls
  6. 使用P14的SASflash.efi
  7. sas2flash.efi -o -e 7
  8. 清除所有信息
  9. sas2flash.efi -f 2308T207.ROM
  10. sas2flash.efi -b mptsas2.rom
  11. sas2flash.efi -b x64sas2.rom
  12. 刷入新的rom,详细参考上述刷新链接和-h的帮助说明。比如刷入原卡的SN啊反正没多大硬盘但是也不差这一步骤
  13. sas2flash.efi -o -sasaddhi
复制代码
H220原厂信息.png 上述是原厂卡信息,如下是刷完后的卡信息,可以看到变成公版LSI的卡了
H220刷完信息.png


2.系统安装和初始化
          没啥注意的,rufus写入U盘,然后安装重启后先不接NC523SFP网卡,需要做下改动不然会出现错误提示。
NC523SFP错误信息.png
登录在system》tunable下设置内容如下。重启配置LACP就正常了,网卡和HBA卡常规温度都在80度以上,没死机就接着用!
NC523SFP系统配置.png
调整freenas安装测试软件,iperf3是内置的,但是bonnie++需要手动安装
https://freebsd.pkgs.org/11/freebsd-ports-latest-amd64/bonnie++-1.98.txz.html 二进制软件包下载地址
手动修改如下配置文件,-i 不可用
sed 's/enabled: yes/enabled: no/' /usr/local/etc/pkg/repos/local.conf
sed 's/enabled: no/enabled: yes/' /usr/local/etc/pkg/repos/FreeBSD.conf
下载txz文件,pkg install bonnie++





部分三、性能测试和优化
0.综合测试
          温度和压力测试PE或者WIN下跑鲁大师或者aida即可,测试满载CPU在80多度还能接受吧。之前有参考别人的改造帖子发现上水冷太贵,垃圾佬放弃了!
          噪音这块吗,8块企业SAS硬盘不吵是不可能的,反正我放在阳台无所谓!
          功耗这块,平时大概在160W左右,峰值在270W左右,家里电费均摊不care
          磁盘组和SSD统一使用测试命令为:bonnie++ -u root -r 8192 -s 65536 -d /mnt/storage/ -r -b -n 1,测试结果
           性能测试也可以参考这个国外大佬的测试结果https://calomel.org/zfs_raid_speed_capacity.html
1.硬盘测试
SAS企业盘的测试信息如下
  1. root@freenas[~]# diskinfo -ctv /dev/da7
  2. /dev/da7
  3.         512                 # sectorsize
  4.         4000787030016        # mediasize in bytes (3.6T)
  5.         7814037168          # mediasize in sectors
  6.         0                   # stripesize
  7.         0                   # stripeoffset
  8.         486401              # Cylinders according to firmware.
  9.         255                 # Heads according to firmware.
  10.         63                  # Sectors according to firmware.
  11.         SEAGATE ST4000NM0005        # Disk descr.
  12.         Z4C03FF4            # Disk ident.
  13.         No                  # TRIM/UNMAP support
  14.         7200                # Rotation rate in RPM
  15.         Not_Zoned           # Zone Mode

  16. I/O command overhead:
  17.         time to read 10MB block      0.063812 sec        =    0.003 msec/sector
  18.         time to read 20480 sectors   0.667764 sec        =    0.033 msec/sector
  19.         calculated command overhead                        =    0.029 msec/sector

  20. Seek times:
  21.         Full stroke:          250 iter in   4.495382 sec =   17.982 msec
  22.         Half stroke:          250 iter in   3.188744 sec =   12.755 msec
  23.         Quarter stroke:          500 iter in   5.394432 sec =   10.789 msec
  24.         Short forward:          400 iter in   2.157570 sec =    5.394 msec
  25.         Short backward:          400 iter in   1.762151 sec =    4.405 msec
  26.         Seq outer:         2048 iter in   0.101161 sec =    0.049 msec
  27.         Seq inner:         2048 iter in   0.231765 sec =    0.113 msec

  28. Transfer rates:
  29.         outside:       102400 kbytes in   0.545881 sec =   187587 kbytes/sec
  30.         middle:        102400 kbytes in   0.610960 sec =   167605 kbytes/sec
  31.         inside:        102400 kbytes in   1.026819 sec =    99725 kbytes/sec
复制代码
S3510 单盘性能测试结果 w=794MB/s , rw=558MB/s , r=1.3GB/s
3510.png
SN720 单盘性能测试结果 w=812MB/s , rw=569MB/s , r=1.3GB/s
sn720.png
测试结果有点诡异,NVME竟然和SATA的测试结果差不多。1.3G的块读取速度应该是CPU lz4算法的瓶颈,够用了。


2.磁盘组测试
          磁盘组部分的测试包括8盘 raidz、8盘 raidz2、2*4 raidz。搭配SSD做ZIL缓存等场景下的性能测试。楼主不苦哈哈的上图了,直接上不同组合下测试结果吧
就我个人观点啊,这软件也是个逗比,感觉跟鲁大师一样,没啥鸟用。所以产生了后续的iscsi和smaba测试项目。
bonnie测试汇总.png


3.网卡性能测试
          这个没啥好说的iperf3 -s开服务端,另外一边做客户端跑上下行的测试即可。iperf3 -c 10.110.0.90 -P 4 -i 1 -t 30,加上-R是反向流量
测试发现不同的系统和网卡型号测出来的性能不一致。这不是废话吗,好吧反正我的测试freenas上行能至少3G,下行能跑满10G。烂网卡1500 MTU下只能这样了,改9000能跑满但是有兼容性问题,算了!

4.iscsi和samba测试
2*4 raidz+SN720 ZIL Samba测试
SMB 500完全.png
2*4 raidz Samba测试
SMB完全.png
是不是很诡异,but测试结果就是这样的。所以最后我撤掉了SATA和NVME的SSD,现在放入了11T的数据,重新测试性能samba写入速度
samba写入速度.png samba读取速度
samba读取没缓存.png
iscsi磁盘读取速度,pool atime 关闭,sync设置disable,lz4继承默认打开
iscsi读取.png
iscsi磁盘写入速度,最后在100M左右成水平状态了
iscsi写入很慢.png
iscsi磁盘写入很慢但此时samba写入正常的
iscsi写入很慢时同文件samba写入.png
iscsi写入很慢时其他大文件samba写入.png
此时读取iscsi的数据
缓存读取.png

综述:磁盘池空的时候iscsi性能很不错,但是存储一半的数据性能接近SATA SSD的性能,NC523SFP这网卡是个坑有时间换掉再做测试。
补充:性能优化后ISCSI的性能上来了,调整的系统参数请见20楼,转载一些未来性能优化的资料吧。 4PY5SXSOY]_Z`6O632LJSNC.png
网卡可以升级MCX312B MCX311 ConnectX-3系列的RDMA的卡(等高手开卖OCP转PCIE会很便宜的)或者freenas官方用的Chelsio网卡 T420-CR便宜,T520贵。DAC电缆最好选择质量好的
  1. Look, the recipe for VM speed is really simple.

  2. 1) Use mirrors
  3. 2) if you want typical VM storage IOPS density of 25-50 IOPS/sec per VM, you need one mirror vdev per every 4-8 VM's. Use lots of vdevs.
  4. 3) Use massive drives, like 12TB'ers. A 12TB 5400RPM drive is a lot more helpful than a 6TB 7200RPM drive.
  5. 4) Keep the pool occupancy low. The sweet spot is 10%-40%. You really want to stay under 50%. This will keep writes fast.
  6. 5) Have lots of ARC. 64GB bare minimum.
  7. 6) Have lots of L2ARC. Enough to hold the working set is ideal (plus you need to bump up ARC to hold the indirect pointers). This is what makes reads fast, because once you have fragmentation on the HDD pool, there's no other fix.
  8. 7) VM storage is an exercise in parallelism. Do not obsess on sequential speed benchmarks.
复制代码




部分四、保护措施
1.ups配置参考这个链接 https://www.cyberciti.biz/faq/how-to-install-apc-ups-on-freenas-server/ 设备识别监控没问题,后续完善关机操作
  1. root@freenas[/mnt/zfs]# upsc ups@localhost
  2. battery.charge: 100
  3. battery.charge.low: 10
  4. battery.charge.warning: 50
  5. battery.date: not set
  6. battery.mfr.date: 2016/10/10
  7. battery.runtime: 3097
  8. battery.runtime.low: 120
  9. battery.type: PbAc
  10. battery.voltage: 13.5
  11. battery.voltage.nominal: 12.0
  12. device.mfr: APC
  13. device.model: Back-UPS 650
  14. device.serial: 3B1641X01754  
  15. device.type: ups
  16. driver.name: usbhid-ups
  17. driver.parameter.pollfreq: 30
  18. driver.parameter.pollinterval: 2
  19. driver.parameter.port: /dev/ugen0.3
  20. driver.parameter.synchronous: no
  21. driver.version: 2.7.4
  22. driver.version.data: APC HID 0.96
  23. driver.version.internal: 0.41
  24. input.sensitivity: low
  25. input.transfer.high: 266
  26. input.transfer.low: 165
  27. input.transfer.reason: input voltage out of range
  28. input.voltage: 226.0
  29. input.voltage.nominal: 220
  30. ups.beeper.status: enabled
  31. ups.delay.shutdown: 20
  32. ups.firmware: 822.A3.I
  33. ups.firmware.aux: A3
  34. ups.load: 18
  35. ups.mfr: APC
  36. ups.mfr.date: 2016/10/10
  37. ups.model: Back-UPS 650
  38. ups.productid: 0002
  39. ups.serial: 3B1641X01754  
  40. ups.status: OL
  41. ups.timer.reboot: 0
  42. ups.timer.shutdown: -1
  43. ups.vendorid: 051d
复制代码
功耗部分,freenas待机160W左右峰值270W;ms gen8待机70W 峰值100W;万兆交换机16W;SRX210 防护墙20W左右,全部位于UPS保护之上。准备通过NUT实现设备自动关机。DSM先关掉然后MS gen8停机,SRX停机,最后freenas停机。万兆交换不支持命令行关机只能等UPS耗尽电量自己停了
开机方面freenas来电自动启动,ms gen8延时启动,等实现了继续上传相关资料。








评分

参与人数 1邪恶指数 +10 收起 理由
ETan + 10 1700便宜量又足,香

查看全部评分

发表于 2020-1-6 17:42 来自手机 | 显示全部楼层
可以可以,噪音和功耗怎么样??不运行时会睡眠吗?
发表于 2020-1-6 18:19 来自手机 | 显示全部楼层
请不要叫自己垃圾佬。在我看来,物尽其用又做你感兴趣的事,是值得称赞的
发表于 2020-1-6 18:31 | 显示全部楼层
真好耶,才1700,好东西!
发表于 2020-1-6 18:45 来自手机 | 显示全部楼层
闲置利用,挺好的
发表于 2020-1-6 20:31 | 显示全部楼层
NAS来说配置很高!
发表于 2020-1-6 20:39 | 显示全部楼层
功耗大么
发表于 2020-1-6 21:02 | 显示全部楼层
真正的物尽其用啊
发表于 2020-1-6 22:24 | 显示全部楼层
这是【机器】没有机箱贵系列?8盘万由机箱不便宜。。
发表于 2020-1-7 08:48 来自手机 | 显示全部楼层
背板热熔胶固定?
发表于 2020-1-7 09:36 | 显示全部楼层
啥都有。。。可不就便宜了
发表于 2020-1-7 10:28 | 显示全部楼层
手上有块闲置的9460-16i 留着以后用了
发表于 2020-1-7 17:13 | 显示全部楼层
感谢分享,顺便请教一下,iscsi写入是不是就这性能?
发表于 2020-1-7 21:02 | 显示全部楼层
本帖最后由 ETan 于 2020-1-7 21:09 编辑

1700便宜量又足,香

这大部分自有,,,,,只能参考了,无法复制  
 楼主| 发表于 2020-1-7 21:55 | 显示全部楼层
错庞末班车 发表于 2020-1-7 17:13
感谢分享,顺便请教一下,iscsi写入是不是就这性能?

跟很多因素有关系,zfs优化、网络优化、dac电缆、pcie延长线、网卡驱动兼容性等等吧。查了很多资料,还在尝试优化。我的测试都是大文件的读取写入所以数据不好看,新目标能赶上SATA SSD的水平就可以了。
发表于 2020-1-7 22:14 | 显示全部楼层
求“国产垃圾万兆BCM交换机 12万兆+8千兆”的型号,,,
发表于 2020-1-7 23:12 | 显示全部楼层
功耗太大,不适合家用长期开机的
发表于 2020-1-8 09:59 | 显示全部楼层
下次起个标题“0元组建八盘10T NAS” 反正里面硬件不是别人送就是自有的。
发表于 2020-1-8 10:22 | 显示全部楼层
ISCSI 用文件的方式存储速度就正常。 一年前我就遇到了。。。。至今无解
 楼主| 发表于 2020-1-8 11:16 | 显示全部楼层
xustrive 发表于 2020-1-8 10:22
ISCSI 用文件的方式存储速度就正常。 一年前我就遇到了。。。。至今无解

做了些优化,重新加上SN720,2个230G分区分别做ZIL和SLOG,现在ISCSI的性能达到我的目标了
4PY5SXSOY]_Z`6O632LJSNC.png
系统优化参数如下,自行搜索参数意义修改。iscsi的zol sync disable,注意配合UPS不然可能导致数据丢失。
参数2.png
参数1.png
发表于 2020-1-8 12:45 | 显示全部楼层
yaoyuanzy 发表于 2020-1-8 11:16
做了些优化,重新加上SN720,2个230G分区分别做ZIL和SLOG,现在ISCSI的性能达到我的目标了

系统优化参数 ...

很棒,我没有加缓存。  我有个疑问。我iscsi写入在freenas内存没写满之前很快。但是缓存满了就很慢。  

你要不多写一些数据试试,超过freenas的内存容量之后速度会不会大幅度缩减。
发表于 2020-1-8 14:04 | 显示全部楼层
不错,比那些小两万的QNAP+酷狼pro强多了
发表于 2020-2-28 01:28 | 显示全部楼层
最近也在研究FreeNAS,根据查到的资料有几个建议:
1、写入缓存SLOG对于持续IO作用不大,对于4K随机IO作用较大;
2、SLOG对延迟敏感,最好用NVMe做SLOG,但注意写入寿命;
3、SLOG的容量方面,对于每个1G链路需要0.625G,对于每个10G链路需要6.25G,一般取到16G就够了;
4、为ESXi提供iSCSI的DATASET的最优Record Size没有定论,可能要多尝试一下。

SLOG的原理大概是这样的:FreeNAS每5秒把系统吞吐的数据刷写到ZFS里,因此SLOG太大了没有意义、延迟敏感、要非常耐写入。

L2ARC要更复杂一些,它的大小要跟系统内存匹配,否则会有反作用。

还有个小技巧,可以给SSD分区,一部分作为SLOG,一部分做L2ARC,但是写入寿命怎么算我还没搞清楚。
 楼主| 发表于 2020-2-28 09:48 | 显示全部楼层
wysard 发表于 2020-2-28 01:28
最近也在研究FreeNAS,根据查到的资料有几个建议:
1、写入缓存SLOG对于持续IO作用不大,对于4K随机IO作用 ...

是的,最开始是这样做的,SN720分2个区 3:1的比例分区 留了50G做OP。经过大规模数据的迁移10T多吧,最后发现还是读缓存最有用,SN720全部改成读缓存了。SLOG设备900P还是更好
发表于 2020-2-28 11:52 来自手机 | 显示全部楼层
求“国产垃圾万兆BCM交换机 12万兆+8千兆”的型号,还有价格
发表于 2020-2-28 16:12 | 显示全部楼层
我也对国产交换机感兴趣,不过搜遍淘宝应该就是赛天,优肯之类,有个型号是8口千兆电加12口万兆光,挺好的交换机,不知道性能跟稳定性如何
 楼主| 发表于 2020-2-28 18:13 | 显示全部楼层
senopad 发表于 2020-2-28 16:12
我也对国产交换机感兴趣,不过搜遍淘宝应该就是赛天,优肯之类,有个型号是8口千兆电加12口万兆光,挺好的 ...

我用的就是国产的,拔掉风扇稳得一笔,所以放心下单吧。 750 8电加12光
 楼主| 发表于 2020-2-28 18:16 | 显示全部楼层
zwb0619 发表于 2020-2-28 11:52
求“国产垃圾万兆BCM交换机 12万兆+8千兆”的型号,还有价格

型号VP-8812 viewpaker 优威派克的,垃圾玩意我搜遍了全网没多少资料。价格在27楼,没找到enable密码但是不影响使用,很稳定而且便宜!
发表于 2020-3-8 13:38 | 显示全部楼层
首付爸爸家已经有人单独出售ocp转接卡了,一个北京的卖家~据说ocp定义还不是都一样~可以看好定义图上车
发表于 2020-3-8 14:13 | 显示全部楼层
垃圾佬虽然有点自嘲,但这个称号太难听了
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2024-11-22 05:54 , Processed in 0.021794 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表