EMC VNXe存储高可用性介绍:缓存保护

介绍

IT管理员时常地关注其组织的业务数据的可访问性。EMC致力于帮助客户尽可能保持高可用的存储环境。想具有高可用环境需要很多因素,包括环境的体系结构和设计,如何配置基础设施的连接、存储系统和磁盘存储。添加复制功能到您的环境中同样会增强可用性。

高可用存储系统没有单点故障;也就是说,如果一个组件出现故障,系统会维护其基本的功能。例如,VNXe系统中有两个存储处理器(SP)允许您在存储系统级别配置备用数据路径。这样,如果一个组件在其中一条路径失败,系统可以继续保持运作。

在许多情况下,如果故障发生在不同的组件集,高可用系统可以承受多个故障。一旦发现故障,可以轻松地在线更换VNXe系统中的故障组件且不影响用户或应用。

本系列文章将讨论EMC VNXe 系统的高可用性 (HA) 功能,影响可用性的不同因素,以及如何配置 VNXe 系统以达到数据可用性的目的。在本文中讨论的一些概念适用于VNXe3300和双SP的VNXe3100/VNXe3150系统。

更多信息

电源模块:

VNXe系统拥有冗余的电源、电源线和备用电池(BBU)。当发生内部或外部的电源故障时,它们起到保护数据的作用。VNXe系统采用双共享电源。如果一个电源出现故障,另一个电源为两个SP供电。

VNXe的备用电池的功能不像不间断电源(UPS),因为它没有被设计为在电源恢复的预期时间内可以保持存储系统运行很长时间。使用备用电池,可以给SP维持电源供应。如果发生电源故障,这可以保护缓存数据写入内部SSD库中。备用电池的大小足以支持连接的SP,并且可以维持足够长的时间以保证写缓存(Write cache)中的数据被存储到库中。

内存:

每个SP都有自己专用的系统内存。VNXe3100和VNXe3150的每个SP有4GB或8GB的内存,VNXe3300的每个SP有12GB的内存。系统内存被分成SP内存和缓存内存。写缓存在两个SP之间是互为镜像。下图显示的是VNXe内存的概念图。

写缓存内存镜像

SP缓存用于读取和写入缓存数据。读缓存(Read cache)是用于保存预计将来有请求读I/O的数据至内存。写缓存(Write cache)用于存储等待被写入驱动器的数据请求。

此外,一个SP拥有读缓存和写缓存,并且缓存中包含一个对端SP的写缓存的复制镜像。这是一个重要的可用性功能。大部分的缓存分配给写缓存,剩余的分配给读缓存。这是因为读操作的I/O往往已经在缓存中,除非读操作执行的是顺序读取I/O。

写缓存:

VNXe的写缓存是镜像的回写缓存(Write-back cache)。对于每一个写操作,数据将存储在缓存中并复制到对端SP。然后,此请求至主机确认。在这个过程中,写缓存是VNXe系统的SP之间的完全镜像,并通过冗余以确保数据被保护。此外,请求被确认后数据被写入磁盘。

当VNXe系统正常关机,SP缓存将刷新至后端驱动器并且禁用。如果SP发生故障后重启,通过所有的系统复位,缓存将保持不变。

如果有电源故障,每个SP使用电池电源将其缓存副本写入其SSD(一个基于Flash的硬盘驱动器),而不需要任何电源来保留数据。

系统重新启动后,SP缓存的内容将恢复至两个SP上。然后,两个SP将确认内容的有效性。通常情况下,这两个副本是有效的。如果一个SP拥有较新版本的缓存内容(或其中一个是无效的),那么在重新启用缓存并允许访问存储资源之前,拥有最新有效副本的SP将同步其内容到对端SP。

单SP的VNXe3100/3150系统的缓存保护模块:

虽然本系列文章的重点在双SP的VNXe系统上,重要的是要注意单SP的VNXe3100/3150系统在对端SP槽中拥有缓存保护模块。此组件具有第二个活动缓存。它包含与单SP的缓存中的相同的数据(就像双SP的VNXe系统上使用了镜像配置)。当更换出现故障的SP后,在缓存保护模块中的数据将复制到SP的缓存后再写入到磁盘。