开始新对话

未解决

此帖子已超过 5 年

2602

2013年3月17日 19:00

Symmetrix缓存技术解读(一)

Symmetrix缓存技术解读(一)

转载请在文首保留原文出处:EMC中文支持论坛 - https://community.emc.com/go/chinese

介绍

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


更多信息

缓存中的数据:

     缓存主要的目的是用来缓冲磁盘上的I/OSymmetrix的缓存分为两个部分,用户数据区域(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会以条带的方式存放在每个物理内存板中。

Symmetrix_Cache1-1.jpg

缓存区域大小:

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


  • Sector Sector是一磁盘上上最小的单元,后端的硬件不会传输小于一个Secotr大小的数据到缓存中。Symmetrix会对所有在阵列中传输的数据进行CRC校验,一旦校验发现数据损坏,数据会被重新传输或者标注相应的物理磁盘区域为已损坏。DMX-3以后的SymmetrixSector的大小为8KBDMXDMX-2的版本中大小为4KB
  • Track Track是由8Sector所组成。当磁盘数据中一个Track在缓存中呈现,该缓存区域就会成为一个可用的SlotDMX-3以后的SymmetrixTrack的大小为64KBDMXDMX-2的版本中大小为32KB 。这个改变也是为了增加缓存读取击中的比例。
  • Cylinder:单个Cylinder15个连续的Track组成,但是并非根据Symmetrix中所配置的物理磁盘所分布,是一个虚拟的概念,这连续的Track可能分布在不同的物理磁盘上。Cylinder的大小有时候也会用作计量磁盘设备DeviceMeta Device的大小。DMX-3以后的SymmetrixCylinder的大小为960KBDMXDMX-2的版本中大小为480KB

DMXVMAX的缓存架构:

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

Symmetrix_Cache1-2.jpg

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

Symmetrix_Cache1-3.jpg

参考

Symmetrix VMAX磁盘设备类型简介

Symmetrix 超级卷、物理卷、逻辑卷及Meta卷图解手册

应用于

Symmetrix DMX-3 & 4系列

Symmetrix VMAX系列

23 消息

2015年5月18日 19:00

文中讲 user data是镜像存储的,那么在vmax中,是一个引擎中两个director中的缓存卡互为镜像的吗,若不止一个引擎,比如说双引擎4个director,那么这四个dir中的缓存卡也是互为镜像吗,还是只以同一引擎中的dir的互为镜像。

user data中,应该分写缓存和读缓存区吧,不管读写,都是镜像吗?

有没有文档讲解读写io到达阵列前端后,后面的操作是如何进行的,比如说读缓存命中、写缓存命中、不命中的时候读写磁盘,该磁盘在该控制器下和不在该控制器下的操作,谢谢。

2.1K 消息

2015年5月18日 20:00

你好,

单引擎和多引擎的情况不一样,单引擎数据镜像是在两个director上的内存中,多引擎是跨引擎镜像。

读是先从FE对应的引擎本地缓存HIT,写是镜像写。

文档你到support.emc.com上搜索VMAX Architecture应该能找到些相关的。

找不到事件!

Top