一、什么是Cache技术
Cache即高速缓存,是存储系统中用于缓存主机数据,提高阵列性能及可靠性的部件。Cache主要用来缓存主机数据,使主机在进行数据读写时不用每次都对硬盘进行操作,从而提高系统的读写性能。同时存储阵列通常使用双主控,且采用双控双活技术,双控制器都存在相同大小相同规格的Cache,使得数据在本端控制器Cache和对端控制器Cache都有缓存,即两个控制器的写Cache数据通过相互镜像实现备份,确保数据的安全和完整,提高了系统的可靠性。
两个控制器的写Cache数据通过相互镜像实现备份,确保数据的安全和完整,提高了系统的可靠性。
二、实现机制
读Cache:作用为缓存读数据;在有主机读请求下发时,Cache会先将磁盘中数据读到内存中,并启动预取,根据数据的连续性将磁盘中后续可能会被主机读到的数据预取到Cache中,增加后续主机请求的读命中概率。
写Cache:作用为缓存写数据,在有主机写请求下发时,Cache会先将数据写到内存的固定区域中,并返回给主机写完成,后续Cache会将这部分数据整合后统一写到硬盘中,借此提高主机写的效率。
镜像Cache:作用为缓存写数据并在对端控制器Cache保存这部分数据的镜像,在有主机镜像写请求下发时,Cache会将这部分数据分别写到本端控制器的内存及对端控制器的内存,保证两端数据的一致性。实际上,本端的镜像Cache就是对端写Cache的镜像,是对端写Cache的备份。这样的结构充分保证了系统的高可用性。
三、LUN的读写策略选择
读/写策略 | 原理 | 应用场景 |
---|---|---|
常驻 | 读数据或者写数据以最低优先级淘汰,尽量保证常驻在内存中 | 适合部分业务对性能要求很高并且数据量不大的情况。例如在数据库应用中的日志LUN。 |
默认 | 读数据或者写数据以默认优先级淘汰,按照正常算法进行释放 | 常规场景下适用。 |
回收 | 读数据或者写数据以最高优先级淘汰,尽快将内存数据刷盘释放 | 适合大块数据读写,并且一般多数情况只读写一次的场景。例如归档业务场景。 |
使用存储系统之前,为了使存储系统的性能达到最优状态,需要根据实际的数据存储情况,为LUN选择合适的读写和预取策略
读策略:Cache的读数据策略,系统提供三种读策略:常驻、默认、回收。
写策略:Cache的写数据策略,系统提供三种写策略:常驻、默认、回收。
预取策略:应用服务器下发读I/O请求后,数据从磁盘中读出的方式。
OceanStor的基本协议应用介绍完毕,下一篇将更新《OceanStor篇章4.企业统一存储技术基本概念之存储池构建原理》!