ZFS慢速读取8个驱动器上的4个vdev条纹镜像

我有8个3TB的WD红色SATA驱动器sdb通过sdi我在我的池中使用。

我的启动和操作系统驱动器是sda上的850 EVO SSD。

8个WD硬盘位于Supermicro ATX DDR4 LGA 1151 C7Z170-OCE-XCE上的一个PCIE 3.0 x16,每个通道600MB / s的Supermicro AOC-SAS2LP-MV8附加卡,8通道SAS / O主板。

我的服务器和ZFS设置如下:

 [root @ nas〜]#cat / etc / redhat-release
 CentOS Linux版本7.2.1511(核心)

 [root @ nas〜]#uname -a
 Linux nas.whittenberg.domain 3.10.0-327.28.2.el7.x86_64#1 SMP Wed Aug 3 11:11:39 UTC 2016 x86_64 x86_64 x86_64 GNU / Linux

 [root @ nas〜]#cat / var / log / dmesg |  grep ZFS
 [0.793572] ZFS:加载模块v0.6.5.7-1,ZFS池版本5000,ZFS文件系统版本5
 [root @ nas〜]#cat / var / log / dmesg |  grep SPL
 [0.777144] SPL:加载模块v0.6.5.7-1

 [root @ nas〜]#cat /etc/modprobe.d/zfs.conf
 #禁用预取= 1
选项zfs zfs_prefetch_disable = 0
 #将arc max设置为48GB。 我的服务器有64GB
选项zfs zfs_arc_max = 51539607552
 #将大小设置为与文件系统块大小相同的128k
选项zfs zfs_vdev_cache_size = 1310720
选项zfs zfs_vdev_cache_max = 1310720
选项zfs zfs_read_chunk_size = 1310720
选项zfs zfs_vdev_cache_bshift = 12
选项zfs zfs_read_chunk_size = 1310720
 #设置为10,所以我们得到更好的IO成本的宽度
选项zfs zfs_vdev_async_read_max_active = 10
选项zfs zfs_vdev_async_read_min_active = 10
选项zfs zfs_vdev_async_write_max_active = 10
选项zfs zfs_vdev_async_write_min_active = 10
选项zfs zfs_vdev_sync_read_max_active = 10
选项zfs zfs_vdev_sync_read_min_active = 10
选项zfs zfs_vdev_sync_write_max_active = 10
选项zfs zfs_vdev_sync_write_min_active = 10

 [root @ nas〜]#zpool状态
  游泳池:myraid
 状态:在线
  扫描:磨砂修复0 0h16m与0错误在星期日8月7日01:40:49 2016
configuration:

        名称状态读写CKSUM
         myraid在线0 0 0
          镜像0在线0 0 0
             sdb ONLINE 0 0 0
             sdc ONLINE 0 0 0
          镜像-1在线0 0 0
             sdd在线0 0 0
             sde在线0 0 0
          镜像-2在线0 0 0
             sdf ONLINE 0 0 0
             sdg ONLINE 0 0 0
          镜像-3在线0 0 0
             sdh在线0 0 0
             sdi在线0 0 0

错误:没有已知的数据错误

 [root @ nas〜]#zpool iostat -v
               容量操作带宽
池分配空闲读写写读写
 ---------- ----- ----- ----- ----- ----- -----
 myraid 382G 10.5T 119 35 14.0M 606K
  镜面95.5G 2.63T 29 8 3.49M 149K
     sdb  -   -  28 8 3.50M 153K
     sdc  -   -  28 8 3.50M 153K
  镜子95.5G 2.63T 29 8 3.49M 151K
     sdd  -   -  28 8 3.50M 155K
     sde  -   -  28 8 3.50M 155K
  镜子95.5G 2.63T 29 8 3.49M 152K
     sdf  -   -  28 8 3.50M 156K
     sdg  -   -  28 8 3.50M 156K
  镜子95.5G 2.63T 29 9 3.49M 155K
     sdh  -   -  28 9 3.50M 159K
     sdi  -   -  28 9 3.50M 159K
 ---------- ----- ----- ----- ----- ----- -----

 [root @ nas〜]#zfs get all
名称属性值来源
 myraidtypes的文件系统 - 
 myraid创作Sat Aug 6 21:01 2016  - 
 myraid使用382G  - 
 myraid可用10.2T  - 
 myraid参考了382G  - 
 myraid compressratio 1.05x  - 
 myraid登上是的 - 
 myraid配额没有默认
 myraid保留没有默认
 myraidlogging本地128K
 myraid安装点/ myraid默认
 myraid sharenfs默认closures
 myraid校验fletcher4本地
 myraid压缩lz4本地
 myraidclosures本地
默认的myraid设备
 myraid默认执行
默认的myraid setuid
 myraid只读默认
 myraid划掉默认
 myraid snapdir隐藏默认
 myraid aclinherit限制默认
 myraid可以挂载默认
 myraid xattr默认
 myraid复制1默认
 myraid版本5  - 
 myraid utf8onlyclosures - 
 myraid正常化无 - 
 myraid casesensitivity敏感 - 
 myraid vscanclosures默认
 myraid nbmandclosures默认
我的股票违约
 myraid refquota没有默认
 myraid refreservation没有默认
 myraid primarycache所有地方
 myraid二级caching全部默认
 myraid usedbysnapshots 0  - 
 myraid usedbydataset 382G  - 
 myraid usedbychildren 1.98M  - 
 myraid usedbyrefreservation 0  - 
 myraid logbias延迟本地
 myraid从本地删除
 myraid mlslabel没有默认
 myraid同步禁用本地
 myraid refcompressratio 1.05x  - 
 myraid写的382G  - 
 myraid logicalused 403G  - 
 myraid logicalreferenced 403G  - 
 myraid filesystem_limit无默认值
 myraid snapshot_limit无默认值
 myraid filesystem_count none默认
 myraid snapshot_count none默认
 myraid snapdev隐藏默认
 myraid acltypeclosures默认
 myraid上下文无默认值
 myraid fscontext无默认值
 myraid defcontext没有默认
 myraid rootcontext无默认值
 myraidclosures默认
 myraid redundant_metadata全部默认
 myraid覆盖默认

 [root @ nas〜]#zpool get all
名称属性值来源
 myraid大小10.9T  - 
我的能力3% - 
 myraid altroot  - 默认
 myraid健康在线 - 
 myraid guid 1068639342092444414默认
 myraid版本 - 默认
 myraid bootfs  - 默认
我的默认代表团
 myraid autoreplaceclosures默认
 myraid cachefile  - 默认
 myraid failmode等待默认
 myraid将defaultnapshotsclosures
 myraid自动扩展closures默认
 myraid重复数据删除0默认
 myraid dedupratio 1.00x  - 
 myraid免费10.5T  - 
 myraid分配382G  - 
 myraid只读 - 
 myraid ashift 0默认
 myraid评论 - 默认
 myraid扩大 -   - 
 myraid释放0默认
 myraid碎片1% - 
 myraid泄露了0默认
 myraidfunction@ async_destroy启用本地
 myraidfunction@ empty_bpobj启用本地
 myraidfunction@ lz4_compress活动本地
 myraidfunction@ spacemap_histogram活动本地
 myraidfunction@ enabled_txg活动本地
 myraidfunction@ hole_birth活动本地
 myraidfunction@ extensible_dataset启用本地
 myraidfunction@ embedded_data活动本地
 myraidfunction@书签本地启用
 myraidfunction@ filesystem_limits启用本地
 myraid特性@ large_blocks启用本地

 [root @ nas〜]#zdb |  grep ashift
            灰烬:12
            灰烬:12
            灰烬:12
            灰烬:12

 [root @ nas〜]#lsblk -t -e 11,1
名称alignment最小IO OPT-IO PHY-SEC LOG-SEC ROTA SCHED RQ-SIZE RA WSAME
 sda 0 512 0 512 512 0 cfq 128 128 0B
 ├─sda10 512 0 512 512 0 cfq 128 128 0B
 ├─sda20 512 0 512 512 0 cfq 128 128 0B
 └─sda30 512 0 512 512 0 cfq 128 128 0B
   ├─centos_nas-swap 0 512 0 512 512 0 128 128 0B
   ├─centos_nas-root 0 512 0 512 512 0 128 128 0B
   └─centos_nas-home 0 512 0 512 512 0 128 128 0B
 sdb 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sdb10 4096 0 4096 512 1 noop 128 128 0B
 └─sdb90 4096 0 4096 512 1 noop 128 128 0B
 sdc 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sdc10 4096 0 4096 512 1 noop 128 128 0B
 └─sdc90 4096 0 4096 512 1 noop 128 128 0B
 sdd 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sdd10 4096 0 4096 512 1 noop 128 128 0B
 └─sdd90 4096 0 4096 512 1 noop 128 128 0B
 sde 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sde10 4096 0 4096 512 1 noop 128 128 0B
 └─sde90 4096 0 4096 512 1 noop 128 128 0B
 sdf 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sdf10 4096 0 4096 512 1 noop 128 128 0B
 └─sdf90 4096 0 4096 512 1 noop 128 128 0B
 sdg 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sdg10 4096 0 4096 512 1 noop 128 128 0B
 └─sdg90 4096 0 4096 512 1 noop 128 128 0B
 sdh 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sdh10 4096 0 4096 512 1 noop 128 128 0B
 └─sdh90 4096 0 4096 512 1 noop 128 128 0B
 sdi 0 4096 0 4096 512 1 noop 128 128 0B
 ├─sdi10 4096 0 4096 512 1 noop 128 128 0B
 └─sdi90 4096 0 4096 512 1 noop 128 128 0B

我的问题是,当我第一次读取文件时,通过我的10Gb连接(DAC PC到服务器),或者使用rsync从池到服务器的SSD,我刚刚超过100MB。 如果我第二次读取相同的文件,则在10Gb DAC连接上获得1.2GB,从池到SSD中获得380MB。

我重新启动服务器并运行testing读取从池到SSD

 [root @ nas〜]#rsync -h --progress /myraid/testmovie.avi /home/samba/testmovie.avi
 testmovie.avi
        1.08G 100%79.59MB / s 0:00:12(xfer#1,to-check = 0/1)

发送的1.08G字节收到31个字节80.21M字节/秒
总大小为1.08G加速为1.00

然后我做了同样的事情之后被读了一次

 [root @ nas〜]#rsync -h --progress /myraid/testmovie.avi /home/samba/testmovie.avi
 testmovie.avi
        1.08G 100%394.54MB / s 0:00:02(xfer#1,to-check = 0/1)

发送的1.08G字节收到31个字节433.13M字节/秒
总大小为1.08G加速为1.00

任何指针? 在第一次阅读时我是否应该读取四个驱动器的读取速度?

谢谢!

enter code here