Recent Posts

ZFS (sync, async) R/W IOPS / throughput performance tuning

20 minute read

背景 本文讨论一下zfs读写IOPS或吞吐量的优化技巧, (读写操作分同步和异步两种情况). 影响性能的因素 1. 底层设备的性能直接影响同步读写 iops, throughput. 异步读写和cache(arc, l2arc) 设备或配置有关. 2. vdev 的冗余选择影响iops, through. ...

ZFS module parameters in Linux (OR kernel parameter in FreeBSD or zfs-in-kernel OS)

5 minute read

背景 ZFS 在linux中以模块的形式加载, ZFS的内核参数没有整合到linux内核参数中, 所以无法使用sysctl来修改. 只能通过修改模块的参数来变更这些参数. ZFS内核参数的意义可参见modinfo $modname, 或者直接查看zfs源代码. 有些参数是根据系统读数设定的(如内存) 与Li...

ZIL (ZFS intent log) zil.c

2 minute read

背景 ZIL或称SLOG, 被用于提升ZFS系统的离散fsync性能. 类似数据库的redo log或wal. 注意 1. 每个dataset对应一个zil, 也就是说一个zpool有多个zfs的话, 如果有log设备, 那么在log设备中实际上包含了多个ZIL entry. 数据写入ZIL后(fsync...

ZFS ARC & L2ARC zfs-$ver/module/zfs/arc.c

10 minute read

背景 可调参数, 含义以及默认值见arc.c或/sys/module/zfs/parameter/$parm_name 如果是freebsd或其他原生支持zfs的系统, 调整sysctl.conf. parm: zfs_arc_min:Min arc size (ulong) parm...

ZFS 12SATA JBOD vs MSA 2312FC 24SAS

12 minute read

背景 今天拿了两台主机PK一下zfs和存储的性能. ZFS主机 联想 Reno/Raleigh 8核 Intel(R) Xeon(R) CPU E5-2407 0 @ 2.20GHz 24GB内存 12*SATA 2TB, 其中2块RAID1, 另外10块作为zpool (raidz 9 +...

ZPOOL health check and repair use scrub

3 minute read

背景 zpool健康检查(scrub)主要用于通过checksum来检查zpool数据块的数据是否正常, 如果vdev是mirror或raidz的, 可以自动从其他设备来修复异常的数据块. 由于健康检查是IO开销很大的动作, 所以建议在不繁忙的时候操作(scrub只检查分配出去的数据块, 不会检查空闲的数据块, ...

ZFS thin provisioning / sparse ZVOL

3 minute read

背景 zfs支持在zpool基础上创建块设备或volume. 这个volume同样拥有快照等zfs的功能. 正常情况下创建zvol时, -V指定的空间会直接从zpool中取出, 确保这个zvol可以使用指定的空间, 而不会导致空间溢出的问题. [root@db- zp1]# df -h Files...

Install ZFS on CentOS use yum

3 minute read

背景 使用打包好的安装, 好处是加了dkms支持. 一些配置也都弄好了. 以centos 6.x为例 需要访问外网. $ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release$(rpm...