EMC Symmetrix缓存技术解读

介绍

存储系统的缓存作用是加速数据读取与写入的速度,从而提升整体的存储性能。Symmetrix的缓存机制作为存储阵列的核心技术,对阵列的性能和高可用性起着至关重要的作用。本文对Symmetrix最新的两代产品缓存中的数据类型进行介绍。帮助存储管理员更好的了解Symmetrix的缓存工作机制。

缓存中的数据:

缓存主要的目的是用来缓冲磁盘上的I/O。Symmetrix中的缓存会分为两部分,用户数据区域(User Data Slots)和系统数据区域(Global System Data)。

用户数据区域(User Data Slots):用户数据区域会被划分成很多的Slots用来缓冲前端的I/O。一旦前端的读写要求缓存存放数据,系统会分配相应的Slot用作存储数据。缓存会对于前端呈现相关的磁盘设备的的Track给前端主机,直到该Slot被释放或者被重用。并且对于DMX-3或者更高版本的阵列,User Data是以镜像的方式存储的(DMX中是两块内存卡,VMAX中是两个Director)。

系统数据区域(Global System Data):缓存中除了存放用户数据以外,还会存放一些供Director使用的系统数据,例如磁盘设备列表(Device Table)列出了每个Slot对应的磁盘设备位置,可以让Director在缓存中找到对应的数据。Director Mailboxes存放了各个Director相互通讯的命令集。对于DMX阵列,Global System Data会以条带的方式存放在每个物理内存板中。

缓存区域大小:

扇区(Sector),磁道(Track),柱面(Cylinder)是Symmetrix阵列中磁盘存储的三个基础数据大小。

Sector: Sector是一磁盘上上最小的单元,后端的硬件不会传输小于一个Secotr大小的数据到缓存中。Symmetrix会对所有在阵列中传输的数据进行 CRC校验,一旦校验发现数据损坏,数据会被重新传输或者标注相应的物理磁盘区域为已损坏。#DMX-3以后的Symmetrix中Sector的大小为 8KB。DMX至DMX-2的版本中大小为4KB。

Track: Track是由8个Sector所组成。当磁盘数据中一个Track在缓存中呈现,该缓存区域就会成为一个可用的Slot。DMX-3以后的 Symmetrix中Track的大小为64KB。DMX至DMX-2的版本中大小为32KB 。这个改变也是为了增加缓存读取击中的比例。

Cylinder:单个Cylinder由15个连续的Track组成,但是并非根据Symmetrix中所配置的物理磁盘所分布,是一个虚拟的概念,这连续的Track可能分布在不同的物理磁盘上。Cylinder的大小有时候也会用作计量磁盘设备Device和Meta Device的大小。DMX-3以后的Symmetrix中Cylinder的大小为960KB。DMX至DMX-2的版本中大小为480KB。

DMX和VMAX的缓存架构:

DMX存储阵列中包含了2-8个缓存卡,每个缓存卡最大容量是64GB,每个Director都会有直连的Fibre Channel连接到每个缓存卡上面。总的连接数量取决于卡的数量。

VMAX中,缓存存储在每个Director的缓存中。有Local Cache和Remote Cache之分。Director之间通过Virtual Matrix交换网络相互访问各自的缓存。