为你的NAS添加缓存
缓存的意义
几乎在计算机科学中,缓存的存在一般有两种目的。
第一是为了不让数据端受到冲击。
比如存储中的写缓存,是先把用户的数据通过高速存储介质先进行收集,然后等到低速存储设备有空闲的时候再写入。这样做的好处就是用户端只要把数据发送给高速存储介质(缓存),就可以离线了,为用户提供了高效的数据写服务。
第二是为了不让用户端受到冲击。
比如存储中的读缓存,它会”预判“用户经常使用的数据,预先把这些数据从低速存储中读取到高速存储,等到用户需要这些数据的时候直接提供给用户,这样做的好处依然是为了满足用户端快速拿到数据的需求。
以下为OSS文件系统和缓存系统的原理图:
缓存的配置注意事项
无论是读还是写缓存,都有自己的注意事项。
首先来看读缓存,之前我们说过读缓存要想成功,那系统必须能够精准的覆盖或者说是预判用户的需求,如果用户请求的数据刚好缓存中没有,那么就没办法了,只能直接从低速存储介质中读取,所以,这也称之为————命中率。
要想提高命中率,一般来说有两点注意事项:
- 你的高速缓存的容量要与低速存储空间的容量以及用户平时读取的数据大小相匹配。
- 存储平台(或者说管理平台)的命中率算法的好坏。
那么,写缓存要想命中率比较高,基本上较为容易,那就是你分配给作为写缓存的高速存储介质的空间是多少,比如我经常一次性写入的数据量大小是100G,但是我的写缓存只分配了50G,那么就很容易”写穿“,这时候你会发现前面数据速率很高,到后面会骤然降低,这就是因为你的写缓存容量不足,已经无法高速缓存那么多的数据了。
在飞牛上配置高速缓存
首先我们要知道,所谓缓存或者说高速缓存,那必须他的读取和写入速率要比你的数据最终落地的存储介质速度要快。
所以说,我在NAS上配置了一块三星990Pro 500GB的M.2(支持NVME协议) 的固态硬盘,他的读写速率非常快,已经远远快过我的带宽,所以,用它在NAS上速率这块是完全够用的。
然后,我们就可以在NAS上去配置这块硬盘作为缓存硬盘,配置的方法非常简单,直接在存储管理里面就可以配置了
点击缓存加速后,我们可以看到具体的缓存信息。
从这里我们可以看到,我的容量用到了将近400GB,读命中率为77.13%,写命中率在95.25%。
以上数据可以看出,作为民用NAS系统的飞牛OS在缓存算法上做的还是非常不错的。
在使用缓存的过程中,会明显感觉到读写数据比以前快的多。
部署缓存的注意事项
通过缓存的基本工作原理我们可得,缓存是先把数据保存在自己这,然后找时间慢慢写入数据落地盘的,那也就意味着,相对稳妥的情况下,我们最好也需要使用两块缓存盘做Raid 1,这样数据会有一个备份。
如果你在写入数据的时候特别不走运断电了,那么如果没有Raid 1保护的缓存中的数据很有可能丢失或生成校验错误。
当然,我这里是没有做缓存的Raid配置的(每次写数据的时候都求老天保佑)
如果你也折腾NAS或者有频繁的数据读取需求,那么我觉得缓存的配置会是你整体的使用体验更上一个档次。
Enjoy And Peace!






