威联通NAS TS-873A 实测

一、为什么要NAS?

虽然每个人都有各自的理由,但核心诉求点集中在安全存储和备份分享数据,支持远程访问,可安装包括虚拟化、web服务器等的额外拓展等。NAS的本质是网络+存储。

我使用NAS主要目的是:

  1. 在存算分离环境中,通过iSCSI服务,使用NAS提供的储存服务。
  2. 安全存储并备份虚拟化系统所必需的文件。
  3. 安全存储并备份文档,照片等文件。

二、NAS有哪些可选项

目前家用NAS,可以选择DIY自建,即自己购买硬件组装搭建NAS,NAS本质上也是一台计算机,只是在功能上偏向于存储而已,操作系统可以选择存储专用的FreeNAS的系统,也可以直接购买成品,诸如威联通、群晖、铁威马等。对于没有太多计算机基础的小伙伴,建议就不要自行搭建了,挑选硬件和系统容易交学费,故障排查繁琐。

个人之前用过铁威马,感觉是具备基础的NAS功能,如果只是想简单安全备份存储文件,铁威马确实够用了,性价比高。但就功能性和额外拓展的能力相比威联通和群晖,确实稍弱。鉴于本人使用NAS的目的,综合考虑后,购买了威联通的TS-873A。之前也考虑过价格相近的商用的机架式的NAS设备,诸如TS-832PXU,但企业级设备噪音较大,家用无法忍受。

选择TS-873A,我的核心诉求点如下:

  1. 8盘位可提供足够的磁盘空间,组RAID10后还可以有热备磁盘位,未来很长一段时间内都不需要再升级设备。
    如果4盘位,组建RAID10后是没有热备磁盘位的。另外,为什么不组RAID5的原因主要是,RAID10性能会更好些,万一出现故障恢复速度也快,RAID10虽然只能用一半的空间,但目前硬盘价格并不贵,其实是可以接受的。

  2. 内置 M.2 NVMe SSD 槽位,可利用SSD加速读写速度。
    2个M.2 NVMe SSD,可以组RAID1,做读写缓存或者Qtier自动分层存储,大大加速读写速度,解决HDD硬盘较慢的问题。如果2个SSD插槽不够用,还可以再购买SSD扩展卡配件,873A有PCIe Gen3x4的插槽。

  3. 额外有2个PCIe Gen3x4插槽
    可以安装额外的配件,诸如SSD扩展卡,万兆网卡等。我自己就买了25GbE的双口光纤网卡,原装是2个2.5G的电口网卡,大大提升了网络速度,让网络速度不再成为瓶颈点。不仅如此,加配件后可支持FC SAN环境。

  4. 价格合适,这点很重要
    再往上,9盘位,高度过高,会占用机柜更多U的空间,12盘位又太贵。当然,就价格太贵什么的,完全不是对方的问题,是我的太穷的问题。

  5. 支持UPS

  6. 几乎没有什么噪音

还有一些特性,我暂时用不着,诸如可扩充显卡,远程访问,搭建虚拟化环境等。可以访问https://www.qnap.com.cn/zh-cn/product/ts-873a看下官方的介绍。

三、实际体验与改造

  1. 外包装挺厚实的,保护机体用的泡沫也很大。机体自身挺沉的,大概15斤左右。机体下方有缓冲垫,如果你放在镜面的桌子上,或者机柜的托盘上,会有点粘在上面的感觉,不容易造成移动,拿起时需要先往上使点力。

  2. 拆开外壳,主板位于侧面,包括内存条,M2插槽。PCIe接口在上方,PCIe扩展体验不是非常好,空间不大,很小的螺丝刀才能正着伸进去,稍微大一点的螺丝刀就需要侧着拧。

  3. 我把内存升级了内存到32GB,原厂自带8GB内存有点小。hero系统比较吃内存,如果需要用hero的raid10,需要16GB以上。

  4. 加装了一块25GbE双端口的网卡,我买配件的时候,10G的刚好没货,才买的25G,事实上买10GbE的即可。

  5. 置入2块三星M2 NVMe SSD 970EVO Plus。这里要吐槽下威联通的SSD谜之兼容性。因为硬件本身也在升级,威联通并不会及时更新。比如,三星SSD的EVO 或者 EVO Plus 型号名称出现微小的变化,主要在型号后缀,可能会很难买到完全一模一样的型号。按照https://www.qnap.com.cn/zh-cn/compatibility/?model=522&category=ssd官方的兼容性列表,威联通官方测试过,“970 EVO Plus MZ-V7S1T0” 和 “970 EVO MZ-V7E1T0BW” 是可兼容的,但事实上,目前能买到的"970 EVO Plus MZ-V7S1T0B" 我亲测是兼容的,但是 “970 EVO MZ-V7E1T0” 却又不兼容。不兼容的症状是会导致一些奇奇怪怪的问题,系统并不会提示什么,可以开机,机体上的指示灯也一切正常,就是实际运行不正常。

  6. 置入4块希捷银河ExosX18系列企业级氦气硬盘 ST16000NM000J 16TB 256MB 7200RPM。个人经验是,第一是硬盘的水很深,真的不要找不熟悉的渠道去购买特别低价的硬盘,老老实实找正规渠道买,第二是注意各种门的问题,可以去找下对应的型号并避开。我自己目前都买希捷的银河系列企业级的硬盘。

四、开始实验

威联通NAS有两种系统,一种是传统的QTS,基于EXT4,另一种是 QuTS hero,基于ZFS。先说下结论,最终我还是用的QTS。虽然hero有许多高级特性,诸如去重,块大小可选等等,但对于我而言,稳定性更重要,高级功能虽然好但非必须,hero对机器性能的要求要远高于QTS,hero系统一旦初始设定完磁盘,就难以变更。虽然最终未使用hero系统,但我依然针对hero系统做了一系列的实际测试。

注意下,因为硬件所限,部分对照实验仅供参考,实验环境如下:

网络

NAS与服务器均使用万兆电缆连接到交换机上,网络环境不成为速度瓶颈点

  1. 8口10GbE万兆全SFP+光口交换机
  2. 10G万兆高速SFP+ DAC电缆

NAS

  1. HDD硬盘:4块 希捷银河ExosX18系列企业级氦气硬盘 ST16000NM000J 16TB 256MB 7200RPM
  2. SSD硬盘:2块 三星M2 NVMe SSD 970EVO Plus
  3. 内存32GB,完全满足hero的要求,实验过程中,内存占有率均在50%以下。
  4. 25GbE网卡(可向下兼容10GbE),网络环境不成为瓶颈点。

安装系统并创建存储池与区块LUN,开启iSCSI。安装好系统后,注意以下2点:

  1. 组建RAID后,设置为服务优先。
  2. 在网络适配器选项卡处,给使用的网卡设定固定IPv4地址,巨帧封包设定为最大的9000,关闭IPv6,关闭FEC。

服务器

  1. 硬件配置是 AMD Ryzen7 3800X 内存128GB
  2. 单独一块SATA SSD用于安装ESXi 7.0
  3. 在一块服务器本地HDD硬盘上,创建win10虚拟机,分配8核32GB内存,HDD型号是 希捷银河Exos7E8系列企业级硬盘 ST8000NM000A 8TB 256MB 7200RPM
  4. 主板上安装有一块三星M2 NVMe SSD 970 EVO MZ-V7E1T0
  5. 网卡是Intel 82599芯片 10G万兆SFP+光纤网卡

服务器上还做了以下设置:

  1. ESXi网络的标准交换机,设定MTU为9000,win10的网卡属性,设置开启巨帧Jumbo Packet
  2. 按照https://www.ibm.com/docs/zh/sanvolumecontroller/8.3.x?topic=problem-iscsi-performance-analysis-tuning,禁用ESXi和win10上的TCP延迟应答功能,并开启iSCSI巨帧。

测试软件

使用CrystalDiskMark 6.0.2 x64版本。测试次数选5,大小32GiB,测试队列数与线程数使用默认项,分别是顺序写入Q32T1、随机4K Q8T8、随机4K Q32T1、随机4K Q1T1

测试说明

  • 所有磁盘传输速度单位均是 MB/s
  • 由于10G网络限制,部分测试项,特别是顺序读,已经达到网络传输速率上限,造成无法有效测量真实IO速度
  • 多次重复测量,数值可能会有变化,变化幅度最大在15%左右。

测试维度有:

  1. NAS操作系统,分别是 QTS系统和QuTS hero系统
  2. 磁盘类型,分别是 M2 NVMe SSD 和 HDD
  3. RAID类型,针对 0,1,5,10 进行测试,其中SSD仅测试RAID1。
  4. 加速方式,针对不开启、高速缓存加速、Qtier三种方式进行测试,hero只有高速缓存加速功能。
  5. 连接方式,分别是使用win10直连iSCSI和使用vmware通过iSCSI连接后创建存储空间配置给win10虚拟机用。
  6. 块大小,QTS和QuTS hero的选项不同,QTS选项是512Bytes和4KB,hero是32k(vmware),64k(Hybrid),128k(视频/大型文件/备份)。但QTS LUN 4KB块大小,vmware通过iSCSI无法识别到,但win10通过iSCSI正常识别。
  7. 同步I/O,ZFS Intent Log (ZIL) 同步设置,仅hero有这个选项

缩写:

  1. 操作系统,QuTS hero 缩写为 hero
  2. 磁盘类型,M2 NVMe SSD 缩写为 M2 SSD
  3. 连接渠道,win10直连iSCSI缩写为 win10 ,使用vmware通过iSCSI连接后配置缩写为 vm

测试结果

对比 QTS 系统 和 QuTS hero 系统的磁盘速度

测试环境:

  1. 不开启加速,不使用Qtier
  2. 全部使用win10通过iSCSI方式连接NAS
  3. QTS系统块大小统一设置512Bytes,hero系统块大小统一设置64K
  4. QTS系统无ZIL同步IO配置,hero系统ZIL同步IO设置为不使用,本机磁盘无此项配置
系统类型 QTS hero QTS hero QTS hero
磁盘类型 M2 SSD M2 SSD M2 SSD M2 SSD M2 SSD M2 SSD
RAID类型 RAID 0 RAID 0 RAID 1 RAID 1
Seq Q32T1 Read 1210 1237 1233 1237 1235 1237
Seq Q32T1 Write 711 704 1196 989 715 763
4KB Q8T8 Read 307 272 308 346 307 352
4KB Q8T8 Write 278 25 333 38 280 34
4KB Q32T1 Read 350 361 353 382 368 391
4KB Q32T1 Write 249 32 264 71 258 42
4KB Q1T1 Read 15 18 15 18 15 21
4KB Q1T1 Write 21 7.1 20 8.6 20 6.8
系统类型 QTS hero QTS hero QTS hero QTS hero
磁盘类型 HDD HDD HDD HDD HDD HDD HDD HDD
RAID类型 RAID 0 RAID 0 RAID 1 RAID 1 RAID 10 RAID 10
Seq Q32T1 Read 1209 965 1222 958 934 941 1228 1190
Seq Q32T1 Write 293 259 531 293 285 312 539 534
4KB Q8T8 Read 276 40 279 67 218 67 306 103
4KB Q8T8 Write 17 17 60 18 13 18 47 27
4KB Q32T1 Read 259 43 215 69 217 67 357 100
4KB Q32T1 Write 33 14 56 17 28 17 54 25
4KB Q1T1 Read 15 21 16 21 16 20 15 19
4KB Q1T1 Write 21 14 21 13 18 14 20 14
  1. 顺序读写场景,两个系统的IO性能差异较小
  2. 不管是磁盘类型是SSD还是HDD,hero系统的随机4K文件IO性能都低于QTS

实测 M2 NVMe SSD 与 HDD 的速度

测试环境:

  1. 统一不使用RAID
  2. 不开启加速,不使用Qtier
  3. 全部使用win10通过iSCSI方式连接NAS
  4. QTS系统块大小统一设置512Bytes,hero系统块大小统一设置64K
  5. QTS系统无ZIL同步IO配置,hero系统ZIL同步IO设置为不使用,本机磁盘无此项配置
磁盘类型 本机 M2 SSD M2 SSD M2 SSD 本机 HDD HDD HDD
系统类型 QTS hero QTS hero
Seq Q32T1 Read 3550 1210 1237 222 1209 965
Seq Q32T1 Write 1913 711 704 199 293 259
4KB Q8T8 Read 878 307 272 1.32 276 40
4KB Q8T8 Write 900 278 25 20 17 17
4KB Q32T1 Read 425 350 361 1.37 259 43
4KB Q32T1 Write 328 249 32 12 33 14
4KB Q1T1 Read 39 15 18 0.41 15 21
4KB Q1T1 Write 97 21 7.1 16 21 14

实测 RAID 0,1,5,10

测试环境:

  1. NAS安装QTS系统
  2. 不开启加速,不使用Qtier
  3. 全部使用win10通过iSCSI方式连接NAS
  4. QTS系统块大小统一设置512Bytes
  5. QTS系统无ZIL同步IO配置
RAID类型 RAID 0 RAID 1 RAID 0 RAID 1 RAID 5 RAID 10
磁盘类型 M2 SSD M2 SSD M2 SSD HDD HDD HDD HDD HDD
Seq Q32T1 Read 1210 1233 1235 1209 1222 1210 1224 1228
Seq Q32T1 Write 711 1196 715 293 531 280 455 539
4KB Q8T8 Read 307 308 307 276 279 278 287 306
4KB Q8T8 Write 278 333 280 17 60 16 28 47
4KB Q32T1 Read 350 353 368 259 215 211 226 357
4KB Q32T1 Write 249 264 258 33 56 32 23 54
4KB Q1T1 Read 15 15 15 15 16 16 16 15
4KB Q1T1 Write 21 20 20 21 21 21 22 20

QTS系统中,对比高速缓存加速与Qtier的读写速度

测试环境:

  1. NAS安装QTS系统
  2. 高速缓存和Qtier高速层均设置RAID 1读写缓存
  3. QTS系统块大小统一设置512Bytes
  4. QTS系统无ZIL同步IO配置
加速方式 不开启 不开启 高速缓存 高速缓存 Qtier Qtier
磁盘类型 HDD HDD HDD+SSD HDD+SSD HDD+SSD HDD+SSD
连接渠道 win10 vm win10 vm win10 vm
RAID类型 RAID 1 RAID 1 RAID 1 RAID 1 RAID 1 RAID 1
Seq Q32T1 Read 934 900 1233 955 1235 950
Seq Q32T1 Write 285 278 718 708 286 280
4KB Q8T8 Read 218 225 299 420 311 360
4KB Q8T8 Write 13 37 234 256 13 28
4KB Q32T1 Read 217 139 242 314 337 269
4KB Q32T1 Write 28 28 233 244 17 16
4KB Q1T1 Read 16 33 18 35 15 33
4KB Q1T1 Write 18 30 21 32 21 25
加速方式 不开启 不开启 高速缓存 高速缓存 Qtier Qtier
磁盘类型 HDD HDD HDD+SSD HDD+SSD HDD+SSD HDD+SSD
连接渠道 win10 vm win10 vm win10 vm
RAID类型 RAID 10 RAID 10 RAID 10 RAID 10 RAID 10 RAID 10
Seq Q32T1 Read 1228 942 1214 930 1232 916
Seq Q32T1 Write 539 536 719 702 508 508
4KB Q8T8 Read 306 326 366 415 301 380
4KB Q8T8 Write 47 45 180 256 59 26
4KB Q32T1 Read 357 233 382 312 241 301
4KB Q32T1 Write 54 55 240 242 26 27
4KB Q1T1 Read 15 34 17 31 17 33
4KB Q1T1 Write 20 32 18 29 22 32

高速缓存加速是利用SSD作为缓存用于改进NAS的读写性能,加速分3种,只读加速、只写加速、读写加速。加速用的SSD,RAID可选项有不启用,RAID 0,1,5,6,10。只读加速可以组RAID0,因为并不存在数据丢失风险,RAID 0 是最优选项。只写或者读写缓存,建议使用RAID 1,5,6,10,避免因为SSD本身故障导致数据丢失或损坏的情况。高速缓存加速读的原理是,当从LUN或卷读取数据时,QTS将数据复制到SSD缓存以加速未来的读取请求。加速写的原理是QTS先将传入数据写入SSD缓存,然后再将数据刷新到常规存储。如果新数据在缓存中,对新数据的读取访问也会加速。

Qtier简单描述就是,QTS系统会根据存储设备速度将存储进行分层,然后按照数据访问频率,再各层之间移动数据。将经常访问的数据移动到最快速的磁盘,以提高读写性能,并将不常访问的数据移动到大容量的磁盘,降低存储成本。

  • Seq Q32T1 Read,无论是RAID 1 还是10,有无开缓存,都基本触及或接近10G网络的速度上限。
  • Seq Q32T1 Write,不开启缓存,基本和RAID 1 和 RAID 10 实际速度接近,高速缓存加速的写速度其实就是SSD的写入速度,和高速缓存原理的描述一致。Qtier的写入,RAID 1 和 10 接近2倍的差异,而且和HDD写入速度接近,猜测应该是直接写到HDD磁盘上的。
  • 4KB Q8T8 Read,速度差异小。
  • 4KB Q8T8 Write,Qtier和不开启加速的速度是接近的,高速缓存速度是最快的。
  • 4KB Q32T1 Read,速度也相对较小。
  • 4KB Q32T1 Write,不开启加速和开启高速缓存的结果和预期的一致,高速缓存的写速预期是应该和写入SSD 的 RAID 1 速度差不多,测试结果相近。但Qtier性能较差,甚至比不开启加速的速度更低,我甚至一度怀疑我测试有问题,特意多次测量,但结果依然不佳,这点让我不是很理解。
  • 4KB Q1T1 Read,速度差异小。
  • 4KB Q1T1 Write,不论什么RAID类型,是否开启加速,速度差异都不大。

从实验结果看,顺序读取由于触及网络上限,可能真实速度还可以再更快一些,毕竟 安装在本地的 M2 SSD 顺序读取都可以到 3500 MB/s 这样的速度了。关于顺序文件写入,由于Qtier是直接写入到HDD,所以速度比较低。关于4K文件的读,速度大抵和预期的差不多,高速缓存的速度和做RAID 1的SSD读速相近,Qtier和 做 RAID 10 的 HDD 读速相近。而在写性能方面,特别是在随机并行写入的场景下,高速缓存优势明显。虽然所有涉及Qiter的测试,在测试前我已经把相关的LUN设置为Qiter必做分层的LUN了,且手动执行了分层优化的任务,但因为我的实验场景是随机数据写入,所以从实验结果上看,Qtier优势不大,真实场景下性能应该会好一些。

总之,如果是有很多随机小文件读写的场景,诸如虚拟化等,用高速缓存加速更合适。而Qtier,更适合IO可预测的场景,诸如文件服务器等。

QTS 系统中,LUN不同大小的块的速度

测试环境:

  1. NAS安装QTS系统
  2. 不开启加速,不使用Qtier
  3. 全部使用win10通过iSCSI方式连接NAS
  4. 没有ZIL同步配置项
磁盘类型 M2 SSD M2 SSD M2 SSD M2 SSD M2 SSD M2 SSD
RAID类型 RAID 0 RAID 0 RAID 1 RAID 1
块大小 512 B 4 KB 512 B 4 KB 512 B 4 KB
Seq Q32T1 Read 1210 1217 1233 1235 1235 1232
Seq Q32T1 Write 711 717 1196 1229 715 716
4KB Q8T8 Read 307 310 308 301 307 299
4KB Q8T8 Write 278 313 333 292 280 293
4KB Q32T1 Read 350 358 353 244 368 341
4KB Q32T1 Write 249 248 264 240 258 251
4KB Q1T1 Read 15 15 15 18 15 16
4KB Q1T1 Write 21 22 20 21 20 20
磁盘类型 HDD HDD HDD HDD HDD HDD HDD HDD
RAID类型 RAID 0 RAID 0 RAID 1 RAID 1 RAID 10 RAID 10
块大小 512 B 4 KB 512 B 4 KB 512 B 4 KB 512 B 4 KB
Seq Q32T1 Read 1209 944 1222 1234 934 1186 1228 1221
Seq Q32T1 Write 293 280 531 534 285 266 539 525
4KB Q8T8 Read 276 61 279 295 218 304 306 353
4KB Q8T8 Write 17 16 60 60 13 19 47 58
4KB Q32T1 Read 259 70 215 229 217 312 357 324
4KB Q32T1 Write 33 26 56 56 28 30 54 46
4KB Q1T1 Read 15 16 16 16 16 16 15 15
4KB Q1T1 Write 21 21 21 21 18 20 20 22

QTS系统中,针对不同的块大小,即使是在不同RAID场景下,并没有显著的性能区别。

QuTS hero 系统中,LUN不同大小的块的速度

测试环境:

  1. NAS安装QuTS hero 系统
  2. 不开启加速,不使用Qtier
  3. 全部使用win10通过iSCSI方式连接NAS
  4. ZIL同步IO设置为不使用
块大小 32 KB 64 KB 128 KB
磁盘类型 M2 SSD M2 SSD M2 SSD
RAID类型 RAID 1 RAID 1 RAID 1
Seq Q32T1 Read 1234 1237 1236
Seq Q32T1 Write 697 763 708
4KB Q8T8 Read 339 352 250
4KB Q8T8 Write 75 34 21
4KB Q32T1 Read 399 391 211
4KB Q32T1 Write 80 42 21
4KB Q1T1 Read 21 21 18
4KB Q1T1 Write 9.4 6.8 5.9
块大小 32 KB 64 KB 128 KB 32 KB 64 KB 128 KB 32 KB 64 KB 128 KB
RAID类型 RAID 0 RAID 0 RAID 0 RAID 1 RAID 1 RAID 1 RAID 10 RAID 10 RAID 10
磁盘类型 HDD HDD HDD HDD HDD HDD HDD HDD HDD
Seq Q32T1 Read 925 958 957 907 941 960 1205 1190 1208
Seq Q32T1 Write 294 293 288 318 312 249 473 534 528
4KB Q8T8 Read 68 67 58 65 67 55 107 103 88
4KB Q8T8 Write 25 18 10 26 18 9.0 47 27 15
4KB Q32T1 Read 68 69 60 67 67 58 98 100 85
4KB Q32T1 Write 25 17 10 26 17 8.9 43 25 14
4KB Q1T1 Read 19 21 19 19 20 21 19 19 20
4KB Q1T1 Write 14 13 10 13 14 9.0 14 14 14

和QTS系统相同的是,Quts hero系统顺序读写,小文件随机读,性能差异不大。但随机写小文件场景下,不同块大小的速度,写性能差异较大。

QuTS hero 系统中,对比ZIL同步设置对磁盘性能的影响

测试环境:

  1. NAS安装QuTS hero 系统
  2. 不开启加速,不使用Qtier
  3. 全部使用win10通过iSCSI方式连接NAS
  4. QuTS hero系统块大小统一设置64K
ZIL同步设置 不使用 始终 不使用 始终
磁盘类型 M2 SSD M2 SSD M2 SSD M2 SSD
RAID类型 RAID 0 RAID 0
Seq Q32T1 Read 1237 1222 1237 1236
Seq Q32T1 Write 704 219 989 322
4KB Q8T8 Read 272 247 346 351
4KB Q8T8 Write 25 17 38 22
4KB Q32T1 Read 361 332 382 390
4KB Q32T1 Write 32 13 71 15
4KB Q1T1 Read 18 18 18 21
4KB Q1T1 Write 7.1 1.9 8.6 2.4
ZIL同步设置 不使用 始终 不使用 始终 不使用 始终
磁盘类型 HDD HDD HDD HDD HDD HDD
RAID类型 RAID 0 RAID 0 RAID 10 RAID 10
Seq Q32T1 Read 965 946 958 1013 1190 1209
Seq Q32T1 Write 259 32 293 37 534 50
4KB Q8T8 Read 40 38 67 64 103 99
4KB Q8T8 Write 17 2.5 18 3 27 4.3
4KB Q32T1 Read 43 41 69 65 100 83
4KB Q32T1 Write 14 1.7 17 2 25 2.7
4KB Q1T1 Read 21 20 21 20 19 21
4KB Q1T1 Write 14 0.40 13 0.42 14 0.45

实测证明,ZIL对性能影响非常大,2个数量级的性能差异,非必要应尽量不开启ZIL。

你可能感兴趣的:(运维)