|
本帖最后由 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的,其实主要还是便宜
这是魔改完成的背板。使用热熔胶固定,间隔3cm,精度要求不高看自己手工。注意:最好拆下后面板方便改造,留意下高度和水平方向,G7的背板需要稍微垫高一点正好涂点热熔胶先做下位置固定测量没问题再加固。
拆下来的背板+数据线怎么也能卖个160,嘻嘻
2.硬盘位风扇
硬盘长时间运行温度最好在40度以内,实际上纯属主板留下的空间难看正好折腾一番利用下手头废物。
关于风扇控制最好买1分3的转接在主板风扇接口上,但是手头材料不够因此从SATA供电。装机模拟对比一下发现正好下压的风透过开口能吹到硬盘。
用电钻给主板托架打孔,常规风扇螺丝能穿过去就行,工具好的形变少点看着舒心,托架改造后的惨样不献丑了。
装上风扇,放进托架组装起来发现主板有点放不进去怎么办?有点慌,结果发现风扇另一侧稍微抬一下搭载主板上即可
3.机箱风扇改造 万由的机箱后补开孔有点大,收到的这个箱子很多灰像是从伊拉克挖矿归来,正好捡一个散热网加在风扇和机箱中间。网卡直接固定在挡板上,HBA卡用螺丝正好固定在机箱原SSD位置。机箱内的风扇拆掉后在另一面可以固定一个SSD,没技术含量略略略.....
4.扩展杂谈
万由这个机箱吧实际上问题挺多的,但是总体来说能接受吧,毕竟没有更好的替代品了。银欣等其他箱子不是太贵就是太丑,好了不吐槽了,来点有用的。
PCIE部分实际上可以用服务器上的PCIE riser卡,比如广达双子星的这个,高度是可以的但是你可能会遇到下层PCIE和边上的IO插接座冲突(USB 开机 音频)
最后没有买这个,用那种很垃圾的PCIE延长线,软排线那种,注意到手了先检查焊接没问题可以用热熔枪将两边坐下加固。
部分二、软件准备
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下升级固件。
- https://github.com/tianocore/edk2/tree/UDK2018/EdkShellBinPkg/FullShell
- 下载V1版本其他不能用,shell.efi放到FAT32磁盘根目录,复制一份重命名Shellx64.efi。开机进bios,launch efi from file。。。
- 进来后U盘一般是FS0
- fs0:切换到根目录,linux的cd a
- ls
- 使用P14的SASflash.efi
- sas2flash.efi -o -e 7
- 清除所有信息
- sas2flash.efi -f 2308T207.ROM
- sas2flash.efi -b mptsas2.rom
- sas2flash.efi -b x64sas2.rom
- 刷入新的rom,详细参考上述刷新链接和-h的帮助说明。比如刷入原卡的SN啊反正没多大硬盘但是也不差这一步骤
- sas2flash.efi -o -sasaddhi
复制代码
上述是原厂卡信息,如下是刷完后的卡信息,可以看到变成公版LSI的卡了
2.系统安装和初始化
没啥注意的,rufus写入U盘,然后安装重启后先不接NC523SFP网卡,需要做下改动不然会出现错误提示。
登录在system》tunable下设置内容如下。重启配置LACP就正常了,网卡和HBA卡常规温度都在80度以上,没死机就接着用!
调整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企业盘的测试信息如下
- root@freenas[~]# diskinfo -ctv /dev/da7
- /dev/da7
- 512 # sectorsize
- 4000787030016 # mediasize in bytes (3.6T)
- 7814037168 # mediasize in sectors
- 0 # stripesize
- 0 # stripeoffset
- 486401 # Cylinders according to firmware.
- 255 # Heads according to firmware.
- 63 # Sectors according to firmware.
- SEAGATE ST4000NM0005 # Disk descr.
- Z4C03FF4 # Disk ident.
- No # TRIM/UNMAP support
- 7200 # Rotation rate in RPM
- Not_Zoned # Zone Mode
- I/O command overhead:
- time to read 10MB block 0.063812 sec = 0.003 msec/sector
- time to read 20480 sectors 0.667764 sec = 0.033 msec/sector
- calculated command overhead = 0.029 msec/sector
- Seek times:
- Full stroke: 250 iter in 4.495382 sec = 17.982 msec
- Half stroke: 250 iter in 3.188744 sec = 12.755 msec
- Quarter stroke: 500 iter in 5.394432 sec = 10.789 msec
- Short forward: 400 iter in 2.157570 sec = 5.394 msec
- Short backward: 400 iter in 1.762151 sec = 4.405 msec
- Seq outer: 2048 iter in 0.101161 sec = 0.049 msec
- Seq inner: 2048 iter in 0.231765 sec = 0.113 msec
- Transfer rates:
- outside: 102400 kbytes in 0.545881 sec = 187587 kbytes/sec
- middle: 102400 kbytes in 0.610960 sec = 167605 kbytes/sec
- inside: 102400 kbytes in 1.026819 sec = 99725 kbytes/sec
复制代码 S3510 单盘性能测试结果 w=794MB/s , rw=558MB/s , r=1.3GB/s
SN720 单盘性能测试结果 w=812MB/s , rw=569MB/s , r=1.3GB/s
测试结果有点诡异,NVME竟然和SATA的测试结果差不多。1.3G的块读取速度应该是CPU lz4算法的瓶颈,够用了。
2.磁盘组测试
磁盘组部分的测试包括8盘 raidz、8盘 raidz2、2*4 raidz。搭配SSD做ZIL缓存等场景下的性能测试。楼主不苦哈哈的上图了,直接上不同组合下测试结果吧
就我个人观点啊,这软件也是个逗比,感觉跟鲁大师一样,没啥鸟用。所以产生了后续的iscsi和smaba测试项目。
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测试
2*4 raidz Samba测试
是不是很诡异,but测试结果就是这样的。所以最后我撤掉了SATA和NVME的SSD,现在放入了11T的数据,重新测试性能samba写入速度
samba读取速度
iscsi磁盘读取速度,pool atime 关闭,sync设置disable,lz4继承默认打开
iscsi磁盘写入速度,最后在100M左右成水平状态了
iscsi磁盘写入很慢但此时samba写入正常的
此时读取iscsi的数据
综述:磁盘池空的时候iscsi性能很不错,但是存储一半的数据性能接近SATA SSD的性能,NC523SFP这网卡是个坑有时间换掉再做测试。
补充:性能优化后ISCSI的性能上来了,调整的系统参数请见20楼,转载一些未来性能优化的资料吧。
网卡可以升级MCX312B MCX311 ConnectX-3系列的RDMA的卡(等高手开卖OCP转PCIE会很便宜的)或者freenas官方用的Chelsio网卡 T420-CR便宜,T520贵。DAC电缆最好选择质量好的
- Look, the recipe for VM speed is really simple.
- 1) Use mirrors
- 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.
- 3) Use massive drives, like 12TB'ers. A 12TB 5400RPM drive is a lot more helpful than a 6TB 7200RPM drive.
- 4) Keep the pool occupancy low. The sweet spot is 10%-40%. You really want to stay under 50%. This will keep writes fast.
- 5) Have lots of ARC. 64GB bare minimum.
- 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.
- 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/ 设备识别监控没问题,后续完善关机操作
- root@freenas[/mnt/zfs]# upsc ups@localhost
- battery.charge: 100
- battery.charge.low: 10
- battery.charge.warning: 50
- battery.date: not set
- battery.mfr.date: 2016/10/10
- battery.runtime: 3097
- battery.runtime.low: 120
- battery.type: PbAc
- battery.voltage: 13.5
- battery.voltage.nominal: 12.0
- device.mfr: APC
- device.model: Back-UPS 650
- device.serial: 3B1641X01754
- device.type: ups
- driver.name: usbhid-ups
- driver.parameter.pollfreq: 30
- driver.parameter.pollinterval: 2
- driver.parameter.port: /dev/ugen0.3
- driver.parameter.synchronous: no
- driver.version: 2.7.4
- driver.version.data: APC HID 0.96
- driver.version.internal: 0.41
- input.sensitivity: low
- input.transfer.high: 266
- input.transfer.low: 165
- input.transfer.reason: input voltage out of range
- input.voltage: 226.0
- input.voltage.nominal: 220
- ups.beeper.status: enabled
- ups.delay.shutdown: 20
- ups.firmware: 822.A3.I
- ups.firmware.aux: A3
- ups.load: 18
- ups.mfr: APC
- ups.mfr.date: 2016/10/10
- ups.model: Back-UPS 650
- ups.productid: 0002
- ups.serial: 3B1641X01754
- ups.status: OL
- ups.timer.reboot: 0
- ups.timer.shutdown: -1
- ups.vendorid: 051d
复制代码 功耗部分,freenas待机160W左右峰值270W;ms gen8待机70W 峰值100W;万兆交换机16W;SRX210 防护墙20W左右,全部位于UPS保护之上。准备通过NUT实现设备自动关机。DSM先关掉然后MS gen8停机,SRX停机,最后freenas停机。万兆交换不支持命令行关机只能等UPS耗尽电量自己停了
开机方面freenas来电自动启动,ms gen8延时启动,等实现了继续上传相关资料。
|
评分
-
查看全部评分
|