群晖 NAS 磁盘读写速度的一些测试

2018-10-05 07:44:58 +08:00
 Sylv

前提

近期我更换了我的群晖 NAS 里的硬盘,在选择存储空间的文件系统时不知该选 ext4 还是 Btrfs,我主要考量的是磁盘的读写性能,于是就写了个脚本测试了下我的群晖 NAS 在两种文件系统下的磁盘读写速度,顺便也测试了下其在不同 RAID 类型下的磁盘读写速度。

目录

说明

一些结论

TL;DR

细节对比

测试硬件

群晖 NAS

我的群晖 NAS 是 2013 年款的 DS1513+,五盘位,CPU 是 Intel Atom D2700 Dual Core 2.13 GHz,内存扩充到了 4 GiB,群晖系统版本是 DSM 6.2。

硬盘

测试使用的硬盘是四个 HGST 昱科的 Deskstar NAS 充氦硬盘(HGST Deskstar NAS 3.5" 10TB 7200 RPM 256MB Cache),型号是 HDN721010ALE604,容量是 10 TB,转速是 7200 RPM,缓存是 256 MiB,网上这款硬盘的评测

测试使用的脚本

synology_disk_benchmark.sh

使用方法:

  1. 保存 synology_disk_benchmark.shxfio.conf 到 NAS 上。
  2. 授予脚本执行权限:
chmod +x synology_disk_benchmark.sh
  1. 运行测试:
sudo ./synology_disk_benchmark.sh 测试名
  1. 测试根据机能和磁盘速度的不同可能会花费数十分钟。
  2. 测试结束后会生成一个结果报告文件:测试名.md

测试脚本使用的命令

hdparm 读取测试

sudo hdparm -Tt $device

dd 读写测试

dd 读取测试

# 生成一个 1 GiB 大小的随机数据测试文件
head -c 1G </dev/urandom >test
# 清除缓存
sync; echo 3 | sudo tee /proc/sys/vm/drop_caches > /dev/null
# 从 test 文件读取,每次读取 1 MiB 数据,读取 1024 次,共读取 1 GiB 数据
dd if=test of=/dev/null bs=1M count=1024

dd 写入测试

# 写入 0 到 test 文件,每次写入 x 数据,写入 y 次,共写入 x*y 数据( dsync 不缓存)
dd if=/dev/zero of=test bs=$x count=$y oflag=dsync

分别测试了 bs 读写块大小为 1 GiB、128 MiB、1 MiB、128 KiB、4 KiB、512 bytes 时的写入速度。

fio 读写测试

fio xfio.conf

fio 测试使用的配置文件:xfio.conf

进行了以下测试:

注:群晖内置了 fio 命令。

测试结果

ext4 和 Btrfs 文件系统的对比

BASIC 单盘

JBOD 四盘

RAID0 四盘

RAID1 四盘

RAID10 四盘

RAID5 四盘

SHR 四盘(相当于 RAID5 )

RAID6 四盘

SHR2 四盘(相当于 RAID6 )

ext4 在不同 RAID 类型下的对比

原始数据

原始测试结果数据

42038 次点击
所在节点    NAS
33 条回复
ferock
2018-10-05 13:55:00 +08:00
btrfs 比较 ext4 性能当然不行,毕竟有很多备份的特性在那里。
但是。。。
这是以后的趋势
ryd994
2018-10-05 13:56:07 +08:00
@514146235 我是 CentOS 打底,kvm 开虚拟机,pcie 直通 HBA 给 nas4free。其他服务放其他虚拟机。虚拟网络用 jumbo frame,其实开销很小。唯一缺点就是内存消耗大。但是二手服务器 ECC 内存都是白菜价。无论你是不是用 zfs,对于数据安全,ECC 内存都是非常值得的投资

我 3 年前用 btrfs 时,它就已经在内核里,而且声称 production ready 了。实际呢?意外断电后全盘无法识别。信任就是一次偶然可以毁掉的。

btrfs 那时候还号称是未来的趋势。然而到现在也没有取代 ext4,而且性能也远比不上 ext4。在我看来,btrfs 是对 zfs 的一次失败的重造轮子。
RedHat 系不再默认 ext4,而是改用了 xfs。xfs 对小文件,SSD,的性能非常好。所以用于服务器系统盘最合适。数据盘再考虑其它。

顺带一提,ext4 也可以一定程度上 SSD cache。使用 external journal。

@zn 不到 8G 也可以。只要你不开去重。NAS 都是顺序读写,瓶颈总是在带宽。1G/T+8G 是建议配置,建议而已。
wowodavid
2018-10-05 13:59:29 +08:00
瓶颈还是网络啊,万兆网关键不在设备,而在于重新装修的成本
wtdd
2018-10-05 14:32:56 +08:00
NAS 毁硬盘不是开玩笑的,建议还是保命优先,性能就随他去吧……
ryd994
2018-10-05 15:09:13 +08:00
@wtdd raid6 以上,坏就坏呗
能同时坏三块那真算我倒霉了
raid5 就算了,重建分分钟再挂一块挂给你看
该备份的还是要另外备

再推一波 wd my book,毕竟是氦气盘体
maolaohei
2018-10-05 15:22:53 +08:00
用手机看真卡,还得用电脑看
Sylv
2018-10-06 01:36:07 +08:00
@xinhangliu 我算过了这帖图片一共 25.4 MB 大小,现在流量这么便宜,用不了几毛钱。😛
Sylv
2018-10-06 01:45:54 +08:00
@hjc4869 群晖因为用的是自己的 Linux 系统,要用 iozone 等其他测试软件得自己编译,所以就用了一些自带的工具简单测试了下,日后若有其他用户进行类似测试也好有个参考。
Sylv
2018-10-06 01:48:20 +08:00
@wowodavid 据说超五类线距离不长的话是足够跑万兆的,我下一步准备试试。
Sylv
2018-10-06 01:52:56 +08:00
@wtdd 我是 RAID5 + 一比一备份。其实 NAS 配上靠谱 UPS 并没有那么容易毁硬盘的,我之前的多块硬盘 7x24 运行了四年多,一块都没出问题。
msg7086
2018-10-06 05:38:49 +08:00
NAS 跑性能测试……额。

我自己是 xfs 一把梭,公司里 NAS 用的 ZFS on Linux,虽然比原厂 ZFS 可能要不稳点,但是现在还没遇到问题。

@Sylv 我们 ZFS 服务器跑了 2 年,至今已经累计坏了 5 块了。
希捷企业级,上电的时候大概 20-25k 的 POH,现在普遍在 35-45k。
上次是两块一起坏,一起换掉以后重建的。这次是前几天刚坏了,刚换上重建的。
还是挺频繁的。

@ryd994 我选择 easystore,比 my book 好拆,而且可能会便宜点。
缺点是保修少一年,但是反正也拆开了……
wugeng668
2021-03-31 15:05:12 +08:00
UP...图全挂了。。。我想看看 ext4 和 btrfs 在群晖下 smb 速度的对比....这两天格式化硬盘选哪个 有点纠结
Sylv
2021-04-01 05:24:31 +08:00
@wugeng668 上传了个离线版本文档,请查看附言链接下载。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/494975

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX