使用ZFS来利用一些可用的选项并管理卷,而不是RAID。我有一个逻辑设备( have )添加到一个zpool中。
ZFS ARC的性能似乎不如我的HW RAID缓存好,所以我试图禁用它,看看是否能够产生类似于在HW RAID设备上运行的基准测试的结果,但是ZFS卷的性能会受到影响。
我试着禁用主缓存和二次缓存,但这实际上损害了性能,它没有像我预期的那样使用HW RAID缓存。所以我不知所措。是否不可能在ZFS中使用我的HW缓存?也许主缓存和次缓存不是要修改的正确参数。
配置带有写回BBU缓存的HP P410i RAID10。
从RAID中选择具有单个逻辑设备的Zpool
为测试设备速度创建了一个测试稀疏的zvol (/dev/zd0 0)
更新此问题的原因是ZFS开销导致性能不足。当ZoL的ARC (主缓存)被禁用时,此时存在极大的开销,特别是在随机写入时。我不确定这是一般的ZoL或ZFS特有的。我建议您至少离开primarycache=metadata,如果您希望减少ARC大小,但保持磁盘的性能。
发布于 2014-08-21 05:26:32
我在硬件RAID中使用ZFS,并利用HW控制器的flash支持的写缓存(而不是ZIL设备),并利用ZFS缓存进行读取。
为什么你觉得ZFS表现不好?您能分享您的zfs get all pool/filesystem输出以及您提到的基准吗?很可能只是个调优问题。
编辑:
Linux上ZFS的默认设置不是很好。你需要调整一下。
请阅读我发布的工作流程:与ext4 4结合使用的透明压缩文件系统
它们的关键部分是ashift值和zvol的volblocksize。
此外,您还需要修改/etc/modprobe.d/zfs.conf
示例:
# zfs.conf for an SSD-based pool and 96GB RAM
options zfs zfs_arc_max=45000000000
options zfs zfs_vdev_scrub_min_active=48
options zfs zfs_vdev_scrub_max_active=128
options zfs zfs_vdev_sync_write_min_active=64
options zfs zfs_vdev_sync_write_max_active=128
options zfs zfs_vdev_sync_read_min_active=64
options zfs zfs_vdev_sync_read_max_active=128
options zfs zfs_vdev_async_read_min_active=64
options zfs zfs_vdev_async_read_max_active=128
options zfs zfs_top_maxinflight=160编辑:
好吧,我的建议是始终使用lz4压缩,使用体积值128 k,将ARC限制在内存的40%左右,调整我发布的zfs.conf中的值(如果使用10k SAS磁盘,可能会将所有值降低50% ),并启用带有tuned-adm profile enterprise-storage的调优-adm框架。
https://serverfault.com/questions/622946
复制相似问题