V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sadfQED2
V2EX  ›  NAS

PVE 黑群晖场景下,各种姿势的存储方式性能对比

  •  
  •   sadfQED2 · 191 天前 · 632 次点击
    这是一个创建于 191 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景: https://www.v2ex.com/t/983981

    为了找到问题根本,我耗时两天,进行了各种磁盘性能测试。

    省流总结:随便什么姿势,随便选一个就行,性能区别不大(我主板只有一个 SATA 控制器,没测直通控制器,但是按网上说的,区别也不大)

    设备:

    物理机:CPU:D1581 内存:128G 2133 MHz ECC 磁盘:3T HDD 7200 转 垂直盘 * 2

    虚拟机: 4 核 CPU 8G 内存

    系统:arpl+DSM7.2.1

    首先,我采用最普遍的方式,PVE 把 2 块磁盘全盘映射到虚拟机,然后进行测试(由于磁盘测试耗时实在是太长了,因此下面所有测试都只跑了 4K 随机读取性能):

    RAID 文件系统 数据完整性校验 压缩 读取性能
    RAID1 Ext4 不支持 不支持 3757KiB/s
    RAID1 Btrfs 开启 开启 3692KiB/s
    RAID1 Btrfs 开启 不开启 3752KiB/s
    RAID1 Btrfs 不开启 不开启 3798KiB/s
    RAID0 Ext4 不支持 不支持 3947KiB/s

    这个结果可以说明好几个问题:

    1 、btrfs 和 ext4 性能差异不大

    2 、btrfs 开不开群晖的压缩(我不知道他用的哪种算法),开不开完整校验,性能差距不大

    3 、群晖中,Raid0 和 Raid1 都能够优化磁盘读取性能,都接近 2N 的速度

    接着,为了做对照,同样的宿主机下,把同样的 2 块磁盘通过全盘映射的方式挂到 debian 系统下面测试,这里我偷懒了,没配 RAID ,只挂了一块盘,测试

    RAID 文件系统 数据完整性校验 压缩 读取性能
    Ext4 不支持 不支持 2142KiB/s

    这个测试数据基本说明了群晖 Raid0 和 Raid1 确实提升了磁盘读取速度。

    到这里,我原帖 Copy 速度为啥跑不上去的根源基本上找到了。但是!我还有一个疑问,那就是我第一个测试结果,我的磁盘是怎么跑到 400Mib/s 的?我当时绝对跑出那个速度了,但是后续为啥复现不出来了呢?

    我仔细回忆了当时的测试步骤,当时应该是刚刚装好系统,当时是 PVE 使用 ZFS 建的磁盘组,然后建了一个虚拟磁盘给虚拟机,当时想着群晖装 fio 不方便,就直接拿 Debian 测试了,想着测磁盘性能,应该和操作系统没关系。

    于是又进行测试

    操作系统 宿主机文件系统 宿主机压缩 虚拟机文件系统 读取性能
    debian ZFS lz4 ashift 12 Ext4 61.5MiB/s
    debian ZFS lz4 ashift 9 Ext4 439MiB/s
    DSM ZFS lz4 ashift 9 Ext4 54.7MiB/s
    DSM ZFS lz4 ashift 9 Btrfs 53.1MiB/s
    DSM ZFS lz4 ashift 9 Ext4 On Raid0 64.4MiB/s

    这里也能看出一个问题,宿主机使用阵列后,虚拟机再组阵列就不能达到 2N 的速度了

    到这里,400+的读取速度复现出来了。我盲猜一波,造成这种问题的原因应该是 Fio 写入的测试数据都是重复的值,ZFS 开启压缩算法后直接给去重了,读取性能约等于解压性能。

    但是,我还有一点纳闷,DSM 在 ZFS 虚拟盘的场景下,读取性能还是不如 Debian ,Debian 能跑到 400+,群晖才 50+,原因未知,有请大佬分析。

    顺带一问,在 ZFS 开启压缩后,怎么能够真实的测试出磁盘读取性能呢?用 FIO 测出来的应该不是真实的了

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   815 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 22:42 · PVG 06:42 · LAX 15:42 · JFK 18:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.