我有一个文件服务器,其中有一堆磁盘在BTRFS池中一起运行,并想添加一个SSD进行缓存。我主要不是在加快速度之后,而是想在不经常使用硬盘的情况下,经常进行常规的小访问以关闭硬盘(不全天候24/7运行将节省能量,并且应该使磁盘使用时间更长)。
据我所知,目前在Linux中实现了两种SSD缓存技术,即dm-cache和bcache。仍然告诉dm-cache效率更高,但是两者的开发仍在进行中,我不需要调整绝对最大效率。
在阅读bcache的文档时,我遇到了以下选项:
writeback_delay:当脏数据被写入高速缓存并且之前它不包含任何脏数据时,在启动写回之前要等待几秒钟。默认为30。
writeback_percent:如果不为零,则bcache会通过限制后台写回并使用PD控制器平滑地调整速率来尝试保持此百分比的缓存处于脏状态。
writeback_running:如果关闭,则完全不会进行脏数据的写回。脏数据仍将被添加到缓存中,直到大部分已满为止。仅用于基准测试。默认为开。
设置一个足够大的值writeback_delay
似乎对我来说是有用的:仅每小时写回一次,或者(如果发生这种情况我会假设)如果缓存已满。
这是一个合理的设置,我是否还考虑了其他任何方法来成功降低磁盘旋转速度?如果满足我的要求,我也可以选择完全不同的路线。
@gorkypl似乎正在寻找类似问题的另一种解决方案,但是具有不同的要求和环境,并且也未收到答案。
bcache
。