------------------------------------重要说明------------------------------------
以下部分内容来网络,部分自华为存储官方教材
具体教材内容请移步华为存储官网进行教材下载
网络引用内容无法找到原创,如有侵权请通知
------------------------------------重要说明------------------------------------
SmartCache特性,使用SSD硬盘作为缓存,提高存储系统中读热点数据的访问效率,可用于存在热点数据且以读操作为主的随机小I/O场景。
① 定义
华为技术有限公司开发的SmartCache特性又叫智能数据缓存特性。
利用SSD盘对随机小I/O读取速度快的特点,将SSD盘组成智能缓存池,将访问频率高的随机小I/O读热点数据从传统的机械硬盘移动到由SSD盘组成的高速智能缓存池中。由于SSD盘的数据读取速度远远高于机械硬盘,所以SmartCache特性可以缩短热点数据的响应时间,从而提升系统的性能。
SmartCache将智能缓存池划分成多个分区,为业务提供细粒度的SSD缓存资源,不同的业务可以共享同一个分区,也可以分别使用不同的分区,各个分区之间互不影响。从而向关键应用提供更多的缓存资源,保障关键应用的性能。应用SmartCache特性不会中断现有业务,也不会影响数据的可靠性。
利用SSD盘较短的响应时间和较高的IOPS( Input/Output Operations Per Second),SmartCache特性可以提高业务的读性能。尤其是存在热点数据,且读操作多于写操作的随机小I/O业务场景。例如: OLTP( Online Transaction Processing )应用、数据库、Web服务、文件服务应用等。
② 相关概念
SmartCache是一种采用SSD作为介质提供读缓存的特性,与RAM Cache配合实现了对LUN和文件系统读加速,同时也作为内部重删元数据的读缓存,提高整个存储系统性能;
对LUN或文件系统配置好SmartCache之后,主机对LUN或文件系统进行读写时,SmartCache可以提供读加速功能,提升系统性能。
系统在每个控制器上默认生成SmartCache池,用户只需要往SmartCache池中添加SSD盘,系统在每个控制器对(引擎)上缺省生成一个默认SmartCache分区,用户还可以根据需要创建自定义分区,每个引擎上最多支持创建8个自定义分区,可以在需要的时候向SmartCache池添加新SSD盘来实现扩容。
a. SmartCache池
负责管理SSD盘,为SmartCache分区提供粗粒度的SSD资源分配与回收。负责为业务提供细粒度( 4KB~128KB)的SSD缓存资源,不同的业务可以共享同一个SmartCache分区,也可以分别使用不同的SmartCache分区,各个SmartCache分区之间互不影响。
智能缓存池由SSD盘组成,可以作为普通缓存资源RAM Cache的扩充,用于存储热点数据,也可以作为内部元数据的读缓存。
l – 智能缓存池管理本控制器的所有SSD盘,用以保证每个智能缓存分区的资源来自不同SSD盘,从而避免不同SSD盘负载不均衡。
l – 存储系统默认在每个控制器上生成一个智能缓存池。
b. SmartCache分区
SmartCache特性将智能缓存池划分成多个分区,不同的业务可以共享同一个分区,也可以分别使用不同的分区,各个分区之间互不影响。从而向关键应用提供更多的缓存资源,保障关键应用的性能。
l – SmartCache分区负责为业务提供细粒度( 4KB、 8KB、 16KB、 32KB、64KB、 128KB,与前端I/O自适应,即根据前端下发的I/O大小申请不同粒度的SSD缓存资源)的SSD缓存资源。
l – 在存储系统上,自动为A、 B控制器创建一个默认分区, C、 D控制器创建一个默认分区。除默认分区外,每双控还最多支持创建8个用户自定义分区。
l – SmartCache分区与待加速的LUN或文件系统必须归属于同一个引擎。
③ 数据读取流程
a. 数据读命中Smart Cache流程
① 应用服务器读I/O访问LUN时,先访问RAM Cache。
② 在RAM Cache未命中, RAM Cache将读I/O请求发至智能缓存池。
③ 在智能缓存池中命中时,下发读SSD盘的请求,读SSD盘完成后,将数据返回给RAM Cache。
④ RAM Cache将数据返回给应用服务器。
b. 数据读未命中Smart Cache流程
1. 应用服务器读I/O访问LUN或文件系统时,先访问RAM Cache。
2. 在RAM Cache未命中, RAM Cache将读I/O请求发到智能缓存池。
3. 智能缓存池中也未命中时,将结果返回给RAM Cache。
4. RAM Cache下发I/O至后端机械硬盘。
5. 机械硬盘将数据返回给RAM Cache。
6. RAM Cache将数据返回给应用服务器,同时RAM Cache将该数据同步到智能缓存池中。 当智能缓存池容量不够时,则智能缓存池根据时间顺序释放旧数据,释放数据内存,完成旧数据的淘汰。
④ 应用场景
SmartCache特性适用于存在热点数据且以读操作为主的随机小I/O场景。应用SmartCache特性可以大幅提升系统的读性能。
利用SSD盘较短的响应时间和较高的IOPS, SmartCache特性可以提高业务的读性能。尤其是存在热点数据,且读操作多于写操作的随机小I/O业务场景。
例如:数据库应用、 OLTP应用、 Web服务、文件服务应用等。 SmartCache特性的典型应用场景
⑤ 配置流程
a. 检查 License 信息
步骤1 登录DeviceManager。
步骤2 选择“ 设置 > License管理”。
步骤3 浏览已激活License信息。
1. 在左侧导航中,选择“已激活License”节点。
2. 在中间信息展示区,浏览存储设备已激活的License文件信息。
b. 添加 SSD
SmartCache即智能缓存,一种管理智能缓存资源的技术。使用该技术,用户可根据需求增加或者移除SSD盘来管理智能缓存的资源。 SSD盘与智能缓存池关系如下:
存储系统的每个控制器都配置了一个智能缓存池,每个智能缓存池管理本引擎的所有SSD盘。建议同一引擎下的两个智能缓存池配置相同容量和数量的SSD盘。
向智能缓存池中增加SSD盘,不会中断业务,也不会造成系统性能降低。加入智能缓存池的SSD盘必须为空闲盘且不是保险箱盘,同时待增加的SSD盘单盘容量不能超过2TB。
步骤1 登录DeviceManager。
选择“ 资源分配 > 资源调优 > SmartCache > 智能缓存池”。
步骤3 进入“增加SSD”对话框。
1. 在左侧信息展示区上侧,选中需要添加SSD的智能缓存池。
2. 单击“增加SSD”。系统弹出“增加SSD”对话框。
步骤4 选择增加的SSD。
在“可选SSD”列表中,选择需要为智能缓存池增加的SSD,单击“向右箭头”,增加
SSD到“已选SSD”列表中。
步骤5 确认增加SSD的操作。
1. 单击“确定”。系统弹出“执行结果”提示框,提示操作成功。
2. 单击“关闭”。
c. 创建分区
SmartCache Partition即分区,智能缓存的属性之一。 SmartCache在对SSD资源进行管理上,分为智能缓存池和分区两部分。两者的作用和关系如下:
存储系统默认在每个控制器上生成一个智能缓存池。智能缓存池管理本引擎的所有SSD盘,用以保证每个分区的资源来自不同SSD盘,从而避免不同SSD盘负载不均衡。
分区负责对智能缓存池中的SSD资源进行分配,以便实现缓存资源隔离。 LUN或文件系统用指定的分区进行读加速。
存储系统在每个引擎上创建一个默认分区。除了默认分区外,每个引擎最多支持创建8个用户自定义分区。
分区与待加速的LUN或文件系统必须归属于同一个引擎。
步骤1 登录DeviceManager。
步骤2 选择“ 资源分配 > 资源调优 > SmartCache > 分区”。
步骤3 单击“创建”。系统弹出“创建分区向导”对话框。
步骤4 在“名称”和“描述”文本框中输入分区的名称及相关描述。
步骤5 为分区设置相关属性。
1. 在“设置名称”页面,单击“下一步”。系统进入“设置属性”界面。
2. 为新创建的分区设置“引擎”、“期许容量”。
步骤6 可选: 单击“下一步”,在弹出的“选择LUN”页面选择应用分区对应的LUN。
步骤7 可选: 单击“下一步”,在弹出的“选择文件系统”页面选择应用分区对应的文件系统。
步骤8 确认创建分区操作。
1. 单击“下一步”。系统进入“信息汇总”页面。
2. 确认分区信息。
– 如果创建的分区信息正确,单击“完成”。
系统弹出“执行结果”提示框,提示创建分区成功,单击“关闭”。
– 如果创建的分区信息错误,单击“上一步”重新进行设置。