一种存储系统及其使用的方法

xiaoxiao2020-10-23  15

一种存储系统及其使用的方法
【技术领域】
[0001]本发明涉及存储技术,更具体地,涉及一种存储系统及其使用的方法。
【背景技术】
[0002]现代企业的发展离不开信息技术,大部分企业都依赖信息技术保证公司的正常运转。通常公司运营的IT基础设施都包含运营主机,以下称之为生产主机。生产主机一旦发生故障,影响是显而易见的。因此,企业一般都对生产主机使用另外的备份主机,一旦生产主机发生问题,备份主机能立刻接管生产主机的工作。
[0003]通常来说,生产主机和备份主机使用完全相同的硬件系统。近年来,由于主机中的缓存SSD的容量普遍达到了 TB级别,而缓存SSD的价格比较贵,所以企业常常将生产主机的缓存SSD容量配置成优于备份主机的缓存SSD容量。这样会造成一定的技术问题。
[0004]图2示出了现有的生产主机、备份主机和存储系统在生产主机和备份主机同步缓存时的工作流程。根据图2,由于生产主机在向存储系统发送读/写1时,存储系统会记录这些1的响应时间并生成缓存计划,在生产主机和备份主机同步缓存的模式下,存储系统会将缓存计划同时发送给生产主机和备份主机,两者会按照自身的本地缓存容量来决定需要缓存哪些数据块到本地(数据在存储系统以数据块的形式存储),并分别发送缓存数据块的请求给存储系统来获取所需数据块。由于生产主机的缓存SSD容量优于备份主机的缓存SSD容量,造成的结果是生产主机在本地缓存数据块的容量大于备份主机在本地缓存数据块的容量。
[0005]假设缓存数据块已经缓存到生产主机本地后的某一时刻,生产主机发生故障,备份主机将会开始执行失效备援。作为生产主机的备份,备份主机将会继续执行之前在生产主机上运行的应用程序,由于备份主机在本地缓存数据块的容量小于生产主机在本地缓存数据块的容量,此时备份主机所缓存的数据块是生产主机所缓存数据块的子集,造成备份主机极有可能会向存储系统请求之前被缓存到生产主机本地,而没有被缓存到备份主机的数据块。然而由于存储系统内部的分层技术,当生产主机将一数据块缓存到本地读取后,在存储系统端的该数据块的访问频率将会急剧下降,该数据块可被视为冷数据而被转移至需要较长读取时间的慢盘上(例如磁带等),故而备份主机所需的数据块将极大可能从存储系统端的慢盘上获取,这样读取性能会很低,需要很长的失效备援时间。

【发明内容】

[0006]因此,需要一种方法和系统来解决上述技术问题从而提高存储系统的失效备援效率。
[0007]根据本发明的一个方面,提供了一种存储系统使用的方法,其中所述存储系统分别与生产主机以及备份主机通过网络连接,所述备份主机对所述生产主机执行失效备援,该方法包括:
[0008]响应于所述生产主机失效:
[0009]从位于所述存储系统的快盘的弹性空间获得已经缓存的数据块的元数据;
[0010]扩展所述弹性存储空间的存储容量;
[0011]根据所述元数据以及扩展的弹性空间的存储容量,获得该元数据对应的数据块,并存储在所述扩展的弹性空间;以及
[0012]响应于所述备份主机请求该元数据对应的数据块并且该元数据对应的数据已经存储在所述扩展的弹性空间,从所述扩展的弹性空间获得该元数据对应的数据块并发送给所述备份主机。
[0013]根据本发明的另一个方面,提供了一种存储系统,其中所述存储系统分别与生产主机以及备份主机通过网络连接,所述备份主机对所述生产主机执行失效备援,该存储系统包括:
[0014]元数据获得装置,被配置为响应于所述生产主机失效:从位于所述存储系统的快盘的弹性空间获得已经缓存的数据块的元数据;
[0015]弹性存储空间扩展装置,被配置为扩展所述弹性存储空间的存储容量;
[0016]弹性空间数据块存储装置,被配置为根据所述元数据以及扩展的弹性空间的存储容量,获得该元数据对应的数据块,并存储在所述扩展的弹性空间;以及
[0017]备份主机数据请求响应装置,被配置为响应于所述备份主机请求该元数据对应的数据块并且该元数据对应的数据已经存储在所述扩展的弹性空间,从所述扩展的弹性空间获得该元数据对应的数据块并发送给所述备份主机。
【附图说明】
[0018]通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
[0019]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图;
[0020]图2示出了现有的生产主机、备份主机和存储系统在生产主机和备份主机同步缓存时的工作流程;
[0021]图3示意性示出了一种存储系统使用的方法流程图;
[0022]图4示意性地示出了一种元数据的结构;
[0023]图5示出了存储系统没有弹性空间时,在生产主机、存储系统和备份主机中的数据块布局;
[0024]图6示出了存储系统存在弹性空间时,在生产主机、存储系统和备份主机中的数据块布局;以及
[0025]图7示出了根据本发明一种实施方式的存储系统的结构框图。
【具体实施方式】
[0026]下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0027]图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0028]如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0029]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0030]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0031]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0032]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0033]计算机系统/服务器12也可以与一个或多个外部设备14 (例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0034]目前的存储系统采用存储分层技术,利用这种技术可有效的提高存储性能,节约硬件成本。在存储分层技术中,数据根据该数据所在的数据块访问的频率来决定存储的层次,不同的存储层次使用不同的存储介质达到不同的访问效率。例 如,访问频率高的数据块,也称为热数据,存储在最快的存储层(fastest tier)的存储介质(也称为快盘)上,例如固态硬盘,闪存等;访问频率低的数据块,也称为冷数据,存储在较慢的存储层(slowertier)的存储介质(也称为慢盘)上,例如磁带,磁盘,光盘等。
[0035]本发明的实施方式中,考虑在存储系统的快盘中开辟一块弹性空间,利用该弹性空间存储生产主机备份而备份主机需要的数据,而生产主机和备份主机无需作任何改变,只需要采用原来的工作流程,来达到提高时效备援效率的结果。
[0036]根据本发明的一种实施方式,图3示意性示出了一种该存储系统使用的方法流程图,其中存储系统分别与生产主机以及备份主机通过网络连接,备份主机对生产主机执行失效备援,根据图3,该方法包括:在步骤S301,响应于生产主机失效,从位于所述存储系统的快盘的弹性空间获得已经缓存的数据块的元数据,在步骤S303,扩展所述弹性存储空间的存储容量;在步骤S304,根据所述元数据以及扩展的弹性空间存储容量,获得该元数据对应的数据块,并存储在扩展的弹性空间;在步骤S305,响应于备份主机请求该元数据对应的数据块并且该元数据对应的数据已经存储在所述扩展的弹性空间,从所述扩展的弹性空间获得该元数据对应的数据块并发送给备份主机。这里,本领域技术人员可以知道,步骤S303和步骤S304都是在响应于生产主机失效这一前提之下执行,之所以分成多个步骤,是为了描述方便。步骤S305使得已经缓存的数据块可以确定地从位于存储系统的快盘的弹性空间传输给备份主机,达到提高失效备援效率的目的。
[0037]在上述图3所示的方法中,假设已经开辟了弹性空间,并且在弹性空间已经存储了缓存的数据的元数据。这里,位于快盘的弹性空间是一个可变的存储空间,其存储容量可以根据要求改变。在实际应用中,弹性空间的存储容量常常是有最大上限的,这个上限的值可以由用户来设置,本文称之为弹性空间的最大存储容量。弹性空间的最大存储容量与所述元数据对应的数据块的存储容量的大小可能是不同的。在一种实施方式中,在步骤S303之前,还包括步骤S302 (图3未示出),判断所述弹性空间的最大存储容量与所述元数据对应的数据块的存储容量之间的大小关系。
[0038]在存在步骤S302的情况下,对应地,步骤S303扩展所述弹性存储空间的存储容量可选地,至少包括以下两种情况:
[0039](I)响应于弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,扩展该弹性空间至其最大存储容量;
[0040](2)响应于弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,扩展该弹性空间存储容量直到该弹性空间存储容量至少能够存储所述元数据对应的数据块。
[0041]对应地,步骤S304根据所述元数据以及扩展的弹性空间存储容量,获得该元数据对应的数据块包括:
[0042](I)响应于弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,获得一部分该元数据对应的数据块,所述一部分该元数据对应的数据块的存储容量接近于弹性空间的最大存储容量;
[0043](2)响应于弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,获得全部该元数据对应的数据块。
[0044]本领域技术人员可以知道,也可以将弹性空间的存储容量在弹性空间的最大存储容量范围内扩大成任意数量。并且根据所述元数据以及扩展的弹性空间存储容量,获得该元数据对应的数据块也需要根据扩展的弹性空间的存储容量来相应调整弹性空间存储的元数据对应的数据块。
[0045]在弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,弹性空间只存储了一部分元数据对应的数据块,其余数据可能在慢盘中,也可能还存储在快盘中,可以利用现有的分层存储机制逐步迁移这些数据到快盘中。即使这样,时效备援的效率也可以得到很大的提高。
[0046]弹性空间存储的已经缓存的数据块的元数据可以是生产主机已经缓存的数据块的元数据;也可以是生产主机已经缓存的数据块与备份主机已经缓存的数据块之间的差异数据的元数据。
[0047]如果弹性空间存储的元数据是生产主机已经缓存的数据块的元数据,则图3所示的方法在步骤S301之前还包括:步骤1,接收到生产主机的缓存数据块的请求;步骤2,向生产主机发送请求的数据块;步骤3,对生产主机已经缓存的数据块生成元数据,步骤4,将该元数据在弹性空间存储为已经缓存的数据块的元数据。这里步骤I和步骤3以及步骤4需要特定的执行顺序,但是,步骤2在步骤3或者步骤4任意一个步骤的之前或者之后执行都可以,不影响发明的技术效果。
[0048]如果弹性空间存储的已经缓存的数据块的元数据是生产主机已经缓存的数据块与备份主机已经缓存的数据块之间的差异数据块的元数据,则图3所示的方法之前还包括:步骤11,接收到生产主机的缓存数据的请求;步骤12,向生产主机发送请求的数据;步骤13,接收到备份主机的缓存数据的请求;步骤14,向备份主机发送请求的数据;步骤15,对生产主机已经缓存的数据与备份主机已经缓存的数据之间的差异数据生成元数据,步骤16,将该元数据在弹性空间存储为已经缓存的数据的元数据。这里,上述步骤11和步骤13之间、步骤12和步骤14之间可以基本同步进行,也可以前后进行,但是步骤11和步骤12之间、步骤13和步骤14之间有先后顺序;另外,步骤12和步骤14在步骤15或者步骤16任意一个之前或者之后执行都可以,也不影响发明的技术效果。
[0049]存储系统一般随着时间推移,一直统计的I/O的访问频率。如果I/O的访问频率逐渐降低,则这时数据块会逐渐从存储系统的访问频率最高的层逐步迁移到访问频率最低的层。这种迁移可以是逐步进行的,也可以是在数据块被缓存后立刻进行的,是由存储系统的存储控制器执行的。
[0050]上述弹性空间存储的元数据中包括该元数据对应的数据块在存储系统中的存储位置。在一种优选的实施方式中,图4示意性地示出了一种元数据的结构,根据图4,元数据以主机为单位组织,每个主机的元数据表中的元数据包含该元数据对应的已经缓存的数据块的存储位置,即包括卷标识(volume id)和区域索引(extent index)。优选地,还包括该元数据对应的数据块的读取命中率(read hit rat1)以及读取次数(read count)。在存储系统中,存储设备会虚拟化成卷的形式,其标识是唯一的,以卷标识和卷中区域索引的方式就能够定位存储系统中数据块的位置,每个元数据以区域为单位,卷标识用于标识这块区域属于哪个卷,区域索引用于标识是该卷中第几块区域,读取命中率记录了这块区域被读取的频率,读取次数记录了这块区域被读的次数。
[0051]已经缓存的数据块在存储系统中的访问频率会慢慢降低,当降低到一定程度时,存储系统会将这些数据转移到慢盘中存储。但是,在生产主机失效时,并不知道元数据中存储的该元数据对应的数据块在存储系统中的存储位置,因为其存储位置可能是变化的。因此,图3所示的方法还包括步骤S306 (图3未示出),响应于所述元数据对应的数据块在所述存储系统中的存储位置发生改变,在所述弹性空间中更新所述元数据对应的数据块在所述存储系统中的存储位置。该步骤与图3所示的其它步骤没有必要的前后关系。
[0052]在一种实施方式中,图3所示的方法还包括步骤S307(图3未示出),响应于所述备份主机正常工作,将所述扩展的弹性空间存储的该元数据对应的数据块转移到所述存储系统的快盘上存储;以及步骤S308 (图3未示出),收缩所述扩展的弹性空间的存储容量。备份主机正常工作时,弹性空间存储的元数据对应的数据块会被备份主机频繁访问,其访问效率提高,分层存储软件会逐步将这些数据块移到快盘中,弹性空间就可以释放了,此时,弹性空间的存储容量可以随需求收缩,甚至可以收缩到O存储容量。
[0053]在一种实施方式中,图3所示的方法还包括步骤S309 (图3未示出),响应于所述生产主机恢复正常,重新分配所述弹性空间的存储容量为新的已经缓存的数据的元数据的存储容量。也就是说,当主机恢复到正常时,弹性空间又会存储重新分配的新的已经缓存的数据的元数据。其空间大小也相应改变。
[0054]存储系统检测生产主机是否出现故障也有很多种方式,例如,存储系统的服务器与主机可以用心跳报文来保证连通性,一旦一方出现问题无法按时发送心跳报文,另一方在超时后即可认为对方已失去连接;另一种方式是主机可以在故障之前主动提醒存储系统的服务器自己即将关闭这一信息,这样服务器也能够知道主机故障。
[0055]图5示出了存储系统没有弹性空间时,在生产主机、存储系统和备份主机中的数据块布局。为了简化描述,这里假设生产主机缓存容量为4个数据块,备份主机缓存容量为2个数据块;数据块A、B、C、D始终为最热的数据块。其中,图5的中间的数据布局为存储系统的数据布局。由图5可以看出,初始工作状态时,生产主机和备份主机都开始缓存数据块;在系统运行一段时间后,也就是达到图5所示的正常工作状态时,数据块A和B同时被缓存到了生产主机和备份主机;数据块C和D只被缓存到生产主机;在存储端,数据块A、B、C和 D会变成冷数据被移动到慢盘。如果生产主机发生故障,备份主机会接替生产主机继续服务,在失效备援的过程中,数据块C和D被请求的概率非常大。这时备份主机只能从慢盘上读取数据,系统性能会变得很差。系统运行很长时间后,也就是达到图5中的备份主机工作状态时,分层存储软件会将C和D移动到快盘上,但这是很长时间以后的结果,使得失效备援的效果变差。
[0056]图6示出了存储系统存在弹性空间时,在生产主机、存储系统和备份主机中的数据块布局,其中弹性空间存储了生产主机已经缓存的数据与备份主机已经缓存的数据之间的差异数据块的元数据。并且这里假设弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量。图6的中间的数据布局也为存储系统的数据布局。由图6可见,在初始状态下,弹性空间里开始存储元数据;在正常工作状态下,弹性空间里已经存储元数据。如果生产主机发生故障,在失效备援过程I和2中,弹性空间会动态扩展,在动态扩展的同时会逐步将数据块C和D迁移到弹性空间里来尽可能的保证失效备援过程中的性能。当弹性空间扩展到所有需要缓存但没有被缓存到备份主机的数据都被迁移到弹性空间后,也就是图6中的备份主机工作状态时,弹性空间会逐渐缩小到最小空间。当生产主机恢复正常时,弹性空间一切都恢复到初使状态,即有开始新一轮的存储元数据,以备下次失效备援使用。可见,使用弹性空间,可以大大提高时效备援的效率和性能。
[0057]在同一个发明构思下,本发明还公开了一种存储系统,图7示出了根据本发明一种实施方式的存储系统的结构框图,其中所述存储系统分别与生产主机以及备份主机通过网络连接,所述备份主机对所述生产主机执行失效备援,根据图7,存储系统包括:元数据获得装置701,被配置为响应于所述生产主机失效:从位于所述存储系统的快盘的弹性空间获得已经缓存的数据块的元数据;弹性存储空间扩展装置703,被配置为扩展所述弹性存储空间的存储容量;弹性空间数据块存储装置704,被配置为根据所述元数据以及扩展的弹性空间的存储容量,获得该元数据对应的数据块,并存储在所述扩展的弹性空间;以及备份主机数据请求响应装置705,被配置为响应于所述备份主机请求该元数据对应的数据块并且该元数据对应的数据已经存储在所述扩展的弹性空间,从所述扩展的弹性空间获得该元数据对应的数据块并发送给所述备份主机。
[0058]在一种实施方式中,所述弹性存储空间扩展装置703被进一步配置为:响应于所述弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,扩展该弹性空间至其最大存储容量;响应于所述弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,扩展该弹性空间存储容量直到该弹性空间存储容量至少能够存储所述元数据对应的数据块。对应地,弹性空间数据块存储装置704被进一步配置为:响应于所述弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,获得一部分该元数据对应的数据块,所述一部分该元数据对应的数据块的存储容量接近于弹性空间的最大存储容量;以及响应于所述弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,获得全部该元数据对应的数据块。
[0059]在一种实施方式中,其中所述元数据中包括该元数据对应的数据块在所述存储系统中的存储位置。
[0060]在一种实施方式中,所述存储系统还包括存储位置更新装置(图7未示出),被配置为响应于所述元数据对应的数据块在所述存储系统中的存储位置发生改变,在所述弹性空间中更新所述元数据对应的数据块在所述存储系统中的存储位置。
[0061]在一种实施方式中,所述存储系统还包括(图7未示出):缓存请求接收装置,被配置为接收到所述生产主机的缓存数据块的请求;响应发送装置,被配置为向所述生产主机发送请求的数据块;元数据生成装置,被配置为对所述生产主机已经缓存的数据块生成元数据,以及元数据存储装置,被配置为将该元数据在所述弹性空间存储为已经缓存的数据块的元数据。
[0062]在一种实施方式中,所述存储系统还包括(图7未示出):缓存请求接收装置,被配置为接收到所述生产主机的缓存数据块的请求以及接收到所述备份主机的缓存数据块的请求;响应发送装置,被配置为向所述生产主机发送请求的数据块以及向所述备份主机发送请求的数据块;元数据生成装置,被配置为对所述生产主机已经缓存的数据块与所述备份主机已经缓存的数据块之间的差异数据块生成元数据,以及元数据存储装置,被配置为将该元数据在所述弹性空间存储为已经缓存的数据块的元数据。
[0063]在一种实施方式中,所述存储系统还包括(图7未示出):判断装置,被配置为判断所述弹性空间的最大存储容量与所述元数据对应的数据块的存储容量之间的大小关系。
[0064]在一种实施方式中,所述存储系统还包括(图7未示出):数据转移装置,被配置为响应于所述备份主机正常工作,将所述扩展的弹性空间存储的该元数据对应的数据块转移到所述存储系统的快盘上存储;以及弹性空间收缩装置,被配置为收缩所述扩展的弹性空间的存储容量。
[0065]在一种实施方式中,所述存储系统还包括(图7未示出):弹性空间分配装置,被配置为响应于所述生产主机恢复正常,重新分配所述弹性空间的存储容量为新的已经缓存的数据的元数据的存储容量。
[0066]本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0067]计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是一一但不限于一一电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPR0M或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(⑶-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0068]这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0069]用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言一诸如Smalltalk、C++等,以及常规的过程式编程语目一诸如“C”语目或类似的编程语目。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0070]这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0071]这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0072]也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个 或多个方框中规定的功能/动作。
[0073]附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0074]以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
【主权项】
1.一种存储系统使用的方法,其中所述存储系统分别与生产主机以及备份主机通过网络连接,所述备份主机对所述生产主机执行失效备援,该方法包括: 响应于所述生产主机失效: 从位于所述存储系统的快盘的弹性空间获得已经缓存的数据块的元数据; 扩展所述弹性存储空间的存储容量; 根据所述元数据以及扩展的弹性空间的存储容量,获得该元数据对应的数据块,并存储在所述扩展的弹性空间;以及 响应于所述备份主机请求该元数据对应的数据块并且该元数据对应的数据块已经存储在所述扩展的弹性空间,从所述扩展的弹性空间获得该元数据对应的数据块并发送给所述备份主机。2.根据权利要求1所述的方法,其中所述扩展所述弹性存储空间的存储容量包括: 响应于所述弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,扩展该弹性空间至其最大存储容量; 响应于所述弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,扩展该弹性空间存储容量直到该弹性空间存储容量至少能够存储所述元数据对应的数据块。3.根据权利要求2所述的方法,其中所述根据所述元数据以及扩展的弹性空间存储容量,获得该元数据对应的数据块包括: 响应于所述弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,获得一部分该元数据对应的数据块,所述一部分该元数据对应的数据块的存储容量接近于弹性空间的最大存储容量; 响应于所述弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,获得全部该元数据对应的数据块。4.根据权利要求1-3之一所述的方法,其中所述元数据中包括该元数据对应的数据块在所述存储系统中的存储位置。5.根据权利要求1-3之一所述的方法,该方法还包括: 接收到所述生产主机的缓存数据块的请求; 向所述生产主机发送请求的数据块; 对所述生产主机已经缓存的数据块生成元数据,以及 将该元数据在所述弹性空间存储为已经缓存的数据块的元数据。6.根据权利要求1-3之一所述的方法,该方法还包括: 接收到所述生产主机的缓存数据块的请求; 向所述生产主机发送请求的数据块; 接收到所述备份主机的缓存数据块的请求; 向所述备份主机发送请求的数据块; 对所述生产主机已经缓存的数据块与所述备份主机已经缓存的数据块之间的差异数据块生成元数据,以及 将该元数据在所述弹性空间存储为已经缓存的数据块的元数据。7.根据权利要求2或3所述的方法,该方法还包括: 判断所述弹性空间的最大存储容量与所述元数据对应的数据块的存储容量之间的大小关系。8.根据权利要求4所述的方法,该方法还包括: 响应于所述元数据对应的数据块在所述存储系统中的存储位置发生改变,在所述弹性空间中更新所述元数据对应的数据块在所述存储系统中的存储位置。9.根据权利要求1所述的方法,该方法还包括: 响应于所述备份主机正常工作,将所述扩展的弹性空间存储的该元数据对应的数据块转移到所述存储系统的快盘上存储; 收缩所述扩展的弹性空间的存储容量。10.根据权利要求1所述的方法,该方法还包括: 响应于所述生产主机恢复正常,重新分配所述弹性空间的存储容量为新的已经缓存的数据的元数据的存储容量。11.一种存储系统,其中所述存储系统分别与生产主机以及备份主机通过网络连接,所述备份主机对所述生产主机执行失效备援,该存储系统包括: 元数据获得装置,被配置为响应于所述生产主机失效:从位于所述存储系统的快盘的弹性空间获得已经缓存的数据块的元数据; 弹性存储空间扩展装置,被配置为扩展所述弹性存储空间的存储容量; 弹性空间数据块存储装置,被配置为根据所述元数据以及扩展的弹性空间的存储容量,获得该元数据对应的数据块,并存储在所述扩展的弹性空间;以及 备份主机数据请求响应装置,被配置为响应于所述备份主机请求该元数据对应的数据块并且该元数据对应的数据已经存储在所述扩展的弹性空间,从所述扩展的弹性空间获得该元数据对应的数据块并发送给所述备份主机。12.根据权利要求11所述的存储系统,其中所述弹性存储空间扩展装置被进一步配置为: 响应于所述弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,扩展该弹性空间至其最大存储容量; 响应于所述弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,扩展该弹性空间存储容量直到该弹性空间存储容量至少能够存储所述元数据对应的数据块。13.根据权利要求12所述的存储系统,其中所述弹性空间数据块存储装置被进一步配置为: 响应于所述弹性空间的最大存储容量小于所述元数据对应的数据块的存储容量,获得一部分该元数据对应的数据块,所述一部分该元数据对应的数据块的存储容量接近于弹性空间的最大存储容量; 响应于所述弹性空间的最大存储容量大于所述元数据对应的数据块的存储容量,获得全部该元数据对应的数据块。14.根据权利要求11-13之一所述的存储系统,其中所述元数据中包括该元数据对应的数据块在所述存储系统中的存储位置。15.根据权利要求11-13之一所述的存储系统,该存储系统还包括: 缓存请求接收装置,被配置为接收到所述生产主机的缓存数据块的请求; 响应发送装置,被配置为向所述生产主机发送请求的数据块; 元数据生成装置,被配置为对所述生产主机已经缓存的数据块生成元数据,以及 元数据存储装置,被配置为将该元数据在所述弹性空间存储为已经缓存的数据块的元数据。16.根据权利要求11-13之一所述的存储系统,该存储系统还包括: 缓存请求接收装置,被配置为接收到所述生产主机的缓存数据块的请求以及接收到所述备份主机的缓存数据块的请求; 响应发送装置,被配置为向所述生产主机发送请求的数据块以及向所述备份主机发送请求的数据块; 元数据生成装置,被配置为对所述生产主机已经缓存的数据块与所述备份主机已经缓存的数据块之间的差异数据块生成元数据,以及 元数据存储装置,被配置为将该元数据在所述弹性空间存储为已经缓存的数据块的元数据。17.根据权利要求12或13所述的存储系统,该存储系统还包括: 判断装置,被配置为判断所述弹性空间的最大存储容量与所述元数据对应的数据块的存储容量之间的大小关系。18.根据权利要求14所述的存储系统,该存储系统还包括: 存储位置更新装置,被配置为响应于所述元数据对应的数据块在所述存储系统中的存储位置发生改变,在所述弹性空间中更新所述元数据对应的数据块在所述存储系统中的存储位置。19.根据权利要求11所述的存储系统,该存储系统还包括: 数据转移装置,被配置为响应于所述备份主机正常工作,将所述扩展的弹性空间存储的该元数据对应的数据块转移到所述存储系统的快盘上存储; 弹性空间收缩装置,被配置为收缩所述扩展的弹性空间的存储容量。20.根据权利要求11所述的存储系统,该存储系统还包括: 弹性空间分配装置,被配置为响应于所述生产主机恢复正常,重新分配所述弹性空间的存储容量为新的已经缓存的数据的元数据的存储容量。
【专利摘要】本发明公开了一种存储系统及其使用的方法,其中所述存储系统分别与生产主机以及备份主机通过网络连接,所述备份主机对所述生产主机执行失效备援,方法包括:响应于所述生产主机失效:从位于所述存储系统的快盘的弹性空间获得已经缓存的数据块的元数据;扩展所述弹性存储空间的存储容量;根据所述元数据以及扩展的弹性空间的存储容量,获得该元数据对应的数据块,并存储在所述扩展的弹性空间;以及响应于所述备份主机请求该元数据对应的数据块并且该数据已经存储在所述扩展的弹性空间,从所述扩展的弹性空间获得该元数据对应的数据块并发送给所述备份主机。该方法和系统能够提高存储系统失效备援的效率。
【IPC分类】G06F11/14
【公开号】CN104881333
【申请号】CN201410068897
【发明人】方敏, 陈铎, 常彦德
【申请人】国际商业机器公司
【公开日】2015年9月2日
【申请日】2014年2月27日
【公告号】US20150242291
转载请注明原文地址:https://www.famiwei.com/read-8138742.html

最新回复(0)