码迷,mamicode.com
首页 > 系统相关 > 详细

14【华为HCIE-Storage】Cache读\写\镜像&一高低水位&二写盘&三读写策略&四读机制

时间:2018-04-04 15:06:26      阅读:323      评论:0      收藏:0      [点我收藏+]

标签:HCIE   storage   hostman   

------------------------------------重要说明------------------------------------

以下部分内容来网络,部分自华为存储官方教材

具体教材内容请移步华为存储官网进行教材下载

    网络引用内容无法找到原创,如有侵权请通知

------------------------------------重要说明------------------------------------


1. Cache技术(读\写\镜像&一高低水位&二写盘&三读写策略&四读机制)

Cache即高速缓存,是存储系统中用于缓存主机数据,提高阵列性能及可靠性的部件。Cache主要用来缓存主机数据,使主机在进行数据读写时不用每次都对硬盘进行操作,从而提高系统的读写性能。同时存储阵列通常使用双主控,且采用双控双活技术,双控制器都存在相同大小相同规格的Cache,使得数据在本端控制器Cache和对端控制器Cache都有缓存,即两个控制器的写Cache数据通过相互镜像实现备份,确保数据的安全和完整,提高了系统的可靠性。

① 读cache

读Cache:作用为缓存读数据

在有主机读请求下发时, Cache会先将磁盘中数据读到内存中,并启动预取,根据数据的连续性将磁盘中后续可能会被主机读到的数据预取到Cache中,增加后续主机请求的读命中概率。

② 写cache

写Cache:作用为缓存写数据

在有主机写请求下发时, Cache会先将数据写到内存的固定区域中,并返回给主机写完成,后续Cache会将这部分数据整合后统一写到硬盘中,借此提高主机写的效率。

③ 镜像cache

镜像Cache:作用为缓存写数据并在对端控制器Cache保存这部分数据的镜像,在有主机镜像写请求下发时, Cache会将这部分数据分别写到本端控制器的内存及对端控制器的内存,保证两端数据的一致性。

实际上,本端的镜像Cache就是对端写Cache的镜像,是对端写Cache的备份。这样的结构充分保证了系统的高可用性

技术分享图片

技术分享图片

Cache镜像技术是通过镜像通道实现的。可采用SAS、 PCI-E或FC作为镜像通道。 由于在物理上采用了两条镜像通道,使系统在可靠性上得到了进一步的提升,即使其中一条通道出现故障也不会影响业务,保证业务的连续性。

④ 高低水位

Cache中高低水位是指Cache中存储脏数据的最高限制值和最低限制值;


技术分享图片

默认高水位80,低水位20;

刷盘线程每隔1S启动一次;

高水位不宜设置太高,如果高水位的值太高,页面缓冲就小,如果前端IO流量突然增加,会产生IO波动和时延增大的现象,从而影响写性能;

低水位不宜设置太低,如果低水位设置的值太低,会导致后端将缓存数据频繁写入硬盘,降低写性能;

高低水位的间距不宜太小,如果取值间距太小,不能很好利用后端带宽;

⑤ 写盘

写机制:回写、透写;


技术分享图片

技术分享图片

a.  回写

回写分为:回写镜像、回写不镜像

镜像与不镜像的差别在于:当一个写IO从A控制器下发, 当到达A控制器的Cache之后, 是否需要将该IO再写入到B控制器的Cache作备份;

如果采用了回写镜像的方式, 由于进行了额外的两个控制器之间的交互以及数据的传输, 因此总体的性能表现不会比回写不镜像的方式好。

应用服务器下发数据回写请求时,数据块写入本端存储系统Cache后,本端存储系统就将写IO结果返回给应用服务器,再将数据块写入异构存储系统中。

b.  透写

应用服务器下发数据透写请求时,数据块写入本端存储系统缓存,再从本端cache写入对端cache,当数据块写入磁盘成功后,写IO结果才返回给应用服务器。

⑥ Cache读写策略(三策略)

读策略:cache的读数据策略,系统提供三种读策略:常驻、默认、回收

写策略:cache的写数据策略,系统提供三种写策略:常驻、默认、回收

a.  常驻

读取数据或写入数据以最低优先级淘汰,尽量保证常驻在内存中;

应用场景:适合部分业务对性能要求很高并且数据量不大的情况。例如在数据库应用中的日志LUN。

b.  默认

读取数据或写入数据以默认优先级淘汰,按照正常算法进行;

应用场景:常规场景下适用。

c.  回收

读取数据或写入数据以最高优先级淘汰,尽快将内存数据刷盘释放;

使用场景:适合大块数据读写,并且一般情况下之读写一次的场景。例如归档业务场景。

⑦ Cache预取机制(四机制)

预取机制:智能预取、固定预取、可变预取、不预取;

a.  智能预取

对主机读请求进行连续判断,如果是连续的请求,则将当前读请求后面的一段数据从硬盘读预取到Cache中,提高读Cache命中率。

应用场景:适合单个数据流的读应用,或无法判断读应用是否顺序的情况。例如文件读写。

b.  固定预取

在读取数据时,不考虑主机IO请求中读取长度,按照配置的预取长度将数据预取到Cache中;

应用场景:适合大小固定的顺序读应用。例如多用户流媒体点播,用户使用相同码流。

c.  可变预取

在读取数据时,按照主机IO请求中的读取长度的倍数将数据预取到Cache中。

应用场景:适合大小不固定的顺序读应用,或多用户并发读但无法判定预读量的应用。例如用户多媒体点播。

d.  不预取

按照主机IO请求中的预取长度直接从硬盘读取数据,即不使用预取功能。

应用场景:不预取策略适合随即读取小数据块应用。例如数据库应用。

14【华为HCIE-Storage】Cache读\写\镜像&一高低水位&二写盘&三读写策略&四读机制

标签:HCIE   storage   hostman   

原文地址:http://blog.51cto.com/hostman/2094666

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!