用于可扩展的崩溃一致的快照操作的系统和方法_3

文档序号:9422705阅读:来源:国知局
器 105将存储在服务器本地存储器292上的数据加载到服务器内存228中,服务器处理器226 从服务器内存228访问到运些数据。服务器本地存储器292还可W存储在执行本文中描述 的实施例时由快照引擎106和快照数据结构250产生的数据。例如,运样的数据可W包括 写请求W及写请求的相关标签。
[0046] 在一些实施例中,用于执行本文中描述的实施例的快照引擎106和快照数据结构 250在管理服务器105上驻留并执行,该管理服务器105是外置的并且与服务器110和存储 系统100是分离的。在其他实施例中,快照引擎106和快照数据结构250可W在一个或多 个服务器110上和/或一个或多个存储系统100上分布、驻留并执行。 阳047] 图3是可W在图1的存储系统环境中使用的示例性存储系统120的示意性框图。 本领域技术人员将理解的是,本文中描述的实施例可W施用到任何类型的专用计算机(例 如存储系统)或者通用计算机,包括实施为或者不实施为存储系统的独立计算机。为此,存 储系统120可W被广义地且可替选地称为计算机系统。此外,本文中描述的实施例的教导 可W适用于各种存储系统架构,包括但不限于网络附加存储环境、存储区域网络W及直接 附加于服务器计算机的磁盘组件。因此,术语"存储系统"应该被广义地理解为包括运样的 布置。
[0048] 存储系统120包括通过系统总线360互连的网络适配器310、处理器320、内存 340、非易失性随机存取存储器(NVRAM) 345W及存储适配器350。网络适配器310包括通过 计算机网络167将存储系统120连接到服务器系统110所需的机械线路、电气线路和信令 电路。存储系统可W包括一个或多个网络适配器。每个网络适配器310具有唯一的IP地 址并且可W给服务器系统110提供一个或多个数据访问端口W用于访问存储系统120 (网 络适配器从服务器系统110W数据包的形式接受读/写访问请求)。在一些实施例中,存储 适配器350和网络适配器310可W包括可W用来执行存储适配器350和网络适配器310两 者的功能的单个统一目标适配器扣TA)。
[0049] 内存340包括可由处理器320和适配器寻址的、用于存储软件程序代码和数据的 存储位置。内存340可W包括随机存取形式的存储器(RAM),该存储器通常被电力循环或者 其它重启操作清除(例如,它是"易失性"存储器)。然而,在其他实施例中,内存340可W 包括非易失性形式的存储器,该存储器不需要电源来维持信息。处理器320和适配器又可 W包括被配置成执行软件代码W及对存储在内存340中的数据进行操纵的逻辑电路和/或 处理元件。 阳化日]存储系统120还可W包括可W被当作后备存储器的NVRAM 345,该NVRAM 345确保 在发生系统关闭或者其它不可预见的问题的情况下存储系统120不会"丢失"接收到的信 息,例如CIFS和NFS请求。NVRAM 345通常是带有备用电源或者其他内置的最后状态保持 能力的大容量固态存储器阵列(例如闪速存储器),该大容量固态存储器阵列在发生阵列 的任何电力损失的情况下保持存储器的最后状态。因此,即使存储在内存340中的访问请 求丢失或者被清除(例如,由于临时停电),也仍然可W从NVRAM 345恢复该访问请求。 [0051] 处理器320执行存储系统120的存储操作系统应用程序301,该存储操作系统应用 程序301尤其通过调用对由存储系统实现的文件服务进行支持的存储操作来在功能上组 织该存储系统。在一些实施例中,存储操作系统301包括由处理器320执行的多个软件层。 存储操作系统的一部分300通常驻留在内存340中。然而,对于本领域的技术人员来说明 显的是:可W使用包括各种计算机可读介质在内的其他处理和存储装置来存储并执行与存 储操作系统300相关的程序指令。
[0052] 存储适配器350与在存储系统120上执行的存储操作系统301合作来对由服务器 系统110请求的数据进行访问。数据可W存储在存储设备130上,运些存储设备130经由存 储适配器350附接到存储系统120或者如本文中定义的存储系统的其它节点。存储适配器 350包括通过输入/输出(I/O)互连布置(例如传统的高性能、光纤通道串行链路拓扑)禪 接到存储设备130的I/O接口电路。响应于从服务器系统110接收到的访问请求,可W通 过存储适配器350来获得数据,并且如有必要,在通过系统总线360转发给网络适配器310 之前先由处理器320 (或者适配器350本身)对数据进行处理,在那里数据可W被格式化到 包中并且送回给服务器系统110。
[0053] 在一个示例性实施例中,存储设备130可W包括磁盘设备,运些磁盘设备被布置 成多个卷,每个卷具有与其相关联的文件系统。在一些实施例中,存储设备130包括下述磁 盘设备:运些磁盘设备被配置成多个RAID(独立磁盘冗余阵列)组,由此多个存储设备130 被结合到单个逻辑单元中(即,RAID组)。在典型的RAID组中,组的存储设备130在可W增 加数据可靠性或者性能的磁盘之间共享或者复制数据。RAID组的存储设备130根据优选的 RAID-4配置被配置成使得一些磁盘存储条带数据,而至少一个磁盘存储单独的数据的奇偶 校验。然而,其他配置(例如,具有跨越条带分布的奇偶校验的RAID-5、RAID-DP等)也在 考虑范围之内。单个卷通常包括多个存储设备130并且可W被实施为多个RAID组。
[0054] 下面简要描述用于示例性存储系统120的存储操作系统300的组织。然而,可W清楚地预期到可W使用各种替选的存储操作系统架构来实现本文中描述的实施例的原理。 如上所述,如本文所使用的关于存储系统的术语"存储操作系统"通常指的是可在实现文件 系统语义(例如上文引用的WAFL⑧)W及管理数据访问的存储系统上操作的计算机可执 行代码。从该意义上讲,数据ONTAP?软件是实现为微内核的运种存储操作系统的示例。 存储操作系统还可W被实现为在通用操作系统(例如UNIX⑥或者Windows?)上进行操 作的应用程序,或者被实现为具有可配置的功能的通用操作系统。 阳化5]III.用于可扩展的崩溃一致的快照操作的系统和方法
[0056] 图4是根据一些实施例的用于生成一致性组的快照的技术400的流程图。一般来 说,技术400可W用于基于对与一致性组相关联的卷的写请求来生成存储在一个或多个主 存储设备(例如,主存储设备130)上的卷的快照。在一些实施例中,存储系统100和/或 管理服务器105的快照引擎106可W执行技术400。相对于图1-图3来描述技术400,其 概念性地示出了技术400的步骤。在一些实施例中,技术400可W在人启动、交互或者干预 的情况下生成在一个或多个主存储设备上存储的卷的快照。在一些实施例中,在没有人启 动、交互或者干预的情况下技术400的特定步骤可W被自动执行,而技术400的其他步骤可 W随着人启动来执行。例如,在一些实施例中,当应用程序(例如,应用程序112)的用户发 起快照生成请求时,技术400的步骤可W被启动。
[0057] 在一些实施例中,通过存储系统100的存储操作系统301来执行或者导致执行技 术400的一些步骤。存储操作系统301可W被配置成与存储系统100、服务器系统110的其 它软件模块W及存储操作系统301的软件模块协同操作W共同执行本文中描述的实施例。 阳05引如图4所示,技术400可W接收对一致性组的快照请求(步骤410处)。例如,应 用程序(例如应用程序112)的用户可W提交或者发出要对一致性组(例如,由应用程序 112使用来存储数据块的一个或多个卷,其中,该一个或多个卷存储在一个或多个主存储设 备130上)生成快照的请求或者指示。在一些实施例中,快照引擎106可W接收对一致性 组生成快照的请求。技术400还可W隔离到来的对一致性组的写请求(在块420处)。例 如,在快照请求之后接收到或者发出的写请求(例如,从应用程序112发出W用于对主存储 设备130上存储的卷的数据块进行存储或者修改)可W被挂起W使得对相关的卷将不会执 行写请求。运样,来自快照生成请求之后的写请求的、对在经受快照请求的卷上存储的数据 块的修改或添加将不会被完成和/或执行,同时写请求被隔离和/或挂起。在一些实施例 中,快照引擎106和/或服务器系统W及存储系统可W执行将写请求挂起和/或隔离所需 的操作。运样,包括修改与卷相关联的数据块的写请求可W被暂停或者阻止执行一段时间。
[0059] 如图4所示,技术400还可W根据隔离前写请求(pre-fencedwriterequest)来 生成一致性组的快照(步骤430处)。例如,快照引擎106可W基于来自应用程序(例如, 应用程序112)的下述写请求来生成在主存储设备(例如,主存储设备130)上存储的卷的 快照:该写请求是在对一致性组启动或者生成快照的请求之前被接收(例如,被服务器系 统110或者存储系统100)或者被发出的。因此,隔离前写请求可W是下述写请求:该写请 求是在对包括与写请求关联的卷的一致性组生成快照的请求已经发出或者被接收之前由 应用程序(例如,应用程序112)发出的。此外,技术400可W执行被隔离的到来的对一致 性组的写请求(步骤440处)。例如,快照引擎106可W不隔离或者不再挂起在步骤420处 被挂起或者被隔离的从应用程序(例如,应用程序112)来的写请求。因此,可W在对包括 与写请求关联的卷的一致性组生成快照之后执行写请求。在一些实施例中,可W在一个或 多个逻辑接口切换配置状态之后不再隔离并且从而执行写请求,如在下文进一步详细讨论 的那样。
[0060] 因此,可W基于对一致性组的一个或多个卷的写请求来生成包括一个或多个卷的 一致性组的快照。例如,当快照请求被启动时,可W将快照请求启动之后的写请求挂起或者 隔离,直到针对一个个卷中的每个卷都已经生成了快照为止或者直到已经生成了单独的卷 的快照(例如,对第一卷的快照已经完成,因此可W不再挂起或者隔离对第一卷的写请求, 而对第二卷的写请求可能仍然被挂起直到第二卷的快照完成为止)为止。因此,可W基于 在快照请求之前发出的写请求来执行一致性组的快照。下文中公开了关于快照生成操作的 更多细节。
[0061] 图5是一些实施例在其中操作的基于与快照标签关联的写请求来生成快照的技 术500的流程图。一般来说,快照引擎106可W基于下述快照标签来生成包括在一个或多 个主存储设备(例如,主存储设备130)上存储的一个或多个卷的一致性组的快照:该快照 标签与对一致性组的一个或多个卷的
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1