包括具有存储虚拟化功能和容量虚拟化功能二者的多个存储装置的存储系统的制作方法

文档序号:6352383阅读:104来源:国知局
专利名称:包括具有存储虚拟化功能和容量虚拟化功能二者的多个存储装置的存储系统的制作方法
技术领域
本发明涉及在包括具有存储虚拟化功能和容量虚拟化功能二者的多个存储装置的存储系统中的存储控制。
背景技术
存在减少包括多个存储装置的存储系统(例如数据中心)的操作成本的需求。已经公开针对该类型的存储系统的如下技术。专利文献I涉及称为“存储虚拟化”的技术。在本说明书中,包括存储虚拟化功能的存储装置将被称为“虚拟存储设备”。另外,在本说明书中,将耦合到虚拟存储设备并且包括根据虚拟存储设备虚拟化的存储资源的存储装置称为“外部存储设备”。在专利文献I中,一个或者多个外部存储设备耦合到一个虚拟存储设备,并且对于所有出现,外部存储设备被虚拟存储设备隐藏。在本说明书中,如下逻辑卷将被称为“LU”(LU :逻辑单元),该逻辑卷是服务器或者其它此类主机装置的访问单元。LU(该LU—对一地被映射到虚拟存储设备上的LU)是在外部存储设备上被定义的。在下文中,从服务器访问的LU将被称为“服务器LU”,而外部存储设备上的LU将被称为“外部LU”。在虚拟存储设备从主机装置接收指定被映射到外部LU的服务器LU的访问请求的情况下,通过访问该外部LU来处理该访问请求。该技术使得有可能减少管理成本,因为管理员仅需管理虚拟存储设备。专利文献2涉及称为“容量虚拟化”的技术。容量虚拟化也称为精简配置(或者动态配置)。在本说明书中,虚拟存储设备也包括容量虚拟化功能。容量虚拟化功能将被称为“容量池”的存储区域分区成称为“页面”的段。一般而言,当LU被定义时,该LU的容量也被指定,并且与该容量对应的存储区域在存储装置中得以保证。同时,在具有容量虚拟化功能的虚拟存储设备中,无需在虚拟服务器LU(遵从精简配置的服务器LU)被定义时保证与该虚拟服务器LU的容量成比例的存储区域。在实际生成向虚拟服务器LU的写入的情况下,页面被分配给包括该写入目的地的区域(虚拟服务器LU中的区域)。这使得有可能减少所消耗的存储区域。另外由于写入的生成会触发存储区域的分配,所以管理员仅需定义适当的虚拟服务器LU容量、由此使得有可能减少管理成本。专利文献3公开一种将容量虚拟化功能应用于外部存储设备的存储区域的技术。由于该技术仅能在一旦两种技术(即“存储虚拟化”和“容量虚拟化”)存在时被应用,所以认为它作为一种高附加值技术是重要的。根据这一点,大容量外部LU例如在外部存储设备上定义。该外部LU变成虚拟存储设备上的容量池之一。虚拟存储设备将该容量池(映射到外部LU的容量池)分区成多个页面。在生成向虚拟服务器LU的写入的情况下,虚拟存储设备向包括该写入目的地的区域分配页面。根据这一点,内部页面(基于虚拟存储设备以内的物理存储设备的容量池中的页面)和外部页面(映射到外部LU的容量池中的页面)可以在被分配给一个虚拟服务器LU的多个页面中混合在一起。在虚拟存储设备的数目等于或者大于一的情况下应用专利文献I至3中公开的技术。然而,将多个虚拟存储设备链接在一起对进一步减少操作管理成本也有效。例如,专利文献4公开了一种用于链接两个虚拟存储设备并且备份两个存储设备的技术。另外,专利文献4也公开一种技术,该技术在多个虚拟存储设备共享外部存储设备的环境中出于负荷调平的目的从某个虚拟存储设备向不同虚拟存储设备迁移访问外部存储设备上的外部LU的权限,而不复制相关LU的数据。引用列表专利文献PTL1:日本专利申请公开号为2004-005370PTL 2 :日本专利申请公开号为2003-005370PTL 3 :日本专利申请公开号为2007-102455PTL 4 :日本专利申请公开号为2007-072538

发明内容
技术问题将考虑一种存储系统,该系统包括多个虚拟存储设备和一个或者多个外部存储设备,并且在该系统中,多个虚拟存储设备(例如虚拟存储设备A和虚拟存储设备B)共享外部存储设备。然后,将考虑从虚拟存储设备A向虚拟存储设备B移动虚拟服务器LU访问权限,其中容量池中的页面被分配给该虚拟服务器LU访问权限,其对应于在虚拟存储设备A上定义的外部LU。本发明的目的是解决在比如专利文献3中公开的技术(将容量虚拟化功能应用于外部存储设备的存储区域的技术)之类的技术已经被应用于链接多个虚拟存储设备的技术时出现并且高度重要的问题。用于移动虚拟服务器LU的访问权限的主要触发例如如下(I)在虚拟存储设备A与虚拟存储设备B之间的负荷调平;以及(2)从旧的现有虚拟存储设备A向新虚拟存储设备B移动数据。在上述(2)中,在将丢弃虚拟存储设备A的情况下,虚拟存储设备A对虚拟服务器LU的访问权限中的所有访问权限被迁移到包括虚拟存储设备B的其它虚拟存储设备。在外部存储设备在虚拟存储设备A与虚拟存储设备B之间进行共享的情况下,可以根据专利文献4中公开的技术从虚拟存储设备A向虚拟存储设备B迁移虚拟存储设备A具有的作为访问权限的外部LU访问权限,因为虚拟存储设备B能够访问外部存储设备。然而当除了虚拟服务器LU访问权限之外还从虚拟存储设备A向虚拟存储设备B迁移与容量池对应的外部LU的访问权限时,存在如下可能性虚拟存储设备A对其具有访问权限的虚拟服务器LU和虚拟存储设备B对其具有访问权限的虚拟服务器LU将被相互混合为与该容量池关联的多个虚拟服务器LU。以往没有考虑解决这样的问题。对问题的解决方案为了解决这一问题,在本发明中,独立提供用于与外部LU对应的容量池的分配/释放权限和关于虚拟服务器LU(下文简称为“LU”)的访问权限。在本发明中,当在包括虚拟存储设备A和B以及这些虚拟存储设备A和B共享的外部存储设备(外部存储设备提供的外部LU)的存储系统中从虚拟存储设备A向虚拟存储设备B迁移LU (LU访问权限)时,针对包括该LU的每个区域(下文为LU区域)执行以下确定(a)和(b)(a)是否已经向该LU区域分配了页面;以及(b)在已经向该LU区域分配了页面的情况下,该页面是否为基于虚拟存储设备A的物理存储设备的容量池中的页面或者与外部存储设备的外部LU对应的容量池中的页面,根据该确定的结果执行处理。具体而言,这一点如下文所述。下文将使用一个LU区域(下文为目标LU区域)作为示例来说明LU迁移过程中执行的处理。(I)尚未向目标LU区域分配页面的情况(Ia)虚拟存储设备A向虚拟存储设备B发送信息,该信息表示目标LU区域的地址和尚未向该区域分配页面的事实。(Ib)虚拟存储设备B存储从虚拟存储设备A接收的信息(如下信息,该信息表示目标LU区域的地址和尚未向该区域分配页面的事实)。(2)向目标LU区域分配与外部LU对应的容量池中的页面(下文为外部页面)的情况 (2a)虚拟存储设备A向虚拟存储设备B发送信息,该信息表示目标LU区域地址和被分配给该区域分配的外部页面的地址。(2b)虚拟存储设备B存储从虚拟存储设备A接收的信息(表示目标LU区域地址和被分配给该区域的外部页面的地址的信息)。这是本发明的一个有特点的特征。根据这一点,取代复制向目标LU区域分配的页面的数据,可以关于向目标LU区域分配的外部页面的地址(基本上为外部LU中的区域的地址)简单地发出通知。这使得有可能高效迁移访问权限。另外,在这一情况下,在从主机接收指定迁移目的地LU的读取/写入请求时,虚拟存储设备B在该读取/写入请求中指定的地址(迁移目的地LU中的LU区域地址)是与从虚拟存储设备A通知的目标LU区域地址相符的地址的情况下,访问与从虚拟存储设备A通知的外部页面地址相符的外部LU区域(外部LU中的LU区域)。(3)向目标LU区域分配基于虚拟存储设备A的物理存储设备的容量池中的页面(下文为内部页面)的情况(3a)虚拟存储设备A向虚拟存储设备B发送信息,该信息指示目标LU区域地址和向该区域分配的内部页面的地址。(3b)虚拟存储设备A向虚拟存储设备B发送被分配给目标LU区域的内部页面以内的数据。(3c)虚拟存储设备B保证基于虚拟存储设备B的物理存储设备的容量池中的页面。(3d)虚拟存储设备B在上述(3c)中保证的页面中存储从虚拟存储设备A接收的信息。针对迁移LU访问权限的触发可以是在上述⑴至(3)的处理之前或者之后。在本发明中,在原则上,即使从虚拟存储设备A向虚拟存储设备B迁移LU访问权限,虚拟存储设备A仍然保持针对与虚拟存储设备A中的该LU关联的容量池(下文为容量池A)的分配/释放权限。出于这一原因,在虚拟存储设备B中,在容量池A的页面的分配/释放在被迁移到虚拟存储设备B的LU的区域中变得必要的情况下,虚拟存储设备B请求虚拟存储设备A执行页面分配/释放处理。另外,例如在下述(X)或者(Y)的情况下,也可以向虚拟存储设备B迁移针对容量池A的页面分配/释放权限。(X) 一个或者多个LU访问权限向虚拟存储设备B迁移的情况,该一个或者多个LU访问权限是被与容量池A的规定百分比相等或者比其更大的页面所分配的。(Y)虚拟存储设备A的负荷(例如CPU使用量)等于或者大于规定负荷的情况。例如,关于分配/释放容量池A的页面的、在虚拟存储设备A上的负荷等于或者大于规定负荷的情况。本发明的有利效果根据本发明,在存储系统(该存储系统包括虚拟存储设备A和B以及这些虚拟存储设备A和B共享的外部存储设备)中从虚拟存储设备A向虚拟存储设备B迁移与外部LU对应的容量池(在虚拟存储设备A以内的容量池)中的页面分配的LU访问权限的情况下,可以通过简单地向虚拟存储设备B通知被分配给该LU的外部页面的地址而不是复制该外部页面以内的数据,来迁移针对该外部页面的访问权限。这使得有可能高度地高效迁移访问权限。


图1不出与实施例1有关的IT(信息技术)系统的配置的不例。图2示出与实施例1有关的虚拟存储设备的配置的示例。图3不出与实施例1有关的外部存储设备的配置的不例。图4示出与实施例1有关的内部容量池信息的格式的示例。图5示出与实施例1有关的外部LU信息的格式的示例。图6示出与实施例1有关的外部容量池信息的格式的示例。图7示出与实施例1有关的主机LU信息的格式的示例。图8示出与实施例1有关的外部LU信息的格式的示例。图9示出与实施例1有关的虚拟存储设备110实现的多个功能的示例。图10示出与实施例1有关的迁移源虚拟存储设备中的数据迁移控制部分(a)的处理流程的示例。图11示出与实施例1有关的迁移目的地虚拟存储设备中的数据迁移控制部分(a)的处理流程的示例。图12示出与实施例1有关的迁移源虚拟存储设备中的读取/写入执行部分(a)的处理流程的示例。图13示出与实施例1有关的页面分配处理器的处理流程的示例。图14示出与实施例1有关的迁移目的地虚拟存储设备中的写入数据接收部分的处理流程的示例。图15示出与实施例1有关的写入后处理部分的处理流程的示例。图16示出与实施例1有关的外部页面分配处理部分的处理流程的示例。图17示出与实施例1有关的外部页面释放处理部分的处理流程的示例。
图18示出与实施例1有关的控制权限迁移部分的处理流程的示例。图19示出与实施例2有关的虚拟存储设备110实现的多个功能的示例。图20示出与实施例2有关的迁移目的地虚拟存储设备中的数据迁移控制部分(b)的处理流程的示例。图21示出与实施例2有关的迁移源虚拟存储设备中的数据迁移执行部分(b)的处理流程的示例。图22示出与实施例2有关的迁移目的地虚拟存储设备中的读取/写入执行部分
(b)的处理流程的示例。图23示出与实施例2有关的迁移源虚拟存储设备中的读取请求接收部分的处理流程的示例。图24示出与实施例1有关的控制权限迁移判决部分的处理流程的示例。
具体实施例方式下文将通过参照附图来说明本发明的多个实施例。实施例1图1示出与本发明的实施例1有关的IT(信息技术)系统的配置的示例。主机100是其中执行应用的计算机,并且有一个或者多个主机100。虚拟存储设备110是包括存储虚拟化功能和容量虚拟化功能的存储装置。虚拟存储设备110耦合到主机100并且从主机100接收读取/写入请求(读取请求或者写入请求)。也有两个或者更多虚拟存储设备110。IT系统可以包括存储装置,该存储装置未包括存储虚拟化功能和容量虚拟化功能中的至少一个功能。例如这一种类的存储装置可以用作被多个虚拟存储设备Iio所共享的外部存储设备130。根据图1,虚拟存储设备110经由SAN(a) 120耦合到主机100。类似地,虚拟存储设备Iio也经由SAN(a) 120被耦合。然而虚拟存储设备110可以直接耦合到主机100 (可以被耦合而不经过SAN(a)),并且虚拟存储设备110也可以被直接耦合(可以耦合而未经过SAN (a))。另外,一个虚拟存储设备110耦合到至少一个主机100和至少一个虚拟存储设备110。主机100、虚拟存储设备110和SAN (a) 120的相应连接称为“端口” 140。主机100和虚拟存储设备110具有至少一个端口 140,并且SAN (a) 120具有至少两个端口 140。主机100指定LU标识符(例如LUN (逻辑单元编号))、LU中的相对地址(例如LBA (逻辑块地址))和向虚拟存储设备Iio发出的读取/写入请求中的数据长度。主机100指定的LU将在下文中称为“主机LU”。外部存储设备130经由SAN (b) 150耦合到虚拟存储设备110。作为规则,外部存储设备130不直接从主机100接收读取/写入请求而是经由虚拟存储设备110接收该请求。可以有例外,并且下文将进一步说明这样的例外情况。外部存储设备130耦合到至少两个虚拟存储设备110。在外部存储设备130上定义的LU将被称为“外部LU”。基本上,从虚拟存储设备110访问外部LU。管理服务器160用于管理主机100和虚拟存储设备110并且耦合到主机100和虚拟存储设备110。在实施例1和2中,管理服务器160收集关于虚拟存储设备110的信息(比如读取/写入请求的频率)并且判决主机LU在虚拟存储设备110之间的迁移。另外,在实施例3和4中,管理服务器160监视控制,从而新虚拟存储设备110耦合到SAN(a) 120,向新虚拟存储设备110移动旧虚拟存储设备110的所有数据,并且废除旧虚拟存储设备110。另外,管理服务器160之外的装置(例如主机100或者虚拟存储设备110 (该虚拟存储设备是迁移源或者是作为主机LU的迁移目的地的虚拟存储设备110))可以包括这些实施例中的任何实施例中的管理服务器160的功能。图2示出虚拟存储设备110的配置的示例。虚拟存储设备110包括多个物理存储设备(例如HDD (硬盘驱动)或者SSD (固态驱动))和耦合到多个物理存储设备的控制器。多个逻辑卷210被基于多个物理存储设备构建。在下文中,基于虚拟存储设备110中的物理存储设备的逻辑卷210将被称为“内部卷210”。内部卷210可以基于可以包括两个或者更多物理存储设备的RAID (廉价盘冗余阵列)组。存储处理器200管理RAID配置。控制器是用于控制虚拟存储设备110的操作的装置。控制器包括多个端口 140、包括高速缓存存储器270的存储资源和耦合到这些部件的存储处理器(例如CPU (中央处理单元))200。存储资源存储内部容量池信息230、外部LU信息240、外部容量池信息250和主机LU信息260。另外,存储资源存储由存储处理器200执行的一个或者多个计算机程序。在虚拟存储设备110以内包括一个或者多个存储处理器200,并且这些处理器200处理从主机100接收的读取/写入请求。内部容量池信息230与内部容量池有关。“内部容量池”是基于虚拟存储设备110中的物理存储设备的容量池并且包括一个或者多个内部卷210。内部容量池被分区成多个页面(下文为内部页面)。外部LU信息240与在耦合到虚拟存储设备110的外部存储设备130中定义的外部LU有关。外部LU信息240可以针对耦合到虚拟存储设备110的所有外部存储设备130上的所有外部LU而存在,或者外部LU信息240可以仅针对一部分外部LU而存在。外部容量池信息250与外部容量池有关。“外部容量池”包括一个或者多个外部LU被映射到的虚拟逻辑卷(遵循存储虚拟化功能的逻辑卷)。将外部容量池分区成多个页面(下文为外部页面)。以外部页面作为写入目的地的数据实际上被写入到在用作该外部页面的基础的外部LU之内的LU区域。主机LU信息260与主机LU有关。高速缓存存储器270存储主机100从/向主机LU读取/写入的数据。存储器270通常是半导体存储器,但是可以使用电池来变为非易失性,并且可以被加倍以提高可靠性。图3示出外部存储设备130的配置的示例。外部存储设备130包括多个物理存储设备(例如HDD (硬盘驱动)或者SSD (固态驱动))和耦合到多个物理存储设备的控制器。多个逻辑卷310被构建为具有多个物理存储设备作为基础。在下文中,基于外部存储设备130以内的物理存储设备的逻辑卷310将被称为“外部卷310”。外部卷310可以基于包括两个或者更多物理存储设备的RAID组。RAID配置的管理由外部存储设备处理器300执行。容量池从一个或者多个外部卷310配置,并且遵循精简配置的虚拟LU可以被布置于该容量池中。外部卷310或者与包括一个或者多个外部卷310的容量池关联的虚拟LU可以是外部LU。控制器是用于控制外部存储设备130的操作的装置。控制器包括多个端口 140、包含外部高速缓存存储器330的存储资源和耦合到这些部件的外部存储设备处理器(例如CPU) 300。存储资源存储外部LU信息320。另外,存储资源存储由外部存储设备处理器300执行的一个或者多个计算机程序。在外部存储设备130以内包括一个或者多个外部存储设备处理器300,并且这些处理器300处理从主机100接收的读取/写入请求。外部LU信息320与外部LU有关。外部存储设备高速缓存存储器330用于存储外部存储设备从/向外部LU读取/写入的数据。存储器330通常是半导体存储器,但是可以使用电池来变为非易失性,并且可以被加倍以提高可靠性。下文将说明各种类型的信息。在这样做时,在内部容量池与外部容量池之间未被进行具体区分的情况下,其将被简称为“容量池”,并且在内部页面与外部页面之间未被进行具体区分的情况下,其将被简称为“页面”。图4示出内部容量池信息230的格式的示例。内部容量池信息230存在于每个内部容量池中。内部容量池信息230包括页面大小400、页面数目410、分配的页面数目420和LU地址430。LU地址430针对每个内部页面而存在。下文将通过给出单个内部容量池(将在图4的说明中称为“目标池”)作为示例来说明在该信息230以内的信元。页面大小400是表示内部页面的大小的信息。页面数目410表示目标池的内部页面数目(通过将目标池的容量除以页面大小400而获得的值)。分配的页面数目420表示目标池以内的分配的内部页面数目。LU地址430是表示内部页面的分配目的地区域的信息(例如主机LU的LUN和该主机LU的相对地址(例如LBA))。假设NULL值被存储为与尚未向主机LU分配的内部页面对应的LU地址430。图5示出外部LU信息240的格式的示例。外部LU信息240针对每个外部LU而存在。外部LU信息240包括外部LU标识符500、外部LU容量510、容量虚拟化标志520、分配信息530、控制权限信息540和控制权限虚拟存储设备550。下文将通过给出单个外部LU(将在图5的说明中称为“目标外部LU”)作为示例来说明在该信息240以内的信元。外部LU标识符500是如下信息,该信息包括目标LU的LUN和包括目标外部LU的外部存储设备130的标识符。外部LU容量510是表示目标外部LU的容量的信息。容量虚拟化标志520是表示是否在目标外部LU中应用容量虚拟化功能的信息。在容量虚拟化功能未被应用的情况下,在虚拟存储设备110以内的目标外部LU和主机LU在一对一基础上基本相互对应。也可以有主机LU未被映射到目标外部LU的情况。在容量虚拟化功能被应用的情况下,目标外部LU在一对一基础上对应于外部容量池。分配信息530在容量虚拟化功能被应用于目标外部LU的情况下表示与目标外部LU对应的外部容量池的标识符。在容量虚拟化功能未被应用于目标外部LU的情况下,存储映射到目标外部LU的主机LU的标识符。在主机LU未被映射到目标外部LU的情况下,将NULL值作为分配信息530进行存储。控制权限信息540表示包括该外部LU信息240的虚拟存储设备110是否具有用于与目标外部LU对应的外部容量池的控制权限(外部页面分配/释放权限)。在该虚拟存储设备110具有目标外部LU控制权限的情况下,将表示ON的值作为控制权限信息540存储。具体而言,例如在容量虚拟化功能被应用于目标LU的情况下,该虚拟存储设备110拥有用于与目标外部LU对应的外部容量池中的外部页面的分配/释放权限。另外,在容量虚拟化功能未被应用于目标外部LU的情况下,该虚拟存储设备110也关于映射到目标外部LU的主机LU具有读取/写入处理的权限。控制权限虚拟存储设备550是具有用于目标外部LU的控制权限的虚拟存储设备110的标识符。图6示出外部容量池信息250的格式的示例。外部容量池信息250针对每个外部容量池而存在。外部容量池信息250包括外部LU指针600、页面大小400、页面数目410、分配的页面数目420和LU地址430。LU地址430针对每个外部页面而存在。下文将通过给出单个外部容量池(将在图6的说明中称为“目标池”)作为示例来说明该信息250中的信元。外部LU指针600指向与目标池对应的外部LU的外部LU信息240。信息的其余部分与在内部容量池信息230中包括的信元基本上相同。也就是说,页面大小400是表示外部页面的大小的信息。页面数目410表示目标池的外部页面数目。分配的页面数目420表示目标池以内的分配的外部页面数目。LU地址430是表示外部页面(例如主机LU的LUN和该主机LU的相对地址(例如LBA))的分配目的地区域的信息。图7是不出主机LU信息260的格式的不例。另外,在实施例1中,假设容量虚拟化功能应用于虚拟存储设备110中的所有主机LU。然而本发明即使在容量虚拟化功能仅应用于虚拟存储设备110中的一部分主机LU中时仍然有效。主机LU信息260针对每个主机LU而存在。主机LU信息260包括主机LU标识符700、虚拟容量710、使用的页面数目720、迁移进展标志730、迁移进展虚拟存储设备标识符740、迁移进展LU标识符750、复制指针760、容量池标识符770和相对地址780。容量池标识符770和相对地址780针对包括主机LU的每个LU区域而存在。向LU区域分配单个内部页面或者外部页面。因此,实施例1中的包括主机LU的LU区域数目将与通过将下文将进一步描述的虚拟容量700除以页面大小400而获得的值相同。另外,可以向单个LU区域分配多个页面(内部页面和/或外部页面)。下文将通过给出单个主机LU(将在图7的说明中称为“目标主机LU” )作为示例来说明该信息260的信元。主机LU标识符700是目标主机LU的标识符(例如LUN)。虚拟容量710是表示目标主机LU的虚拟容量的信息。使用的页面数目720是表示已经向目标主机LU分配的页面数目的信息。迁移进展标志730表示目标主机LU是否在向另一虚拟存储设备迁移的过程中。迁移进展虚拟存储设备标识符740是将迁移目标主机LU的虚拟存储设备110 (迁移源虚拟存储设备110)的标识符。
迁移进展LU标识符750是迁移源虚拟存储设备110中的主机LU的标识符(例如LUN)。复制指针760示出已经完成迁移的LU区域的地址。在实施例1中,例如,迁移处理按照从目标主机LU的第一 LU区域到最后的LU区域的顺序来执行。复制指针760示出迁移处理已被完成而所至的LU区域。容量池标识符770是包括已经分配给LU区域的页面的容量池的标识符。相对地址780表示已经向LU区域分配的页面在容量池中的相对地址。在尚未分配页面的情况下,容量池标识符770和相对地址780 二者都是NULL值。图8示出外部LU信息320的格式的示例。外部LU信息320针对每个外部LU而存在。外部LU信息320包括外部LU标识符800和外部LU容量810。下文将通过给出单个外部LU(将在图8的说明中称为“目标外部LU”)作为示例来说明该信息320的信元。外部LU标识符800是外部存储设备130中的目标外部LU的标识符(例如LUN)。外部LU容量810是表示目标外部LU的容量的信息。前文已是各种类型的信息的说明。另外,通过参照图1至8而进行的说明与实施例I至实施例4被共同共享。图9示出与实施例1有关的虚拟存储设备110实现的多个功能的一个示例。在实施例1中,根据执行虚拟存储设备110以内的一个或者多个计算机程序的存储处理器200来实现以下多个功能,即,数据迁移控制部分(a)900、数据迁移执行部分(a)910、读取/请求执行部分(a)920、页面分配处理部分930、写入数据接收部分940、写入后处理部分950、外部页面分配处理部分960、外部页面释放处理部分970、控制权限迁移部分980和控制权限迁移判决部分990。可以使用硬件电路来执行根据这些功能执行的处理的至少一部分。在实施例1中,当从迁移源虚拟存储设备110向迁移目的地虚拟存储设备110迁移主机LU时,迁移源虚拟存储设备110执行对迁移过程的控制。在迁移过程期间,主机100能够向迁移源虚拟存储设备110发出读取/写入请求。在该示例中,管理服务器160检查相应虚拟存储设备110的负荷,并且判决将在虚拟存储设备110上迁移的主机LU和将变成迁移目的地的虚拟存储设备110。在该示例中,假设迁移源主机LU的标识符未被传递到迁移目的地主机LU,但是本发明即使在标识符(比如光纤信道协议定义的全球名称)被继承的情况下仍然有效。管理服务器160向迁移源虚拟存储设备110发送迁移源主机LU标识符、迁移目的地虚拟存储设备110标识符和迁移目的地主机LU标识符。另外,管理服务器160向迁移目的地虚拟存储设备110发送迁移源虚拟存储设备110标识符、迁移源LU标识符、迁移目的地主机LU标识符以及表示该主机LU的虚拟容量的信息。在实施例1中,迁移源虚拟存储设备110的数据迁移控制部分(a) 900从管理服务器160接收LU迁移请求,并且在向管理服务器160作出大致是已经接收该请求的响应之后执行图10中所示处理流程。图10示出迁移源虚拟存储设备110中的数据迁移控制部分(a)900的处理流程的示例。
在步骤1000中,数据迁移控制部分(a) 900发现与迁移源主机LU标识符对应的主机LU信息260。在步骤1001中,数据迁移控制部分(a)900将在步骤1000中发现的主机LU信息260 (在图10的说明中为“目标信息260”)中的迁移进展标志730的值改变成表示“0N”的值。此外,数据迁移控制部分(a)900将从管理服务器160接收的迁移目的地虚拟存储设备110标识符和迁移目的地LU标识符配置为目标信息260中的迁移进展虚拟存储设备标识符740和迁移进展主机LU标识符750。此外,数据迁移控制部分(a) 900将表示迁移源LU中的第一 LU区域的信息配置为目标信息260中的复制指针760。在步骤1002中,数据迁移控制部分(a) 900从目标信息260标识与由目标信息260中的复制指针750所示出的LU区域(在图10的说明中为“目标迁移源区域”)对应的容量池标识符770和相对地址780。在步骤1003中,数据迁移控制部分(a) 900确定在步骤1002中标识的标识符770和地址780的值是否为NULL。在步骤1003的确定的结果是肯定(步骤1003 :是)的情况下,在步骤1004中,数据迁移控制部分(a)900向迁移目的地虚拟存储设备110通知尚未向目标迁移源区域分配页面。随后,处理转到步骤1011。在步骤1003的确定的结果是否定(步骤1003 :否)的情况下,在步骤1005中,数据迁移控制部分(a)900确定已经被分配给目标迁移源区域的页面是否是写入目的地以及尚未被写入该页面的数据是否在高速缓存存储器270中。在步骤1005的确定的结果是肯定(步骤1005 :是)的情况下,在步骤1006中,数据迁移控制部分(a)900将该数据写入到被分配给目标迁移源区域的页面(内部页面或者外部页面)。在外部页面是写入目的地的情况下,数据迁移控制部分(a)900向与该外部页面对应的外部LU区域(在外部存储设备130以内的外部LU中的LU区域)写入数据。在步骤1007中,数据迁移控制部分(a)900确定目标信息260中的与目标迁移源区域对应的容量池标识符770是否是外部容量池的标识符。在步骤1007的确定的结果是肯定(步骤1007 :是)的情况下,在步骤1008中,数据迁移控制部分(a) 900标识与对应于目标迁移源区域的容量池标识符770 (外部容量池标识符)相对应的外部容量池信息250 (图10中的“目标外部容量池信息250”)。数据迁移控制部分(a) 900基于目标外部容量池信息250标识与向目标迁移源区域分配的外部页面相对应的外部LU区域的相对地址(外部LU中的相对地址)和包括该外部LU区域的外部LU的标识符,并且向迁移目的地虚拟存储设备110发送该信息。随后,处理转到步骤1011。在步骤1007的确定的结果是否定(步骤1007 :否)的情况下,在步骤1009中,数据迁移控制部分(a)900从被分配给目标迁移源区域的内部页面读取数据并且将该数据存储在高速缓存存储器270中。在步骤1010中,数据迁移控制部分(a)900向迁移目的地虚拟存储设备110发送目标迁移源区域的相对地址、迁移目的地虚拟存储设备110中的内部页面必须被分配给目标迁移源区域的事实和在步骤1009中存储在高速缓存存储器270中的数据。在步骤1011中,数据迁移控制部分(a) 900等待来自迁移目的地虚拟存储设备110的完成报告。
在步骤1012中,数据迁移控制部分(a) 900确定关于迁移源LU的最后的LU区域的处理是否已经完成。在步骤1012的确定的结果是否定(步骤1012:否)的情况下,在步骤1013中,数据迁移控制部分(a) 900配置如下信息,该信息将下一 LU区域的信息表示为与迁移源主机LU对应的主机LU信息260中的复制指针750,并且转到步骤1002。在步骤1012的确定的结果是肯定(步骤1012 :是)的情况下,在步骤1014中,数据迁移控制部分(a) 900将目标主机LU信息260中的迁移进展标志730的值改变成表示OFF的值。然后,数据迁移控制部分(a) 900向管理服务器160报告迁移过程完成并且等待下一指令。在步骤1015中,数据迁移控制部分(a)900从管理服务器160接收大致为可以删除与迁移源主机LU有关的信息的指令并且执行以下处理。也就是说,数据迁移控制部分(a)900释放被分配给迁移源主机LU的所有页面,由此使相应页面成为自由页面。另外,在这时释放外部容量池(其控制权限被另一虚拟存储设备110保持)的外部页面的情况下,数据迁移控制部分(a) 900标识与该外部容量池对应的外部LU信息230。数据迁移控制部分(a)900向从该信息230中的控制权限虚拟存储设备550标识的其它虚拟存储设备110发送该外部页面释放请求。数据迁移控制部分(a) 900根据与该释放请求对应的来自其它虚拟存储设备110的请求来释放外部页面。此外,数据迁移控制部分(a)900删除与迁移源主机LU对应的主机LU信息260。随后,数据迁移控制部分(a) 900向管理服务器160通知这已经被完成。在步骤1016中,数据迁移控制部分(a) 900标识被分配给迁移源主机LU的多少外部页面存在于哪些外部容量池中。在步骤1017中,数据迁移控制部分(a) 900确定哪个虚拟存储设备110具有针对在步骤1016中标识的每个外部容量池的控制权限。在步骤1018中,数据迁移控制部分(a) 900确定是否存在一个外部容量池(针对该外部容量池的控制权限被除迁移源虚拟存储设备110(自有)之外的另一虚拟存储设备110所保持)作为包括被分配给迁移源主机LU的外部页面的外部容量池。针对外部容量池的控制权限是外部页面分配/释放权限。在步骤1018的确定的结果是否定(步骤1018 :否)的情况下,处理转到步骤1020。在步骤1018的确定的结果是肯定(步骤1018 :是)的情况下,在步骤1019中,数据迁移控制部分(a)900向具有针对外部容量池的控制权限的其它虚拟存储设备110发送表示关于该外部容量池在步骤1016中标识的外部页面数目(向迁移源LU分配的外部页面数目)的信息。数据迁移控制部分(a)900等待来自上述其它虚拟存储设备关于是否将迁移针对外部容量池的控制权限的判决。在步骤1020中,数据迁移控制部分(a) 900确定是否存在一个外部容量池(其包括被分配给迁移源主机LU的外部页面)作为其控制权限被迁移源虚拟存储设备110 (自有)保持的外部容量池。在步骤1020的确定的结果是否定(步骤1020 N)的情况下,处理结束。在步骤1020的确定的结果是肯定(步骤1020 :是)的情况下,在步骤1021中,数据迁移控制部分(a) 900确定是否将迁移外部容量池的控制授权。
在步骤1021的确定的结果是否定(步骤1021 :否)的情况下,处理结束。在步骤1021的确定的结果是肯定(步骤1021 :是)的情况下,,在步骤1022中,数据迁移控制部分(a)900判决向哪个虚拟存储设备110迁移外部容量池的控制权限。例如,LU迁移目的地虚拟存储设备在此被判决。在已经判决该控制权限的迁移目的地虚拟存储设备110的情况下,数据迁移控制部分(a)900向迁移目的地虚拟存储设备110发送该外部容量池控制权限将被迁移的事实,以及由与该外部容量池对应的外部容量池信息250向该控制权限的迁移目的地虚拟存储设备110所表示的所有信息。另外,在发送该信息之后,数据迁移控制部分(a)900将该外部容量池信息250中的信息重置成规定值,并且将迁移目的地虚拟存储设备110的标识符配置为与该外部容量池对应的外部LU信息240中的控制权限虚拟存储设备550。在步骤1023中,数据迁移控制部分(a)900向与包括与该外部容量池的外部LU的外部存储设备130相耦合的所有其它虚拟存储设备110 (除了迁移源虚拟存储设备和控制权限迁移目的地虚拟存储设备之外的虚拟存储设备)通知控制权限迁移目的地虚拟存储设备110的标识符。此外,数据迁移控制部分(a)900将与该外部LU对应的外部LU信息240中的控制权限信息540的值改变成表示OFF的值。这完成数据迁移控制部分(a)900的处理。在实施例1中,迁移目的地虚拟存储设备110中的数据迁移控制部分(a) 900从管理服务器160接收迁移源虚拟存储设备110的标识符、迁移源主机LU的标识符、迁移目的地主机LU的标识符和表示该主机LU的虚拟容量的信息,并且执行图11中所示处理流程。图11示出迁移目的地虚拟存储设备110的数据迁移执行部分(a)910的处理流程的示例。在步骤1100中,数据迁移执行部分(a) 910创建与接收的主机LU标识符对应的主机LU信息260。接收的主机LU标识符和虚拟容量在该信息260中被配置为主机LU标识符700和虚拟容量710。在步骤1101中,数据迁移执行部分(a)910等待来自迁移源虚拟存储设备110的信息。在步骤1102中,数据迁移执行部分(a) 910确定是否已经发生如下信息,该信息大致是页面尚未被分配给与迁移源主机LU的LU区域(目标迁移源区域)对应的迁移目的地主机LU中的LU区域(图11中的“目标迁移目的地区域”)。在步骤1102的确定的结果是肯定(步骤1102 :是)的情况下,在步骤1103中,数据迁移执行部分(a) 910将NULL值配置为与目标迁移目的地区域对应的容量池标识符770和相对地址780。随后,处理转到步骤1108。在步骤1104中,数据迁移执行部分(a) 910确定是否已经接收到大致是向外部页面分配目标迁移目的地区域的信息。在步骤1104的确定的结果是肯定(步骤1104 :是)的情况下,在步骤1105中,数据迁移执行部分(a) 910将接收的外部容量池标识符和相对地址配置为与目标迁移目的地区域对应的外部容量池标识符770和相对地址780。随后,处理转到步骤1108。在已经从迁移源虚拟存储设备110接收用于保证页面的请求的情况下,在步骤1106中,数据迁移执行部分(a)910基于迁移目的地虚拟存储设备110的内部容量池信息230从迁移目的地虚拟存储设备110中的内部容量池标识自由内部页面,并且向目标迁移目的地区域分配标识的内部页面。具体而言,例如数据迁移执行部分(a)910将包括分配的内部页面的内部容量池的标识符配置为与目标迁移目的地区域对应的容量池标识符770,并且将内部页面的地址配置为与目标迁移目的地区域对应的相对地址780。在步骤1107中,数据迁移执行部分(a)910向在步骤1106中分配的内部页面写入从迁移源虚拟存储设备110接收的数据。在步骤1108中,数据迁移执行部分(a) 910确定目标迁移目的地区域是否为迁移目的地主机LU中的最后的LU区域(步骤1108)。在步骤1108的确定的结果是否定(步骤1108:否)的情况下,数据迁移执行部分
(a)910转到步骤1101并且等待下一请求。在步骤1108的确定的结果是肯定(步骤1108 :是)的情况下,在步骤1109中,数据迁移执行部分(a)910向管理服务器160报告已经完成迁移。这结束数据迁移执行部分(a) 910的处理。在实施例1中,管理服务器160在从迁移源虚拟存储设备110和迁移目的地虚拟存储设备110接收到关于主机LU迁移处理完成的信息时,请求主机100将指定迁移源主机LU的LU标识符的读取/写入请求的目的地切换成迁移目的地虚拟存储设备110。迁移源主机LU的LUN和迁移目的地主机LU的LUN可以进行交换,或者全球名称(World Wide Name)可以从迁移源向迁移目的地发送,并且读取/写入请求的目的地可以经由SAN(a) 120等自动切换到迁移目的地虚拟存储设备110。随后,管理服务器160向迁移源虚拟存储设备110发送用于删除迁移源主机LU的信息的请求。响应于该请求,迁移源虚拟存储设备Iio能够将与迁移源主机LU对应的主机LU信息260重置成规定值。图12示出迁移源虚拟存储设备110中的读取/写入执行部分(a)920的处理流程的示例。当迁移源虚拟存储设备Iio在迁移源主机LU处于被迁移的过程中的同时从主机100接收指定迁移源主机LU的读取/写入请求时,该处理流程得以执行。在步骤1200中,读取/写入执行部分(a) 920检查接收的请求是否为读取请求或者写入请求。在请求是读取请求的情况下,读取/写入执行部分(a)920在步骤1201中确定读取目标数据是否在高速缓存存储器270中。在步骤1201的确定的结果是肯定(步骤1201 :是)的情况下,处理转到步骤1203。在步骤1201的确定的结果是否定(步骤1201 :是)的情况下,在步骤1202中,读取/写入执行部分(a) 920从向包括读取源的LU区域分配的页面来对读取目标数据进行读取,并且向高速缓存存储器270写入该读取目标数据。在步骤1203中,读取/写入执行部分(a) 920从高速缓存存储器270读取该读取目标数据并且向主机100传送该数据。这完成处理。在请求是写入请求的情况下,在步骤1204中,读取/写入执行部分(a) 920确定是否已经向包括写入请求中指定的写入目的地的LU区域分配页面。在步骤1204的确定的结果是否定(步骤1204 :否)的情况下,在步骤1205中,读取/写入执行部分(a) 920调用页面分配处理部分930。在步骤1206中,读取/写入执行部分(a)920从主机100接收写入目标数据并且向高速缓存存储器270写入该数据。在步骤1207中,读取/写入执行部分(a) 920确定与写入目的地主机LU对应的主机LU信息260中的迁移进展标志730是否为0N。在步骤1207的确定的结果是否定(步骤1207 :否)的情况下,处理结束。在步骤1207的确定的结果是肯定(步骤1207 :是)的情况下,在步骤1208中,读取/写入执行部分(a) 920基于复制指针750检查是否已经完成针对写入目的地区域的迁移过程。在复制指针750表示的LU区域的相对地址是在写入目的地区域的相对地址之后的地址的情况下,关于写入目的地区域的迁移过程完成。在步骤1208的确定的结果是否定(步骤1208 :否)的情况下,处理结束。在步骤1208的确定的结果是肯定(步骤1208 :是)的情况下,在步骤1209中,读取/写入执行部分(a)920确定向写入目的地区域分配的页面是否为外部页面。在步骤1209的确定的结果是否定(步骤1209 :否)的情况下,在步骤1210中,读取/写入执行部分(a) 920向迁移目的地虚拟存储设备110发送存储在高速缓存存储器270中的写入目标数据及其写入请求(该请求包括写入目的地LU的LU标识符和写入目的地LU区域的相对地址)。随后,处理结束。另外,迁移目的地虚拟存储设备110在接收该写入请求时标识与该写入请求中指定的写入目的地LU对应的主机LU以及与在该写入请求中指定的写入目的地LU区域对应的LU区域,并且将来自迁移源虚拟存储设备的写入目标数据写入到向标识的主机LU以内的标识的LU区域分配的内部页面。在步骤1209的确定的结果是肯定(步骤1209 :是)的情况下,在步骤1211中,读取/写入执行部分(a)920将高速缓冲存储器270中存储的写入目标数据及其写入请求(该请求包括与包含向写入目的地LU区域分配的外部页面的外部容量池对应的外部LU的LUN和与该外部页面对应的相对地址)发送到包括该外部LUN的外部存储设备130。这完成处理。另外,外部存储设备130在接收该写入请求时标识该写入请求中指定的外部LU和与该写入请求中指定的相对地址对应的外部LU区域,并且向标识的外部LU以内的标识的外部LU区域写入来自迁移源虚拟存储设备的写入目标数据。图13示出页面分配处理部分930的处理流程的示例。页面分配处理部分930在虚拟存储设备110接收到指定尚未被分配页面的LU区域的写入请求的情况下执行用于向该LU区域分配页面的过程。在步骤1300中,页面分配处理部分930确定是否分配内部页面。可以根据规定的规则判决是否应当分配内部页面。作为规则,例如可设想以下规则中的至少一个规则。(*)向主机LU交替地分配内部页面和外部页面。(*)向主机LU优先地分配内部页面,并且在与主机LU关联的内部容量池的分配的内部页面的百分比等于或者少于规定百分比的情况下,分配来自与主机LU关联的外部容量池的外部页面。在步骤1300的确定的结果是肯定(步骤1300 :是)的情况下,在步骤1301中,页面分配处理部分930基于与关联于写入目的地LU的内部容量池对应的内部容量池信息230来判决待分配的页面,并且使用该内部容量池信息230中的信息来更新应当更新的信息。此外,页面分配处理部分930配置包括判决的内部页面的内部容量池的标识符和判决的内部池的地址作为与写入目的地LU对应的主机LU信息260中的容量池标识符770和相对地址780。随后,处理结束。在步骤1300的确定的结果是否定(步骤1300 N)的情况下,在步骤1302中,页面分配处理部分930判决分配源外部容量池。另外,页面分配处理部分930基于与该外部LU对应的外部LU信息240中的控制权限信息540确定包括该处理部分930的虚拟存储设备是否是针对与该外部容量池对应的外部LU的控制权限。在步骤1302的确定的结果是肯定(步骤1302 :是)的情况下,在步骤1303中,页面分配处理部分930基于与待分配的外部LU对应的外部容量池信息250判决该外部页面,并且使用外部容量池信息250中的信息来更新应当更新的信息。此外,页面分配处理部分930将在步骤1302中判决的外部容量池的标识符和在步骤1303中判决的外部页面的地址配置为与写入目的地LU对应的主机LU信息260中的容量池标识符770和相对地址。随后,处理结束。在步骤1302的确定的结果是否定(步骤1302 :否)的情况下,在步骤1304中,页面分配处理部分930请求来自如下虚拟存储设备110的页面分配并且等待响应,该虚拟存储设备110包括在步骤1302中判决的外部容量池的控制权限。在步骤1305中,页面分配处理部分930从步骤1304中的请求目的地虚拟存储设备接收页面地址,并且将在步骤1302中判决的外部容量池的标识符和接收的地址配置为与写入目的地LU对应的主机LU信息260中的容量池标识符770和相对地址780。随后,处
理结束。图14示出迁移目的地虚拟存储设备中的写入数据接收部分940的处理流程的示例。写入数据接收部分940从虚拟源虚拟存储设备110接收写入目标数据。在步骤1400中,写入数据接收部分940从迁移源虚拟存储设备110接收写入目标数据,并且将该数据存储在高速缓存存储器270中。在步骤1401中,写入数据接收部分940确定是否已经关于该数据向写入目的地LU区域分配了页面。在步骤1401的确定的结果是肯定(步骤1401 :是)的情况下,处理结束。在步骤1401的确定的结果是否定(步骤1401 :否)的情况下,在步骤1402中,写入数据接收部分940调用页面分配部分930并且向写入目的地LU区域分配页面。随后,处
理结束。图15示出写入后处理部分950的处理流程的示例。写入后处理部分950向页面写入高速缓存存储器270以内的写入目标数据(尚未写入到向写入目的地LU区域分配的页面的数据)。在步骤1500中,写入后处理部分950确定向写入目标数据的写入目的地LU区域分配的页面是内部页面还是外部页面。在页面是内部页面的情况下,在步骤1501中,写入后处理部分950向内部页面写入来自高速缓存存储器270的数据。随后,处理结束。在页面是外部页面的情况下,在步骤1502中,写入后处理部分950向外部存储设备130发送高速缓存存储器270以内的数据及其写入请求(如下请求,该请求指定包括该外部页面的外部LU的标识符和该外部页面的相对地址)。随后,处理结束。图16示出外部页面分配处理部分960的处理流程的示例。外部页面分配处理部分960在具有针对外部容量池的控制权限的虚拟存储设备110从另一虚拟存储设备接收页面分配请求时执行以下过程。在步骤1600中,外部页面分配处理部分960基于与判决的外部容量池对应的外部容量池信息250判决待分配的外部页面,并且使用外部容量池信息250中的信息来更新应当更新的信息(向LU区域分配外部页面)。在步骤1601中,外部页面分配处理部分960向请求分配的虚拟存储设备110发送分配的外部页面的地址。随后,处理结束。图17示出外部页面释放处理部分970的处理流程的示例。外部页面释放处理部分970在具有针对外部容量池的控制权限的虚拟存储设备110从其它虚拟存储设备110接收页面释放请求时执行以下过程。在步骤1700中,外部页面释放处理部分970基于接收的信息从外部容量池信息250标识待释放的外部页面,并且使用外部容量池信息250中的信息来更新应当更新的信息(释放已标识的外部页面)。图18是示出控制权限迁移部分980的处理流程的示例。控制权限迁移部分980在从另一虚拟存储设备Iio接收外部LU(外部容量池)控制权限的迁移时执行以下过程。在步骤1800中,控制权限迁移部分980确定控制权限迁移目的地是否为包括该控制权限迁移部分980的虚拟存储设备110 (它自有的虚拟存储设备)。在步骤1800的确定的结果是否定(步骤1800 N)的情况下,在步骤1801中,控制权限迁移部分980将其它虚拟存储设备110的标识符配置为与在接收的信息中指定的外部LU (外部容量池)对应的控制权限虚拟存储设备550。随后,处理结束。在步骤1800的确定的结果是肯定(步骤1800 :是)的情况下,在步骤1802中,控制权限迁移部分980基于接收的信息将该外部LU (外部容量池)对应的控制权限信息540的值配置成0N,并且将它自有的虚拟存储设备110的标识符配置为控制权限虚拟存储设备550。此外,控制权限迁移部分980将与遵循接收的信息的外部容量池有关的信息创建和注册为外部容量池信息250。图24示出控制权限迁移判决部分990的处理流程的示例。控制权限迁移判决部分990在接收到用于关于是否根据其它虚拟存储设备110执行的主机LU的迁移而向其它存储装置110迁移控制权限进行确定的请求时执行以下过程。在步骤2400中,控制权限迁移判决部分990基于接收的信息判决是否迁移外部LU(外部容量池)的控制权限(分配/释放权限)。在多数情况下会判决控制权限将不从迁移源虚拟存储设备迁移,但是例如在迁移源虚拟存储设备上的负荷高于规定负荷的情况下,会判决控制权限将从迁移源虚拟存储设备迁移。在步骤2400的确定的结果是否定(步骤2400 :否)的情况下,处理结束。在步骤2401中,控制权限迁移判决部分990判决权限将被迁移到的虚拟存储设备110。控制权限迁移判决部分990向控制权限迁移目的地虚拟存储设备110迁移控制权限,并且向虚拟存储设备110发送对应的外部容量池信息250的所有信息。另外,在发送该信息之后,控制权限迁移判决部分990重置对应外部容量池信息250的信息,并且将迁移目的地虚拟存储设备110的标识符配置为控制权限虚拟存储设备550。此外,控制权限迁移判决部分990将与该外部LU对应的外部LU信息240中的控制权限信息540的值配置成OFF。
在步骤2402中,控制权限迁移判决部分990向与包括该外部LU的外部存储设备130相耦合的其它虚拟存储设备110通知控制授权迁移目的地虚拟存储设备110的标识符。这完成处理。实施例2下文将说明实施例2。在这样做时,将主要说明与实施例1的不同点,并且将省略或者简化对与实施例1共同共享的要点的说明。图19示出与实施例2有关的虚拟存储设备110实现的多个功能的示例。在实施例2中,作为多个功能,存在数据迁移控制部分(b) 1900、数据迁移执行部分(b) 1910、读取/写入执行部分(b) 1920、读取请求接收部分1930、页面分配处理部分930、写入数据接收部分940、写入后处理部分950、外部页面分配处理部分960、外部页面释放处理部分970、控制权限迁移部分980和控制权限迁移判决部分990。在这些中,页面分配处理部分930、页面分配处理部分930、写入数据接收部分940、写入后处理部分950、外部页面分配处理部分960、外部页面释放处理部分970、控制权限迁移部分980和控制权限迁移判决部分990是与实施例1共同共享的,因此将省略说明。在实施例2中,迁移目的地虚拟存储设备110在从迁移源虚拟存储设备110向迁移目的地虚拟存储设备Iio迁移主机LU时执行对迁移过程的控制。另外,在迁移过程期间,主机100将向迁移目的地虚拟存储设备发出读取/写入请求。而且,在实施例2中,管理服务器160检查每个虚拟存储设备110的负荷并且判决迁移源主机LU和迁移目的地虚拟存储设备110。管理服务器160向迁移源虚拟存储设备110发送迁移源主机LU的标识符、迁移目的地虚拟存储设备110的标识符和迁移目的地主机LU的标识符。另外,管理服务器160向迁移目的地虚拟存储设备110发送迁移目的地虚拟存储设备110的标识符、迁移源虚拟存储设备110的标识符、迁移源LU的标识符、迁移目的地主机LU的标识符和迁移源主机LU的虚拟容量。当从迁移源虚拟存储设备110和迁移目的地虚拟存储设备110 二者返回接收报告时,管理服务器160请求主机100将迁移目的地主机LU读取-写入请求的地址切换成迁移目的地虚拟存储设备110。可以继承全球名称,并且可以经由SAN120等将读取-写入请求的地址自动切换成迁移目的地虚拟存储设备。在实施例2中,迁移目的地虚拟存储设备110中的数据迁移控制部分(b) 1900从管理服务器160接收如下信息并且在向管理服务器160响应该信息已经被接收之后执行图20中所示的以下处理处理流程,该信息包括迁移源虚拟存储设备110的标识符、迁移源主机LU的标识符、迁移目的地主机LU的标识符和迁移源主机LU的虚拟容量。图20是示出迁移目的地虚拟存储设备110中的数据迁移控制部分(b) 1900的处理流程的示例。在步骤2000中,数据迁移控制部分(b) 1900创建与迁移目的地主机LU (接收的主机LU的标识符)对应的主机LU信息。数据迁移控制部分(b) 1900将迁移目的地主机LU的标识符和虚拟容量配置为主机LU标识符700和虚拟容量710。在步骤2001中,数据迁移控制部分(b) 1900将与迁移目的地主机LU的迁移进展标志730配置成0N。此外,数据迁移控制部分(b) 1900将从管理服务器160接收的迁移目的地虚拟存储设备110的标识符和迁移目的地LU的标识符配置为与迁移目的地主机LU对应的迁移进展虚拟存储设备标识符740和迁移进展主机LU标识符750。此外,数据迁移控制部分(b) 1900配置初始LU区域中的复制指针760。在步骤2002中,数据迁移控制部分(b) 1900请求来自迁移源虚拟存储设备110的用于复制指针760表示的LU区域(在下文中,在图20的说明中为“目标迁移目的地区域”)的处理请求。在步骤2003中,数据迁移控制部分(b) 1900等待信息从将变成迁移目的地的虚拟存储设备110被发送。步骤2004至2009与图1的步骤1102至1107相同,因此将省略说明。 在步骤2010中,数据迁移控制部分(b) 1900确定目标迁移目的地区域是否为迁移目的地主机LU中的最后的LU区域。在步骤2010的确定的结果是否定(步骤2010 :否)的情况下,在步骤2011中,数据迁移控制部分(b) 1900将表示下一 LU区域的信息配置为与迁移目的地主机LU对应的主机LU信息260中的复制指针760,并且转到步骤2002。在步骤2010的确定的结果是肯定(步骤2010 :是)的情况下,执行步骤2012和后续步骤。然而步骤2012至2014与图11的步骤1109至1111相同,因此将省略说明。在实施例2中,迁移源虚拟存储设备110的数据迁移执行部分(b) 1910从管理服务器160接收包括迁移目的地虚拟存储设备110的标识符、迁移目的地主机LU的标识符和迁移源LU的标识符的信息,并且在向管理服务器160响应已经接收该信息之后接收请求并且执行图21中所示处理流程。图21示出迁移源虚拟存储设备110的数据迁移执行部分(b) 1910的处理流程的示例。在步骤2100中,数据迁移执行部分(b) 1910发现与迁移源主机LU的标识符对应的主机LU信息。在步骤1201中,数据迁移执行部分(b) 1910等待处理请求从迁移目的地虚拟存储设备110发送。当来自迁移目的地虚拟存储设备110的处理请求到来时,关于与符合该请求的目标迁移目的地区域对应的迁移源LU区域(图21中的“目标迁移源区域”)执行步骤2102和后续步骤。然而由于步骤2102至2110与图10的步骤1002至1010相同,所以将省略说明。在步骤2111中,数据迁移执行部分(b) 1910确定目标迁移源区域是否为迁移源主机LU中的最后的LU区域。在步骤2111的确定的结果是否定(步骤2111 :否)的情况下,数据迁移执行部分
(b)1910转到步骤2101并且等待下一处理请求从迁移目的地虚拟存储设备110发送。在步骤2111的确定的结果是肯定(步骤2111:是)的情况下,在步骤2112中,数据迁移执行部分(b) 1910向管理服务器160报告迁移过程已经完成的事实。随后,处理结束。步骤2113至2121与图10的步骤1015至1023相同。出于这一原因,将省略说明。在实施例2中,当管理服务器160从迁移源虚拟存储设备110和迁移目的地虚拟存储设备110接收关于主机LU迁移过程完成的信息时,管理服务器160向迁移源虚拟存储设备110发出用于删除迁移源主机LU的信息的指令。
图22示出迁移目的地虚拟存储设备110中的读取/写入执行部分(b) 1920的处理流程的示例。在主机LU处于被迁移的过程中的同时迁移目的地虚拟存储设备110从主机100接收指定迁移进展主机LU的读取/写入请求的情况下执行该处理。在步骤2200中,读取/写入执行部分(b) 1920确定接收的请求是否为读取请求或者写入请求。在请求是读取请求的情况下,在步骤2201中,读取/写入执行部分(b) 1920确定读取目标数据是否存在于高速缓存存储器270中。在这一确定的结果是肯定(步骤2210 是)的情况下,处理转到步骤2206,并且在这一确定的结果是否定(步骤2210:否)的情况下执行步骤2202。在步骤2202中,读取/写入执行部分(b) 1920确定与读取源主机LU对应的迁移进展标志730是否为0N,以及是否已经完成关于读取源LU区域的迁移。在与读取源主机LU对应的复制指针760表示的地址是在读取源LU区域的地址之后的地址的情况下,读取源LU区域的迁移完成。在步骤2202的确定的结果是否定(步骤2202 :否)的情况下,处理转到步骤2205。在步骤2202的确定的结果是肯定(步骤2202 :是)的情况下,在不是的情况下,在步骤2203中,读取/写入执行部分(b) 1920请求迁移源虚拟存储设备110发送与读取源LU区域(在迁移目的地主机LU以内的LU区域)对应的LU区域中的数据并且等待该数据被发送。在步骤2204中,读取/写入执行部分(b) 1920向高速缓存存储设备270写入发送的数据。步骤2205和2206与图12的步骤1202和1203相同,因此将省略说明。在写入请求的情况下,执行步骤2207和后续步骤的处理。然而步骤2207至2211的处理与图12的步骤1204至1208相同,因此将省略说明。在图22的步骤2211中,在已经基于复制指针760确定关于写入目的地LU区域的迁移过程未完成(步骤2211 :否)的情况下,在步骤2212,读取/写入执行部分(b) 1920向迁移源虚拟存储设备110发送高速缓存存储器以内的写入目标数据及其写入请求(该请求包括写入目的地LU的标识符和写入目的地LU区域的地址)。根据这一点,将写入目标数据写入到向迁移源虚拟存储设备中的与写入目的地LU区域对应的LU区域(迁移源主机LU的LU区域)分配的页面。读取/写入执行部分(b) 1920在从迁移源虚拟存储设备110接收完成报告时从高速缓存存储器270删除该写入目标数据。随后,处理结束。在写入目的地LU区域是已经完成迁移处理的区域的情况下,执行步骤2213至2215。然而,步骤2213至2215(步骤2214除外)与图12的步骤1209至1211相同。步骤2214的处理对应于图12的步骤1210。在步骤2214中,向迁移源虚拟存储设备110发送迁移目的地虚拟存储设备110的高速缓存存储器270以内的写入目标数据(对照而言,在图12的步骤1210中,向迁移目的地虚拟存储设备发送迁移源虚拟存储设备110的高速缓存存储器270以内的写入目标数据)。图23示出迁移源虚拟存储设备110的读取请求接收部分1930的处理流程的示例。读取请求接收部分1930在迁移源虚拟存储设备110从迁移目的地虚拟存储设备110接收用于发送数据的请求时执行以下处理。在步骤2300中,读取请求接收部分1930确定数据读取源是否为内部页面或者外部页面。在页面是内部页面的情况下,在步骤2301中,读取请求接收部分1930从内部页面读取数据并且在高速缓存存储器270中存储该数据。随后,处理转到步骤2303。在页面是外部页面的情况下,在步骤2303中,读取请求接收部分1930向外部存储设备130发送包括与该外部页面对应的外部访问目的地信息(包括外部LU的标识符和外部LU区域的相对地址的信息)的读取请求。读取请求接收部分1930响应于在高速缓存存储器270中的该读取请求来存储从外部存储设备130接收的数据。在步骤2303中,读取请求接收部分1930向迁移目的地虚拟存储设备110发送从高速缓存存储器270读取的数据。随后,处理结束。实施例3下文将说明实施例3。在下文将说明的实施例3和实施例4中,现有虚拟存储设备110替换为新提供的虚拟存储设备110。首先将说明实施例3和4共同共享的项。在这样做时,现有(已被替换的)虚拟存储设备110将被称为“旧虚拟存储设备110”,而新提供的虚拟存储设备110将被称为“新虚拟存储设备110”。首先在准备迁移主机LU时执行以下过程。(I)新虚拟存储设备110通过SAN (a) 120耦合到主机100,并且主机100识别新虚拟存储设备110。然而新虚拟存储设备110可以直接耦合到主机100。(2)新虚拟存储设备110耦合到管理服务器160,并且管理服务器160识别新虚拟存储设备110。(3)新虚拟存储设备110经由SAN(b) 150耦合到与旧虚拟存储设备110相耦合的所有外部存储设备130。新虚拟存储设备110识别外部存储设备130中的外部LU并且存储与该外部LU对应的外部LU信息240。然而,新虚拟存储设备110可以直接耦合到外部存储设备130。(4)新虚拟存储设备110从管理服务器160接收关于每个识别的外部LU的以下信息(a)容量虚拟化功能是否被应用于外部LU ;以及(b)哪个虚拟存储设备110包括关于被应用容量虚拟化功能的外部LU的外部LU控制权限。基于该信息,新虚拟存储设备110更新与识别的外部LU对应的外部LU信息240。(5)新虚拟存储设备110包括内部卷210。此外,新虚拟存储设备110基于来自管理服务器160的信息配置内部容量池信息230中需要的信息。当完成上述准备时,开始从旧虚拟存储设备110向新虚拟存储设备110的主机LU的迁移。容量虚拟化功能可以分别应用于旧虚拟存储设备Iio中定义的所有主机LU,或者容量虚拟化功能可以应用于其主机LU的一部分。管理服务器160识别旧虚拟存储设备110中定义的迁移源主机LU、定义新虚拟存储设备110中的迁移目的地主机LU并且使迁移源虚拟存储设备110或者迁移目的地虚拟存储设备UO执行从迁移源主机LU向迁移目的地主机LU的数据迁移。实施例3是实施例1已经应用于主机LU迁移方案的情况。
在实施例3中,当主机LU从旧虚拟存储设备(迁移源虚拟存储设备)110向新虚拟存储设备(迁移目的地虚拟存储设备)110迁移时,旧虚拟存储设备110执行对迁移过程的控制。另外,主机100将在迁移过程在进展中之时向旧虚拟存储设备110发出读取/写入请求。在实施例3中,管理服务器160识别旧虚拟存储设备110中定义的主机LU并且判决待迁移的主机LU。在进行判决时,管理服务器160向旧虚拟存储设备110发送迁移源主机LU的标识符、新虚拟存储设备110的标识符和迁移目的地主机LU的标识符。另外,管理服务器160向新虚拟存储设备110发送旧虚拟存储设备110的标识符、迁移源主机LU的标识符、迁移目的地主机LU的标识符和迁移源主机LU的虚拟容量。随后,执行已经在实施例1中说明的处理,并且完成从迁移源主机LU向迁移目的地主机LU的数据迁移。另外,这时也可以按照需要迁移针对外部LU的控制权限。当该处理完成时,管理服务器160检查是否已经完成旧虚拟存储设备110的所有主机LU的迁移。另外,在存在尚未完成迁移的主机LU的情况下,管理服务器160判决将被迁移的所有主机LU并且使上述处理被执行。当所有主机LU的迁移完成时,管理服务器160结束处理。旧虚拟存储设备110可以确定是否已经针对所有主机LU完成数据迁移,并且在该确定的结果是否定的情况下可以执行关于数据迁移尚未完成的一个或多个主机LU的数据迁移。实施例4实施例4是实施例2已经应用于主机LU迁移方案的情况。在实施例4中,在从旧虚拟存储设备(迁移源虚拟存储设备)110向新虚拟存储设备(迁移目的地虚拟存储设备)Iio迁移主机LU时,新虚拟存储设备110执行对迁移过程的控制。另外,主机100将在迁移过程在进展中之时向新虚拟存储设备发出读取/写入请求。而且,在实施例4中,管理服务器160识别旧虚拟存储设备110中定义的主机LU并且判决待迁移的主机LU。在进行判决时,管理服务器160向旧虚拟存储设备110发送迁移源主机LU的标识符、新虚拟存储设备110的标识符和迁移目的地主机LU的标识符。另夕卜,管理服务器160向新虚拟存储设备110发送旧虚拟存储设备110的标识符、迁移源主机LU的标识符、迁移目的地主机LU的标识符和迁移目的地主机LU的虚拟容量。另外,如在实施例2中描述的那样,管理服务器160在从旧虚拟存储设备110和新虚拟存储设备二者接收上述请求接收报告时,可以请求主机100将作为迁移目标的主机LU的读取/写入请求的地址切换成新虚拟存储设备110。通过执行与实施例2的处理相同的处理,指定主机LU的迁移如上文描述的那样被进行迁移。另外,这时也可以按照需要迁移外部LU的控制权限。当该处理完成时,管理服务器160检查是否已经完成旧虚拟存储设备110的所有主机LU的迁移。另外,在存在迁移尚未完成的主机LU的情况下,管理服务器160可以判决将被迁移的所有LU并且可以使上述处理被执行。当所有主机LU的迁移完成时,管理服务器160结束处理。上文已经说明本发明的多个实施例,但是这些是用于说明本发明的示例而并非旨在于使本发明的范围仅限于这些实施例。可以在多种其它实施方式中实现本发明。
标号列表100 主机110虚拟存储设备103外部存储设备
权利要求
1.一种存储系统,包括共享外部卷的第一存储装置和第二存储装置,所述外部卷是由外部存储装置提供的逻辑卷, 其中所述第一存储装置包括外部容量池和第一虚拟卷,所述外部容量池是基于所述外部卷的存储区域,并且所述外部容量池被分割成多个外部页面,所述多个外部页面是子存储区域,所述第一虚拟卷是包括多个第一虚拟区域的虚拟逻辑卷,并且在向尚未被分配页面的虚拟区域写入的情况下,所述第一存储装置被配置为将未分配的外部页面从所述外部容量池向该虚拟区域分配, 所述第二存储装置包括第二虚拟卷,所述第二虚拟卷是包括多个第二虚拟区域的虚拟逻辑卷,以及 在从所述第一虚拟卷向所述第二虚拟卷的数据迁移中,根据以下(a)和(b)完成从已经被分配了外部页面的第一虚拟区域向第二虚拟区域的数据迁移: (a)所述第一存储装置向所述第二存储装置通知迁移源地址和外部地址,所述迁移源地址是所述第一虚拟区域的地址,所述外部地址是被分配给该虚拟区域的外部页面的地址,以及 (b)所述第二存储装置存 储通知的所述迁移源地址与通知的所述外部地址之间的对应关系。
2.根据权利要求1所述的存储系统,其中所述第一存储装置和所述第二存储装置之 (C)从主机接收写入请求; (d)在页面尚未被分配给作为属于在该写入请求中指定的地址的虚拟区域的写入目的地虚拟区域并且外部页面将被分配给该虚拟区域的情况下,确定所述第一存储装置和所述第二存储装置之一是否具有用于分配外部页面的权限; (e)在所述(d)的所述确定的结果为肯定的情况下,将外部页面分配给所述写入目的地虚拟区域;以及 (f)在所述(d)的所述确定的结果为否定的情况下,向具有用于分配外部页面的所述权限的所述存储装置发送外部页面分配请求。
3.根据权利要求1所述的存储系统,其中所述第一存储装置和所述第二存储装置之 (g)决定释放外部页面; (h)确定所述第一存储装置和所述第二存储装置之一是否具有用于释放所述外部页面的权限; (i)在所述(h)的所述确定的结果为肯定的情况下,释放所述外部页面;以及 U)在所述(h)的所述确定的结果为否定的情况下,向具有用于释放所述外部页面的所述权限的所述存储装置发送外部页面释放请求。
4.根据权利要求1所述的存储系统,其中所述第一存储装置和所述第二存储装置之 (k)确定是否向另一存储装置迁移外部页面分配或者释放权限;以及 (I)在所述(k)的所述确定的结果为肯定的情况下,向所述另一存储装置迁移所述外部页面分配或者所述释放权限。
5.根据权利要求1所述的存储系统,其中在从所述第一虚拟卷向所述第二虚拟卷的数据迁移中,所述第一存储装置和所述第二存储装置之一: (m)从主机接收读取请求;以及 (η)从分配给属于在所述读取请求中指定的地址的虚拟区域的页面读取数据,并且向所述主机发送读取的所述数据。
6.根据权利要求1所述的存储系统,其中所述第一存储装置和所述第二存储装置之一具有内部容量池,所述内部容量池是基于该存储装置的物理存储设备的存储区域,并且所述内部容量池被分割成多个内部页面,所述多个内部页面是子存储区域,并且在从所述第一虚拟卷向所述第二虚拟卷的数据迁移中: (O)从主机接收写入请求; (P)确定页面是否已经被分配给写入目的地虚拟区域,所述写入目的地虚拟区域是属于在所述写入请求中指定的地址的虚拟区域; (q)在所述(P)的所述确定的 结果为否定的情况下,确定是否分配外部页面或者虚拟页面;以及 (r)根据所述(q)的所述确定来分配页面。
7.根据权利要求6所述的存储系统,其中所述第一存储装置: (S)确定是否已经关于所述写入目的地虚拟区域完成数据迁移;以及(t)在所述(S)的所述确定的结果为肯定并且页面已经被分配给所述写入目的地虚拟区域的情况下,向被分配给所述写入目的地虚拟区域的所述页面写入与所述写入请求相符的写入目标数据,并且向所述第二存储装置发送所述写入目标数据。
8.根据权利要求1所述的存储系统,其中在从所述第一虚拟卷向所述第二虚拟卷的数据迁移中,所述第二存储装置: (U)从主机接收读取请求; (v)确定作为与在所述读取请求中指定的地址相符的虚拟区域的读取源虚拟区域是否是已经完成数据迁移的虚拟区域;以及 (W)在所述(V)的所述确定的结果为肯定的情况下,从被分配给所述读取源虚拟区域的所述页面读取数据,并且向所述主机发送读取的所述数据。
9.根据权利要求1所述的存储系统,其中所述第一存储装置是已有存储装置,并且 所述第二存储装置是新提供的存储装置。
10.根据权利要求1所述的存储系统,其中所述第二存储装置在接收到对作为所述第二虚拟卷中的第二虚拟区域的地址的访问目的地地址进行指定的访问请求时: (x)在所述访问目的地地址是与所述迁移源地址相符的地址的情况下,所述第二存储装置向所述外部存储装置发送对与对应于该迁移源地址的外部地址相符的地址进行指定的访问请求;以及 (y)在所述访问目的地地址是与所述迁移源地址不相符的地址的情况下,所述第二存储装置向所述第一存储装置发送外部页面分配请求,所述第一存储装置根据该分配请求来决定所述外部容量池中的未分配的外部页面并且向所述第二存储装置通知外部页面地址,所述外部页面地址是决定的所述外部页面的地址,并且所述第二存储装置存储所述访问目的地地址与通知的所述外部页面地址之间的对应关系,并且向所述外部存储装置发送对与该外部页面地址相符的地址进行指定的访问请求。
11.根据权利要求1所述的存储系统,其中所述第二存储装置具有用于访问被分配给所述第二虚拟卷的外部页面的权限,以及 所述第一存储装置具有用于向所述第二虚拟卷分配外部页面的权限。
12.根据权利要求11所述的存储系统,其中在所述第一存储装置的负荷高于规定的负荷的情况下,用于向所述第二虚拟卷分配外部页面的所述权限被迁移至所述第二存储装置。
13.一种逻辑卷迁移方法,在从第一虚拟卷向第二虚拟卷的数据迁移中从已经被分配了外部页面的第一虚拟区域向第二虚拟区域的数据迁移时,包括: (a)第一存储装置向第二存储装置通知迁移源地址和外部地址,所述迁移源地址是该第一虚拟区域的地址,所述外部地址是被分配给该虚拟区域的外部页面的地址;以及 (b)所述第二存储装置存储通知的所述迁移源地址与通知的所述外部地址之间的对应关系, 其中所述第一存储装置和所述第二存储装置共享外部卷,所述外部卷是外部存储装置提供的逻辑卷, 所述第一存储装置包括外部容量池和第一虚拟卷,所述外部容量池是基于所述外部卷的存储区域,并且所述外部 容量池被分割成多个外部页面,所述多个外部页面是子存储区域,所述第一虚拟卷是包括多个第一虚拟区域的虚拟逻辑卷,并且在向尚未被分配页面的虚拟区域写入的情况下,所述第一存储装置被配置为将未分配的外部页面从所述外部容量池向该虚拟区域分配, 所述第二存储装置包括第二虚拟卷,所述第二虚拟卷是包括多个第二虚拟区域的虚拟逻辑卷。
全文摘要
第一虚拟存储设备和第二虚拟存储设备共享外部存储设备以内的外部LU(逻辑单元)。第一虚拟存储设备包括第一LU和外部容量池,该第一LU包括多个第一虚拟区域并且遵循精简配置,该外部容量池是基于外部LU的存储区域并且被分区成多个外部页面,该多个外部页面是子存储区域。第二虚拟存储设备包括第二LU,第二LU包括多个第二虚拟区域并且遵循精简配置。在从第一LU向第二LU的数据迁移中,针对从已经被分配了外部页面的第一虚拟区域向第二虚拟区域的数据迁移,第一虚拟存储设备向第二虚拟存储设备通知迁移源地址和外部地址,迁移源地址是第一虚拟区域的地址,外部地址是已经向该虚拟区域分配的外部页面的地址,并且第二虚拟存储设备存储在通知的迁移源地址与外部地址之间的对应关系。
文档编号G06F3/06GK103080895SQ20108006863
公开日2013年5月1日 申请日期2010年12月22日 优先权日2010年12月22日
发明者山本彰, 森下昇, 斋藤秀雄, 江口贤哲, 山本政行 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1