计算机系统及其存储控制方法

文档序号:6352123阅读:354来源:国知局
专利名称:计算机系统及其存储控制方法
技术领域
本发明涉及一种计算机系统,尤其是涉及一种对主机装置动态地分配存储容量的计算机系统及其存储控制方法。
背景技术
以往,存在针对主机装置提供大规模的数据储存服务的计算机系统。该系统作为具备主机装置、主机装置所连接的储存装置、以及储存装置的管理装置的系统而被众所周知。储存装置通过RAID (Redundant Array of Independent/Inexpensive Disks :独立磁盘冗余阵列)方式管理多个硬盘。并且,将大量硬盘所具有的物理存储区域进行逻辑化,将逻辑化后的存储区域作为逻辑卷提供给主机装置。主机装置访问逻辑卷来请求进行 数据的读取/写入。这种逻辑化技术之一有被称为自动精简配置(Thin provisioning)的技术。储存装置不具有物理存储区域,对主机装置设定将存储容量虚拟化得到的逻辑卷。该逻辑卷被称为虚拟卷,与主机装置访问虚拟卷进行写入相一致地,储存装置对虚拟卷依次分配存储区域。因而,该技术与从最初开始就对逻辑卷分配大容量的存储区域的方式相比,在能够有效地利用储存资源方面是有效的。该技术被记载在美国专利6857059号公报、日本特开2003-015915号公报、日本特开2006-338341号公报、以及日本特开2008-234158号公报中。当存在从主机装置向虚拟卷的写入访问时,用于对虚拟卷提供存储区域的单元能够从具有实际的存储区域的容量池向虚拟卷的地址分配存储容量,来保存写入数据。在此,“容量池”(也简称为“池”)例如是将具有实际容量的多个逻辑组汇总为用于向虚拟卷写入的的组而进行定义和设定的,属于池的多个逻辑卷分别被称为存储池卷。另外,US2005/055603公开了如下技术判断针对已保存的数据的访问频率是高还是低,如果访问频率高,则根据存储池卷的介质的物理特性信息(介质的种类、磁盘的旋转数等),在池内使数据转移到由适合于高速处理的介质构成的存储池卷。专利文献I :美国专利6857059号公报专利文献2 :日本特开2003-015915号公报专利文献3 :日本特开2006-338341号公报专利文献4 :日本特开2008-234158号公报专利文献5 :美国公开US2005/055603号公报

发明内容
在已述的现有技术中,当产生池的空闲容量用尽的情况、或者在多个池之间空闲容量失衡的情况等时,系统的管理者、或者系统的用户在每次产生上述情况时都必须进行单独地定义存储池卷并将其追加到池中等计算机系统的结构的设定控制处理。其结果,以往的计算机系统存在无法迅速地应对池的容量变化的问题。因此,本发明的目的在于提供一种计算机系统及其控制方法,其在从存储池卷对上位系统的访问对象动态地分配存储容量的计算机系统中,能够迅速地应对具有上述存储池卷的池的状态变动。并且,本发明的另一目的在于提供一种能够不依赖于管理者、用户的操作而自动地对池分配存储池卷的计算机系统及其控制方法。并且,本发明的另一目的在于提供一种能够按照储存器的层级来管理、应用池的结构以及对池的逻辑存储区域的分配的计算机系统及其控制方法。为了到达该目的,本发明所涉及的计算机系统的特征在于,其具有控制装置,该控制装置对主计算机访问的访问对象进行设定,当从主计算机产生针对访问对象的写入时,每次都执行从位于分配给上述访问对象的池中的逻辑卷向上述访问对象的写入区域分配 存储容量的处理,上述控制装置预先定义其它的逻辑卷,将其作为针对上述池的预备逻辑卷汇总成管理组,根据上述池的状态的变动,从上述管理组向上述池追加上述其它的逻辑卷。如以上所说明的那样,根据本发明,能够提供一种计算机系统,其在从存储池卷对上位系统的访问对象动态地分配存储容量的计算机系统中,能够迅速地应对具有上述存储池卷的池的状态变动。


图I是表示本发明的计算机系统的第一例的硬件框图。图2是表示计算机系统的第二方式的硬件框图。图3是表示图2所示的储存装置由具备多个簇的装置构成的例子的硬件框图。图4是表示储存装置所进行的存储区域的动态分配的动作的功能框图。图5A是包含虚拟卷与存储池卷的对应关系的储存装置的框图。图5B是说明储存装置将存储池卷主要分为按照作为存储池卷的供给源的储存设备的特性的层级进行管理的框图。图6是表示容量虚拟化与系统容量池44之间的存储池卷的移动的框图。图7是说明将容量虚拟化池与系统容量池进行了分层的形态下的存储池卷的移动的框图。图8A是表示对容量虚拟化池设定了阈值I (上限值)和阈值2(下限值)的框图。图SB是用于说明容量虚拟化池被分层、储存装置针对各层级进行基于阈值的控制处理的框图。图9A是用于说明从系统容量池向容量虚拟化池追加存储池卷、容量虚拟化池的有效实际容量的大小增加的状态的框图。图9B是表示存储池卷从容量虚拟化池被回收至系统容量池、容量虚拟化池的有效实际容量42减少的状态的框图。图10是储存装置的存储器的框图。图11是VDEV管理表。
图12是LDEV管理表。图13A是介质的管理信息的表。图13B是层级的管理信息的表。图14是用于说明地址管理表的框图。图15是容量虚拟化池的管理表。图16是RAID组信息的一例的表。图17是用于管理被分层的容量虚拟化池、或者被分层的系统容量池的层级的管理信息35271的一例的表35271。
图18是系统容量池的管理信息的表。图19是用于说明VVOL-DIR以及PSCB的框图。图20是对图19中已说明的系统容量池设定了层级的情况下的框图。图21是表示命令处理程序对虚拟卷执行了写入处理时的容量虚拟化池的容量变更控制处理的详情的流程图。图22是由储存装置定期执行的、容量虚拟化池的自动容量扩展处理的流程图。图23是容量虚拟化池的自动容量扩展处理的另一流程图。图24是容量虚拟化池的容量自动缩小处理的流程图。图25是容量虚拟化池的自动扩展处理的另一例所涉及的流程图。图26是针对系统容量池自动追加/自动削除存储池卷的流程图。图27是完成多个容量虚拟化池间的自动容量变更处理的流程图。图28是图27的变形例所涉及的流程图。图29A是表示从高位开始依次将SSD、SAS、SATA的各层级设定给容量虚拟化池的框图。图29B是图29A的变形例所涉及的流程图。图30是表示自动精简配置的系统结构与输入单元的关系的框图。图31是表示虚拟卷的创建过程的流程图。图32是虚拟卷的创建处理的第二例所涉及的流程图。图33是虚拟卷的生成处理的第三例所涉及的流程图。图34A是容量虚拟化池的新创建处理的一部分所涉及的流程图。图34B是容量虚拟化池的新创建处理的另一部分所涉及的流程图。图34C是容量虚拟化池的新创建处理的另一部分所涉及的流程图。图34D是容量虚拟化池的新创建处理的另一部分所涉及的流程图。图35是说明从主计算机针对虚拟卷的读取处理的流程图。图36是说明从主计算机针对虚拟卷的写入处理的流程图。图37是用于说明容量虚拟化池的层级管理/控制功能、自动容量扩展功能的计算机系统的框图。图38是说明从系统容量池向容量虚拟化池追加存储池卷的处理的流程图。
具体实施例方式接着,说明本发明的实施方式。图I是表示本发明所涉及的计算机系统的第一例的硬件框图。计算机系统具备主计算机10、管理装置20、以及它们所连接的储存装置30。储存装置30也被称为储存系统、或者储存子系统。主计算机10访问储存装置30的逻辑存储资源。管理装置20管理储存装置30的存储区域的结构。储存装置30在物理设备34中设定的存储区域保存数据。主计算机10具备输入单元(装置)110、输出单元(装置)120、CPU130、存储器140、磁盘适配器150、网络适配器160、以及磁盘驱动器170。输入单元110是从操作主计算机10的管理者等接受输入的单元。输入单元110例如由键盘构成。输出单元120是显示主计算机10的状态、设定项目的单元。输出单元120例如由显示装置构成。CPU130(控制器)将保存在磁盘驱动器170中的程序读入到存储器140中,执行由该程序规定的处理。存储器140例如由RAM等构成,保存程序、数据等。
磁盘适配器150经由储存区域网络50与储存装置30相连接,向储存装置30发送数据、从储存装置30接收数据。储存区域网络50按照适合于数据传输的协议(例如FibreChannel)实现数据传输。网络适配器160经由管理网络40与管理装置20或储存装置30之间发送、接收数据。管理网络40例如由Ethernet (注册商标)构成。磁盘驱动器170例如由硬盘装置构成,保存数据、程序。管理装置20具备输入单元210、输出单元220、CPU230、存储器240、网络适配器250、以及磁盘驱动器260。输入装置210是接受对管理装置20进行操作的管理者等的输入的单元,例如由键盘构成。出力装置220是显示管理装置20的状态、设定项目的单元,例如由显示装置构成。CPU230将保存在磁盘驱动器260中的管理程序读入到存储器240中,根据该程序,执行针对储存装置30的管理处理。存储器240例如由RAM等构成,保存程序、数据等。网络适配器250经由管理网络40与主计算机10或储存装置30之间发送、接收数据。磁盘驱动器260例如由硬盘装置构成,保存数据、程序。储存装置30具备控制器31、闪速存储器32、共享存储器33、物理设备(PDEV) 34、电源开关35、以及电源36。控制器31控制向形成在TOEV34中的存储区域保存数据。闪速存储器32暂时保存针对TOEV34读写的数据。共享存储器33保存控制器31、PDEV34的结构信息。PDEV34由多个磁盘装置构成。电源36向储存装置30的各部分提供电力。电源开关35是对来自电源36的电力供给进行接通/断开的开关。磁盘装置(存储设备)例如由硬盘驱动器构成,主要保存用户数据。作为存储设备,可以是闪速存储器等由半导体存储器构成的驱动器。控制器31至少具备处理器360,在该实施方式中,还具备主机适配器310、网络适配器320、非易失性存储器330、电源控制部340、存储器350、储存适配器370、以及共享存储器适配器380。主机适配器310经由储存区域网络50与主计算机10之间发送、接收数据。网络适配器320经由管理网络40与主计算机10或管理装置20之间发送、接收数据。
非易失性存储器330由硬盘、闪速存储器构成,保存在控制器31中进行动作的程序、结构信息等。电源控制部340控制从电源36提供的电力。存储器350例如由RAM等构成,保存程序、数据等。处理器360将保存在非易失性存储器330中的程序读入到存储器350中,执行由该程序规定的处理。储存适配器370与TOEV34以及闪速存储器32之间发送、接收数据。共享存储器适配器380与共享存储器33之间发送、接收数据。图2是表示计算机系统的第二方式的硬件框图。本实施方式的计算机系统具备一个以上的主计算机10、管理服务器20、第一储存装置30A、以及第二储存装置30B。第一储存装置30A经由第一网络121与主计算机10相连接。第二储存装置30B经由第二网络123与第一储存装置30A相连接。 一个以上的主计算机10、管理服务器20、第一储存装置30A、以及第二储存装置30B经由第三网络108相互连接。第一网络121、第二网络123、以及第三网络108可以是任意种类的网络。例如第一网络121和第二网络123是SAN。第三网络108是LAN。第一储存装置30A具备控制器和存储设备群34。控制器例如具备多个前端接口127、多个后端接口 137、第一内部网络156、一个以上的闪速存储器32、一个以上的控制存储器350、以及一个以上的控制处理器360。前端接口 127用于接口电路,该接口电路与经由网络121连接在储存装置30A上的主计算机10或第二储存装置30B进行通信。因而,储存装置30A至少具备两个前端接口127,它们中的一个与第一网络121相连接,另一个与第二网络123相连接。前端接口 127例如具备与第一网络121或第二网络123相连接的端口 129、存储器131、以及本地路由器(以下简记为“LR”)133。LR133上连接端口 129以及存储器131。LR133进行分配以在任意的控制处理器360中对通过端口 129接收到的数据进行处理。具体来说,例如控制处理器360对LR133进行设定以使该控制处理器360执行指定某地址的I/O命令。按照该设定,LR133对I/O命令及数据进行分配。后端接口 137也设置有多个。后端接口 137是用于与TOEV34进行通信的接口电路。后端接口 137例如具备与TOEV34相连接的磁盘接口 141、存储器135、以及LR13LLR139上连接磁盘接口 141以及存储器135。第一内部网络156例如由开关(例如纵横开关)或者总线构成。第一内部网络156连接有多个前端接口 127、多个后端接口 137、一个以上的闪速存储器32、一个以上的控制存储器350、以及一个以上的控制处理器143。这些要素间的通信通过第一内部网络156进行。作为控制器的结构要素的前端接口 127、后端接口 137、闪速存储器32、控制存储器350、以及控制处理器360与第二内部网络(例如LAN) 155相连接,该第二内部网络155与维护管理端末153相连接。维护管理端末153还与第三网络108相连接,是对储存系统125进行维护或管理的计算机。储存装置30A的维护员例如能够通过操作维护管理端末153 (或者能够与该维护管理端末153进行通信的管理装置20),来定义被存储在控制存储器350中的各种信息。第二储存装置30B具备控制器165以及TOEV163。控制器165例如具备网络适配器162、主机适配器164、闪速存储器172、控制存储器171、处理器167、以及储存适配器169。网络适配器162与第三网络108相连接,是与管理服务器111进行通信的接口。主机适配器164与第二网络123相连接,是与第一储存装置30A进行通信的接口。主机适配器164例如也可以与第一储存装置30A的前端接口 127相同。控制存储器171是存储各种计算机程序以及信息的存储器。闪速存储器172是暂时存储按照来自第一储存装置125的I/O命令进行读取或写入的数据的存储器。处理器167执行存储在控制存储器171中的各种计算机程序。处理器167至少按照来自第一储存装置30A的I/O命令,控制针对闪速存储器172以及TOEV163的数据的写入以及读取。 PDEV163是物理存储设备,例如可以与第一储存装置30A的TOEV34相同。或者,PDEV也可以是磁带存储介质。本实施方式的第一储存装置30A具备所谓的外部连接功能。第二储存装置30B通过该功能与第一储存装置30A进行外部连接。在此,针对外部连接进行说明。如已经说明的那样,第一储存装置30A向主计算机10提供一个或多个逻辑卷。各逻辑卷被主计算机10识别为一个存储设备。例如也可以将第一储存装置30A所提供的逻辑卷与第一储存装置30A内的TOEV34进行对应。在这种情况下,第一储存装置30A当接收到向逻辑卷的写入命令时,将数据保存到与该逻辑卷对应的TOEV34中。这样的逻辑卷在下面的说明中也被记载为常规卷。或者,第一储存装置30A所提供的逻辑卷也可以与第二储存装置30B内的TOEV163相对应。在这种情况下,第一储存装置30A当接收到向逻辑卷的写入命令时,生成用于对与该逻辑卷相对应的PDEV163写入数据的写入命令,将所生成的写入命令发送到第二储存装置 30B。第二储存装置30B按照从第一储存装置30A接收到的写入命令,将数据保存到PDEV163 中。这样,将针对第一储存装置30A所提供的逻辑卷保存的数据实际上保存到与第一储存装置30A的外部相连接的第二储存装置30B中的功能被称为外部连接功能。第一储存装置30A具备多个建立储存控制处理的簇1251。各簇具有内部网络156,多个簇的内部网络156经由簇间的网络1561进行连接。因而,一个簇的控制处理器360访问其它簇的情形例如能够对其它簇的闪速存储器32的数据进行读取、写入。多个簇间的网络1561由总线、开关构成。图3是用于说明图2所示的储存装置的具备多个簇的结构的硬件框图。第一簇1251a控制针对第一虚拟卷(V0L#0)的访问处理,第二簇1251b控制针对第二虚拟卷(V0L#1)的访问处理。图3所示的池30000可以跨越多个簇间而形成。但是,根据网络1561的设备结构的不同,有时当经由该网络1561时传输速度下降,性能降低。因此,为了避免该情形,系统在对虚拟卷(V0L#0)分配存储池卷时,选择不经由网络1561的存储池卷。因此,储存装置30以模块为单位对池进行管理。存储池卷组#0(30002)、#1 (30004)、#2 (30006)就是其管理的例子。
储存装置30在对设定给簇1251a的虚拟卷#0分配页面时,选择池组#0(30002)的存储池卷(S30000)。储存装置30以多个Tier中的每个Tier为单位管理池组的容量。如后述那样,系统容量池的管理也相同。在假设池组#0(30002)的容量用尽、或将要用尽的情况下,储存装置30将容量宽裕的池组#1(30004)的存储池卷追加到池组#0(30002)中。在此,如空闲容量相对于池的整体容量的比例小于预先决定的值时那样,空闲容量的比例较多的情形即为宽裕。也能够如池组#2 (30006)那样跨越池模块进行设定。图4是表示储存装置30所进行的存储区域的动态分配的动作的功能框图。以RAID结构的方式由TOEV34构成了 RAID组。由该RAID组构成了 VDEV400 (SlOl)。
VDEV400被划分为作为存储区域的多个逻辑设备(LDEV) 500。将由TOEV34构成的VDEV称为“第一类VDEV”。将该第一类VDEV中包含的LDEV称为“第一类LDEV”。主计算机IOA访问储存装置30的主机访问用逻辑单元。将从主计算机10出发的访问兼容性称为“目标设备”。与从主计算机IOA向包含第一类LDEV500的卷定义路径同时地设定目标设备700 (S102)。储存装置30也能够与TOEV34同样地对从外部连接的外部物理设备600进行处理。即,以RAID结构的方式由多个外部物理设备(EDEV)600构成多个第一类VDEV400a(S103)。第一类VDEV400a被分割为一个以上的作为存储区域的第一类LDEV500a。针对该第一类LDEV500a设定朝向主计算机10的路径,从而设定目标设备700 (S104)。另外,储存装置30设定第二类VDEV401。第二类VDEV不同于由TOEV34构成的第一类VDEV400,是具有地址区域但不具有与TOEV34对应的区域的虚拟设备。能够设定与第二类VDEV401对应的闪速存储器的区域。该第二类VDEV401具有一个以上的LDEV。将该LDEV称为第二类LDEV501。针对该第二类LDEV501设定朝向主计算机IOB的路径,并设定目标设备701 (SllO)。该目标设备701是主计算机10的访问对象。目标设备701被分配给第二类LDEV501。目标设备和/或第二类LDEV相当于自动精简配置中的、容量被虚拟化得到的虚拟卷。第二类VDEV401和第二类LDEV501都没有从I3DEV分配物理存储区域、即它们的存储容量被虚拟化,因此与第一类VDEV400、第一类LDEV500不同。为了将该虚拟区域形成为能够由主计算机IOB使用,需要将具备实际的存储区域的池60与该第二类LDEV501进行关联。稍后利用图5A记述该关联。池60是用一个或多个属性将第一类LDEV500的一个或多个汇总而成的组。第一类LDEV500被分配给池60 (SI 12)。第一类LDEV500对应存储池卷。将设定给池的第一类LDEV500使用地址分配给第二类LDEV501(S 111)。因而,目标设备700的存储区域为第一类LDEV500,目标设备701的存储区域为第二类LDEV501。当储存装置30通过目标设备701接收到向第二类LDEV501的访问时,将与第二类LDEV501对应的第一类LDEV500设为访问目的地。来自主计算机10AU0B的写入数据被保存到第一类LDEV500中。第一类VDEV400与第二类VDEV401之间基于地址进行对应。因而,来自主机的写入数据被保存到PDEV34中。
图5A是包含虚拟卷411-416与存储池卷421的对应关系的储存装置30的框图。附图标记42A和附图标记42B分别是已经记述过的池。各池存在多个存储池卷421。附图标记42IA是存储池卷的页面。页面是由用于处理来自主机的读取/写入访问的规定容量构成的存储区域的单位。写入数据被保存到一个或多个页面中。或者,也存在如下情况针对写入访问进行一次页面分配,将多次的写入访问所涉及的写入数据保存到相同的页面内,如果无法将接下来的写入数据保存到一个页面中,则对与该写入数据有关的写入访问分配新的页面。附图标记411A是虚拟卷411的虚拟页面。虚拟页面不同于存储池卷421的页面,是不带有实际的存储区域的虚拟的存储容量的单位。来自主机的读取/写入以虚拟卷的虚拟页面为单位进行处理。当针对虚拟卷执行来自主机的写入时,与写入访问相应地、或者在每次进行写入访问时都对虚拟卷的虚拟页面分配存储池卷的实际页面。附图标记4112是用于表示虚拟卷的虚拟页面与存储池卷的虚拟页面的对应关系 的线。储存装置30对虚拟卷与池和存储池卷之间设定对应关系,从处于对应关系的池的存储池卷向虚拟卷分配页面。本发明所涉及的储存装置30的特征在于将针对虚拟卷的容量提供用池(图4 :60)分层。即,容量提供用池具有多个层级,例如图5A示出了两个层级。将虚拟卷411侧(前端侧)的层级的池称为“容量虚拟化池”,将TOEV侧(后端侧)的层级的池称为“系统容量池”。附图标记42A和42B分别是容量虚拟化池,附图标记44是系统容量池。容量虚拟化池42A、42B顾名思义是池的容量被虚拟化得到的。这是因为储存装置30能够将池的容量根据池的状态进行增减而不使主计算机10侧察觉到。此外,在已经记述过的现有技术中,当池容量用尽时,储存装置向用户、管理者进行执行自动精简配置的警告显示,要求进行向池追加存储池卷的作业。与此相对地,本发明所涉及的储存装置根据容量虚拟化池的状态自动地从系统容量池44向容量虚拟化池42追加存储池卷4411,并从系统容量池44的管理中删除所追加的存储池卷。对系统容量池的存储池卷441进行管理以使其不属于任一个容量虚拟化池,当该存储池卷441被追加到特定的容量虚拟化池中时,变更为属于特定的容量虚拟化池的特性。储存装置30预先定义存储池卷,将其事先设定给系统容量池44。系统容量池44至少具有一个存储池卷4411。当容量虚拟化池42的实际容量不足时,不需要用户、管理者的操作,而是储存装置30从系统容量池44向容量虚拟化池42追加存储池卷4411。另一方面,当容量虚拟化池42的实际容量过剩时,储存装置30从容量虚拟化池42删除存储池卷421,并将删除的存储池卷回收至系统容量池44。在图5A、5B中,在图中明确示出了能够在容量虚拟化池42A、42B与系统容量池44之间追加、删除存储池卷的情形,因此用虚线记载了一部分存储池卷421、4411。利用表来管理存储池卷属于容量虚拟化池42和系统容量池44中的哪一个。此外,用户使用管理器程序进行动作的计算机(主计算机10)、管理服务器20、维护管理终端153中的至少一个,向储存装置30请求系统容量池44、容量虚拟化池42的创建。如图5B所示,储存装置30将存储池卷主要分成基于作为存储池卷的供给源的储存设备的特性的层级来进行管理。该层级的区分例如由Tierl、Tier2、Tier3构成,容量虚拟化池42A、42B、系统容量池44也被分为每个层级的组。属于层级Tierl的介质被分类为在线储存器,例如是具有高速响应性、高可靠性的SSD、SAS、光纤信道HDD。属于层级T ier2的介质被分类为近线储存器,例如是SATA硬盘、ATA硬盘。属于层级Tierf的储存设备被分类为离线储存器,例如是廉价、大容量的磁带设备。这些都是一个例子,如后述那样也能够将储存设备基于与已经记述的分类不同的分类来分类成层级。储存装置30在从系统容量池44向容量虚拟化池42追加存储池卷的情况下,在同一层级的组之间执行存储池卷的追加处理。在从容量虚拟化池42删除存储池卷并回收至系统容量池44的情况也相同。此外,如后述那样,储存装置30在多个容量虚拟化池之间不经由系统容量池也可以执行存储池卷的存取。另外,储存装置30能够将存储池卷从系统容量池44的上位层级移动到容量虚拟化池42的下位层级。储存装置30为了统一管理针对多个容量虚拟化池42的存储池卷的供给,而单一地设定系统容量池44。此外,可以在储存装置30中存在多个系统容量池44。储存装置为了灵活地对多个虚拟卷动态地分配存储区域,而设定多个池42且将池42的存储容量虚拟化,由此能够与系统容量池44之间进行存储池卷的存取,在不限制从主计算机10向虚拟卷的访问的同时,迅速地应对容量虚拟化池42的实际的空闲容量的变动。储存装置30的各功能中的第一功能是将容量虚拟化池42的存储池卷的页面分配给虚拟卷的功能。其第二功能是从系统容量池44向容量虚拟化池42追加存储池卷、或者将存储池卷从容量虚拟化池42回收至系统容量池44的功能。第二功能根据容量虚拟化池的实际容量中的未使用容量,进行存储池卷的追加、回收。第一功能与容量虚拟化池的未使用容量是怎样的程度无关地始终继续向虚拟卷分配存储池卷的页面。此外,第一功能和第二功能这样的表述是为了方便。这些功能通过后述的管理/控制程序实现。如图5B那样,在储存装置将容量虚拟化池42A、42B分层进行管理的方式中,在系统容量池44中也需要按层级管理存储池卷。在容量虚拟化池没有被分层的方式中,系统容量池的分层不是必须的。容量虚拟化池的层级可以是在自动精简配置开始之前、也可以在其开始之后设定的。除了使特定层级的存储池卷对应虚拟卷以外,也可以使多个层级的存储池卷对应虚拟卷。储存装置能够以页面为单位对虚拟卷411等分配期望层级的存储区域。例如,储存装置监视针对虚拟卷的IO频率,判断出在该频率高的卷中存储有在线数据或重要数据,为了加快向该页面的读取访问,而从属于高速高性能的介质的层级的存储池卷分配页面。在虚拟卷与存储池卷的映射表中包含层级的信息。
储存装置30在对虚拟卷分配页面时,将从最上位的层级的存储池卷分配页面。另一方面,也可以根据针对该存储池卷的IO负荷、存储池卷的剩余容量如何而从下位层级的存储池卷分配页面。储存装置在规定的期间监视针对分配给虚拟卷的页面的IO负荷,当判断为IO负荷偏向特定的存储池卷时,向容量虚拟化池的同一层级内的其它存储池卷的页面、或者不同层级内的其它存储池卷的页面迁移页面数据。在系统容量池44中设定的逻辑存储区域是未使用的存储区域。例如设定了路径的卷、保存有用户数据的卷、作为复制对象的卷并不适合作为要被储存在系统容量池中的存储池卷。图6是表示容量虚拟化池42A、42B与系统容量池44之间的存储池卷的移动的框图。附图标记1723表示根据管理者的操作从第一类VDEV500、500a向系统容量池44追加存储池卷的情形。
附图标记1713表示从系统容量池44向容量虚拟化池42A追加存储池卷4411的情形。附图标记1711表示将存储池卷421从容量虚拟化池42A回收至系统容量池的情形。附图标记1721表示通过用户或管理者的操作向容量虚拟化池42A追加存储池卷的情形、但不是从系统容量池44向容量虚拟化池42A追加存储池卷。附图标记1719表示将存储池卷从容量虚拟化池42A移动到容量虚拟化池42B的情形。附图标记1719a表示其逆向移动。该移动也能够不经由系统容量池44。存储池卷的这种移动在管理表中通过变更存储池卷与池的对应关系来进行管理。根据图7说明将容量虚拟化池42A与系统容量池44分别通过多个Tier进行了分层的形态下的存储池卷的移动。容量虚拟化池42A中存在Tierl至Tier3的层级的组。容量虚拟化池42B也相同。附图标记1804表示从系统容量池44的Tier3的层级向容量虚拟化池42A的Tier3的层级追加存储池卷的情形。附图标记1802是其相反的动作。附图标记1803表示从系统容量池44的Tierl层级向容量虚拟化池42B追加存储池卷的情形。附图标记1801是其相反的动作。存储池卷向容量虚拟化池42A的追加(图6的1721 :并非从系统容量池44,而是通过用户或管理者的操作进行的)可以根据存储池卷所具有的层级,针对容量虚拟化池42A的特定层级进行。存储池卷向系统容量池的追加也与图6的1723相同。作为针对容量虚拟化池的已经记述过的存储池卷的扩展、缩小处理的执行契机如下。首先,容量虚拟化池的容量监视功能获取容量虚拟化池的性能信息并进行分析,在容量虚拟化池发生了性能下降的契机下,指示存储池卷的自动扩展缩小功能来从系统容量池向容量虚拟化池追加存储池卷。另一方面,存储池卷的自动扩展缩小功能在容量虚拟化池的性能充裕的契机下,将存储池卷从容量虚拟化池回收至系统容量池。作为其它的契机,存在储存装置接收到来自主计算机的写入时在多种介质之间进行数据的迁移的契机、发生了在时间表中决定的定时的契机、或者创建虚拟卷的契机、通过复制系统的处理消耗页面的契机、或者储存装置接收到来自使用主计算机、管理服务器、或维护终端的用户、管理者的指示的契机。
另一方面,作为系统容量池的扩展/缩小的契机,存在发生了在时间表中决定的定时的契机、执行了容量虚拟化池的O扩展/缩小的契机。作为容量虚拟化池的性能,存在容量虚拟化池的已使用实际容量的程度、容量虚拟化池的空闲容量的程度、或者针对容量虚拟化池的IO频率、IO负荷。作为用于判断容量虚拟化池的有效实际容量是否适当的一个方式,存在使用一个或多个阈值的方式。有效实际容量是指未分配给虚拟卷的存储容量、即空闲的实际容量。阈值能够在创建容量虚拟化池时或在其之后由用户或维护员使用管理服务器20、储存装置的管理设备153进行设定或更新。通过储存装置30的结构控制程序,在容量虚拟化池管理信息表中对阈值进行设定或更新注册。
作为阈值,例如有如下三个阈值。第一个阈值是与容量虚拟化池的有效实际容量有关的阈值。也可以在容量虚拟化池的有效实际容量少于基准的时刻,使管理装置20、维护管理端末153向用户、维护员发出容量没有余量的意思的警告而使用该阈值。第二个阈值是称为“超容量阈值”的阈值。储存装置将容量虚拟化池的实际总容量与将容量虚拟化池用作数据的保存目的地的多个虚拟卷的已使用总容量进行比较,在后者超过前者的规定比例的情况下,判断为在使用上有可能发生容量虚拟化池的用尽。关于容量虚拟化池的总实际容量(包含已使用实际容量的总实际容量)决定的阈值就是“超容量阈值”。形成为容量虚拟化池的实际容量X超容量阈值>使用容量虚拟化池的所有虚拟卷的总使用容量。例如在超容量阈值是90%的情况下,如果设容量虚拟化池的总实际容量是1TB,在使用该池的所有虚拟卷的总使用容量是1TBX90%以下时,储存装置不实施容量虚拟化池容量的扩展,当超过1TBX90%时,实施容量虚拟化池的容量扩展处理。用户能够针对超容量阈值设定容量虚拟化池的自动容量扩展处理的优先级,当优先级被设定为“高”时,储存装置即使不满足超容量阈值,也不停止自动精简配置,在进行容量虚拟化池的自动扩展的同时继续进行自动精简配置。第三个阈值是与容量虚拟化池的已使用的实际容量的下限有关的阈值。在容量虚拟化池的利用率较低的情况下,容量虚拟化池超过需要地占有了存储容量。这种状况导致存储资源的浪费,因此对容量虚拟化池定义下限的阈值,当容量虚拟化池的利用率、已利用总容量等低于下限值时,储存装置从容量虚拟化池回收存储池卷、容量。储存装置通过将回收的存储池卷、容量与系统容量池进行关联,来准备下一步将回收的存储池卷分配给容量虚拟化池。储存装置根据阈值执行针对容量虚拟化池自动追加、自动回收存储池卷的控制。图8A表示对容量虚拟化池42设定了阈值I (上限值)和阈值2(下限值)的情形。当容量虚拟化池42的已使用实际容量4200B为上限阈值以上时,储存装置判断为容量虚拟化池的有效实际容量4200C不足,另一方面,当容量虚拟化池的已使用实际容量为下限值以下时,判断为容量虚拟化池42的有效实际容量宽裕或过剩。作为阈值I的例子,是容量虚拟化池的已使用实际容量为容量虚拟化池的整体容量的90 %,作为阈值2的例子,其是整体容量的80 %。如图SB所示,在容量虚拟化池42被分层的情况下,储存装置针对各层级进行基于阈值的处理。在该图中,在SSD的层级和SATA的层级中,已使用的实际容量小于阈值2,因此在这些层级中,有效实际容量宽裕,SAS的有效实际容量处于阈值I与阈值2之间,因此形成适当的等级。存储池卷的追加、删除按每个层级执行。阈值在各层级中也可以不同。在容量虚拟化池的使用率低于下限的阈值的情况下,储存装置或者管理装置确认有无用户进行的QoSLANE (Quality of Service :服务质量)的设定,如果有该设定,贝U为了满足其条件而将存储池卷返回到系统容量池。如果没有QoSLANE的设定并对系统容量池进行了层级管理,则储存装置以使存储池卷位于与所属层级相同的层级的方式将存储池卷从容量虚拟化池回收至系统容量池。在没有对系统容量池进行层级管理的情况下,储存装置将存储池卷回收至系统容量池的任意层级。此外,在将存储池卷从容量虚拟化池返回到系统容量池时,存储池卷的已分配页 面数据移动到容量虚拟化池中剩余的其它存储池卷,解除数据移动源的页面与虚拟卷的映射,对数据移动目的地的页面设定与虚拟卷的地址的映射。当从系统容量池44向容量虚拟化池42追加存储池卷时,如图9A所示那样容量虚拟化池的有效实际容量4200C的大小增加。此时,如图9A那样储存装置也可以改变阈值I与阈值2的值、两者之间的幅度。另一方面,相反地,在将存储池卷从容量虚拟化池42回收至系统容量池的情况下,如图9B那样,有效实际容量4200C的大小减小。此时,储存装置也可以改变阈值I与阈值2的值、两者之间的幅度。管理服务器20或维护终端153能够将相对于容量虚拟化池42的容量的规定比例作为默认阈值通过GUI呈现给用户、管理者。用户等可以采用该默认值、或者也可以在GUI中输入其它的阈值。在以多个层级管理容量虚拟化池42的情况下,该处理也可以在每个层级中实施。在用户在各层级输入的阈值与对容量虚拟化池统一设定的阈值不一致的情况下,GUI向用
户等显示警告。接着,以池的这种结构为前提,详细说明计算机系统。图10是储存装置的存储器350的框图。在存储器350中保存有由处理器360读入并执行的各种程序、与逻辑卷的设定有关的结构信息351及与池的设定有关的池信息352。以后,在简记为池的情况下,设为池包含容量虚拟化池和系统容量池这两个。命令控制程序3501对来自主计算机10或管理装置20的命令进行诠释,执行由该命令规定的处理。结构控制程序3503实现储存装置30的结构设定、更新等处理。磁盘I/O程序3505控制向TOEV34的访问。池控制程序3507执行与池的设定有关的各种处理。结构信息351是进行VDEV、LDEV、层级、RAID组等的储存装置的环境设定所需的信息。结构信息351具备地址管理表3511、LDEV管理信息3512、VDEV管理信息3514、Tier管理信息3513、以及RAID组管理信息3515。地址管理表3511保存有目标设备、LDEV, VDEV及物理设备的地址的映射信息
35111、目标设备-LDEV映射信息35111、LDEV-VDEV映射信息35112、以及VDEV-PDEV映射信息35113。稍后详细记述地址管理表3511。LDEV管理信息3512包含与LDEV有关的管理信息。VDEV管理信息3514具有与VDEV有关的管理信息。Tier管理信息3513包含在容量虚拟化池、系统容量池中定义的层
级的管理信息。并且,RAID组信息3515具有由多个TOEV34构成的RAID组的RAID等级等RAID的
管理信息。池信息352保存与池有关的设·定。池信息352包含容量虚拟化池管理信息3521、存储池卷管理信息3522、VV0L (虚拟卷)-DIR3523、PSCB3524、容量虚拟化池Tier管理信息3527、以及系统容量池管理信息3525。容量虚拟化池管理信息3521是与容量虚拟化池的设定有关的管理信息。存储池卷管理信息3522是与容量虚拟化池42和系统容量池44的存储池卷有关的管理信息。VV0L-DIR3523是与针对容量虚拟化池的LDEV (存储池卷)的虚拟卷的分配有关的信息。PSCB3524信息是容量虚拟化池的LDEV的地址的信息。层级管理信息3257是在容量虚拟化池中设定的层级的管理信息。可以对每个池设定该信息。系统容量池管理信息3525是在系统容量池中设定的层级的管理信息。并且,存储器350具有自动容量扩展/缩小程序3509,该自动容量扩展/缩小程序3509根据第一类VDEV400、400a或者第一类LDEV500、500a向系统容量池的追加、容量虚拟化池的性能要件,对系统容量池与容量虚拟化池之间的存储池卷的追加及其回收、多个容量虚拟化池间的存储池卷的移动进行管理。此外,已经记述过的阈值是该性能要件的一例。除此之外,作为性能要件,还有IO频率。并且,每个层级的存储池卷管理程序3508在系统容量池和容量虚拟化池被分层的情况下,按每个层级管理存储池卷数、其它的特性。在没有对池进行分层的情况下,管理系统容量池整体的存储池卷数、每个容量虚拟化池整体的存储池卷的数量、特性。根据来自主机装置的访问从容量虚拟化池的存储池卷向虚拟卷动态地分配页面的处理通过命令控制程序3501实现。此外,储存装置30在多个存储池卷500之间将针对虚拟卷的页面分配均匀化。该均匀化处理记载在PCT/JP2009/058533号中。本申请人将PCT/JP2009/058533号的所有记载事项添加到了本说明书中。图11是VDEV管理信息3514的表。VDEV管理信息由VDEV固有信息35141构成。VDEV固有信息35141包括VDEV编号(VDEV#) 35142、仿真类型35143、总大小35144、剩余大小35145、设备属性35146、设备状态35147、设定LDEV数35148、LDEV编号35149、开头 VDEV-SL0T#35150 以及结束 VDEV_SL0T#35151。VDEV#35142是VDEV的标识符。仿真类型35143是VDEV的仿真类型的标识符。总大小35144是对VDEV设定的总大小。剩余大小35145是VDEV的未使用区域的大小。设备属性35146是对VDEV定义的属性的标识符。在该VDEV是第一类VDEV的情况下保存表示第一类VDEV的标识符,在该VDEV是第二类VDEV并被设定为虚拟卷的情况下,保存表示第二类VDEV的标识符。设备状态35147是表示VDEV的状态的标识符。VDEV的状态有正常、关闭、故障关闭等。关闭表示规矩关闭等由于发生故障以外的原因而被关闭的情形。故障关闭表示设备的某一方面发生了故障而因此被关闭的情形。设定LDEV数35148是在VDEV中设定的LDEV的总数。LDEV编号35149保存VDEV中所设定的LDEV的编号。开头LDEV-SL0T#35150是所设定的LDEV的物理上的开头的插槽编号的标识符。结束LDEV_SL0T#35151是所设定的LDEV的物理上的最终的插槽编号。该LDEV编号35149、开头LDEV-SL0T#35150以及结束LDEV_SL0T#35151按每个LDEV编号设定了与LDEV数相同的数量。图12是LDEV (卷)的管理信息的表。LDEV管理信息包括LDEV固有信息35121。LDEV固有信息35121包括LDEV编号(LDEV#) 35122、仿真类型35123、大小35124、开头插槽编号35125、结束插槽编号35126、路径定义信息35127、设备属性35128、设备状态35129、 程序使用状况351300以及P00L-ID351301。LDEV#35122 是 LDEV 的标识符。仿真类型35123是LDEV的仿真类型的标识符。大小35124是对LDEV设定的总大小。在LDEV是虚拟卷的情况下,大小为虚拟化得到的大小。开头插槽编号35125是所设定的LDEV的开头的插槽编号的标识符。结束插槽编号35126是所设定的LDEV的最终的插槽编号。路径定义信息35127是在主计算机10中定义的路径的标识符。设备属性35128是LDEV的属性的标识符。在LDEV是第一类LDEV的情况下,保存表示第一类LDEV的标识符,在LDEV是第二类LDEV的情况下,保存表示第二类LDEV的标识符。另外,在将LDEV设定给池的情况下,保存表示池属性的标识符。设备状态35129是表示该LDEV所属的VDEV的状态的标识符。VDEV的状态有正常、关闭、故障关闭等。关闭表示规矩关闭等由于发生故障以外的原因而被关闭的情形。故障关闭表示设备的某一方面发生了故障而因此被关闭的情形。程序使用状况351300在LDEV正在被某个程序处理的情况下,保存该程序的标识符。P00L-ID351301在LDEV被设定给池的情况下保存其标识符。在层级编号351302中保存作为逻辑卷的供给源的TOEV所对应的层级的管理编号。在与分层同时进行管理时,储存装置参照该管理编号。在虚拟卷的表中设定了层级管理编号351302的情况下,从该层级的存储池卷向虚拟卷分配页面。VDEV管理表(图11)、LDEV管理表(图12)根据结构控制程序3503,通过来自用户或者管理者的操作进行设定或更新。以后的管理表也相同。层级编号对应存储设备(介质)。图13A是介质的管理信息的表,图13B是层级的
管理信息的表。这些管理信息作为层级管理信息3513的具体管理信息被保存在存储器350中。介质管理信息表在储存装置中扩充介质时由结构控制程序3503创建。介质类型35132是介质的种类。例如,如果是磁盘,则是SSD、FC (Fiber Channel)、SAS (Serial Attached SCSI)、SATA (Serial ATA)等。储存装置为了将介质的种类按每个层级编号35133进行分类、管理,而将构成该层级的信息注册到介质管理信息表中。
响应时间35134表示来自介质的针对数据的读取、写入指示的响应时间。该时间越短的介质,处理性能一般越高。Sequential Data Rate35135是介质的数据传输能力。是介质每单位时间能够传输的数据量,一般来说,该值越大,是数据的传输能力越高的介质。RAID等级35136是构成层级的RAID的等级、例如RAID1、RAID5、RAID6等。图13A
是层级管理信息的一例,并不排除其它的信息。在层级管理信息表(图13B)中示出了层级编号35133与介质的类型的对应。图13B是用于使介质与层级编号对应的分类的一例。该介质的分类是基于介质的性能的分类。即,根据影响储存器性能的要素、即响应时间35134、Sequential DataRate35135、RAID等级,将介质与层级编号进行对应。图13B表示将介质分类为六种层级的例子。 储存装置也能够在以后扩展层级。例如追加了新介质的情况。层级的分类也可以由管理者、用户执行、或者通过储存系统唯一地决定。此外,作为介质分类的其它方式,还存在除了性能还增加了位成本的观点的方法。储存装直在对各星虚拟化池、系统各星池、以及虚拟卷设定层级时,参照图13A、图13B所示的表。层级的分类可以是相对的。例如将存在于计算机系统中的最好的设备设定为层级0,将其它的设备分类为下位的层级。图14详细说明在图10中说明了概要的地址管理表3511。地址管理表3511保存目标设备、LDEV, VDEV,以及物理设备的地址的映射信息。地址管理表3511具有目标设备-LDEV映射信息35111、LDEV-VDEV映射信息
35112、以及 VDEV-PDEV 映射信息 35113。 目标设备-LDEV映射信息35111具有目标设备的地址与LDEV的地址的对应信息。LDEV-VDEV映射信息35112具有LDEV的地址与VDEV的地址的信息。VDEV-PDEV映射信息35113具有VDEV的地址、其RAID组编号(或者奇偶校验组)以及I3DEV的地址的信息。储存装置通过参照该地址管理表,能够获知目标设备700、701的地址对应哪个LDEV的哪个地址。还能够获知LDEV的地址对应哪个VDEV的哪个地址。还能够获知VDEV的地址属于哪个RAID组、对应哪个I3DEV的哪个地址。图15是容量虚拟化池的管理信息的表。池管理信息3521具有池固有信息35211。池固有信息35211具有P00L-ID35212、属性/用途35213、仿真类型35214、容量35215、空闲容量35216、阈值35217、状态35218、存储池卷数35219、存储池卷设备编号列表35220、正在使用池的设备数35221以及正在使用池的设备编号35222。P00L-ID35212 是池的标识符。属性/用途35213是表示容量虚拟化池的属性以及用途的标识符。属性是后述的PSCB3524的连接方式。用途例如是自动精简配置、快照、远程复制等池使用方式的用途。仿真类型35214是池的仿真类型的标识符。容量35215是容量虚拟化池的实际容量。
此外,也可以在图15的管理表中针对主计算机注册被虚拟化的容量(虚拟容量)。空闲容量35216是容量虚拟化池的未使用的实际容量。也可以将容量虚拟化池的总实际容量、已使用实际容量、或者它们中的一个或多个的组合注册在表中。阈值35217是用于执行针对容量虚拟化池追加存储池卷、从容量虚拟化池回收存储池卷的特性值。状态35218是池的当前状态。例如是定义中、扩展中、有效等。存储池卷数35219是被设定为池的LDEV的总数。存储池卷设备编号列表35220是被设定为池的LDEV编号的一览。正在使用池的设备数35221是属于容量虚拟化池的存储池卷的数量。正在使用池 的设备编号35222是属于容量虚拟化池的存储池卷的ID的一览。池所具有的层级的列表35223是对容量虚拟化池设定的层级信息的列表的一览。稍后记述层级信息的列表35271。层级信息的列表35271是容量虚拟化池内层级管理信息3527的一例。图16是RAID组信息3515的一例的表35151。该信息用于管理构成RAID组编号35152的HDD类型信息。介质类型35153是表示SSD、SAS等介质的种类的信息。旋转数35154表示介质的旋转数。RAID等级35155是在构成RAID组的情况下的、例如RAID1、RAID5等的信息。图17是用于被分层的容量虚拟化池或者被分层的系统容量池的层级管理的管理信息35271的一例的表35271。该表的特征是在容量虚拟化池的管理信息(图15)、或者后述的系统容量池的管理信息(图18)中追加了层级的信息(Tier# :35273)的点。信息表35271包括池ID35272、层级编号35273、仿真类型35274、容量35275、空闲容量35276、阈值35277、状态35278、存储池卷数35279、存储池卷设备编号列表35280、正在使用池的设备数35281和正在使用池的设备编号35282、以及属于层级的存储池卷的列表35283。关于这些各信息说明与容量虚拟化池的管理信息表(图15)、或者系统容量池的管理信息表(图18)不同的部分。层级编号35273是在池中设定的层级的识别信息(参考图13AU3B)。在池内设定了多个层级的情况下,对每个层级设定图17的表。容量35275是各层级(Tier# :35273)的总实际容量。空闲容量35276是该层级的未使用区域的大小。阈值35277能够对每个层级设定。状态35278是层级的当前状态,例如是定义中、扩展中、有效等。存储池卷数35219、存储池卷设备编号列表35220、正在使用池的设备数35221、正在使用池的设备编号35222分别是已经记述过的内容,可以对每个层级设定。属于层级的存储池卷列表35283中包含属于各层级的存储池卷的列表35221 (图12)。此外,如图3那样在容量虚拟池跨越多个簇之间的情况下,在管理表(图15、图17)中附加区分簇的信息,按每个簇管理表内的信息。
图18是系统容量池的管理信息3525的表35251。系统容量池管理信息表35251包括池ID35252、属性/用途35253、仿真类型35254、容量35255、空闲容量35256、阈值35257、状态35258、存储池卷数35259、所使用的池ID列表35260、层级列表35261。池ID35252是系统容量池的标识符。属性/用途35253是表示池的属性和用途的标识符,具体来说表示池是系统容量池。仿真类型35254是系统容量池的仿真类型的标识符。容量35255是系统容量池的总容量。总容量是指系统容量池所设定的所有存储池卷的合计容量。空闲容量35256是系统容量池的未使用区域的大小。
阈值35257是针对系统容量池的限制值,与已经记述过的阈值大致相同。例如当系统容量池的已使用容量超过阈值时,需要在储存装置中增设存储设备。状态35258是系统容量池的当前状态。例如是定义中、扩展中、有效等。存储池卷数35259是被设定为系统容量池的LDEV(未使用存储池卷)的总数。所使用的池ID列表35260是与系统容量池相对应的容量虚拟化池的ID的一览。通常注册储存装置内的多个容量虚拟化池的全部。层级列表35261是在系统容量池中设定的层级的表35271的一览。此外,在已经记述过的表中没有设定层级的情况下,在层级信息中注册空(NULL)。图15至图18的各表通过结构控制程序3503进行设定、更新。在池正在运行的过程中也能够进行层级的定义。此外,储存装置除了将系统容量池应用于自动精简配置以外,还可以应用于储存控制中的其它复制系统功能、即快照、远程复制,用于确保这些复制系统功能所需的复制目的地卷。图19是用于说明VV0L-DIR3523以及PSCB3524的框图。VV0L-DIR3523是用于构成虚拟卷的虚拟区域的第二类LDEV的结构信息。PSCB (Pool SLOT Control fcock) 3524是在容量虚拟化池42中设定的第一类LDEV的结构的信息。如已经记述过的那样,储存装置30由TOEV34以RAID结构的方式构成第一类VDEV400。将该第一类VDEV400分割成作为存储区域的第一类LDEV500。第一类LDEV被设定给容量虚拟化池42。被设定给该容量虚拟化池42的第一类LDEV是存储池卷900。另外,储存装置设定虚拟卷(VV0L)701,进一步构成第二类VDEV401。将该第二类VDEV分割成作为虚拟卷的虚拟的存储区域的第二类LDEV(VV0L800)。储存装置将作为虚拟卷701的第二类LDEV501分配给作为存储池卷的第一类LDEV500。由此,主计算机10所访问的虚拟卷的存储区域对应由作为物理设备的TOEV34构成的第一类LDEV。虚拟卷的结构被保存在VV0L-DIR3523中。VV0L-DIR3523由LDEV编号(LDEV#) 35231 以及入口 35232 构成。LDEV 编号(LDEV#) 35231 是第二类 LDEV 的标识符。
入口 35232是第二类LDEV的结构信息。该入口 35232由第二类LDEV地址35233、PSCB指标35234、以及层级编号35235构成。在第二类LDEV被分配给存储池卷900的第一类LDEV的情况下,在PSCB指标35234中保存该第一类LDEV的区域的指标。此外,在初始状态下第二类LDEV没有被分配给第一类LDEV,因此在PSCB指标35234中保存“空(NULL) ”。PSCB3524是在容量虚拟化池42中设定的第一类LDEV的信息。该PSCB3524按在容量虚拟化池42中设定的第一类LDEV的每个插槽进行设定。PSCB3524 由 LDEV 编号(LDEV#) 35241、存储池卷地址 35242、PSCB 前方指标 35243以及PSCB后方指标35244构成。LDEV编号(LDEV#) 35241是存储池卷中的第一类LDEV的标识符。存储池卷地址35242是存储池卷900中的第一类LDEV的地址。 PSCB前方指标35243和PSCB后方指标35244是存储池卷900内的第一类LDEV的前后插槽的标识符。另外,存储池卷900的区域中的未使用的区域的开头用空闲PSCB队列35240表示。空闲PSCB队列35240包含指向表示下一个插槽的PSCB3524的指标。储存装置30参照空闲PSCB队列35240所示的指标,获得下一个PSCB3524。并且,参照下一个PSCB3524的PSCB后方指标35245,逐步地追踪PSCB3524。然后,获得与该未使用区域的最终的插槽对应的PSCB3524。该最后的PSCB3524的PSCB后方指标35244是空闲PSCB 队列 35240。储存装置根据追踪空闲PSCB队列35240并通过PSCB3524的指标连接得到的集合,能够获知系统容量池的存储池卷900的未使用区域。储存装置设定与在容量虚拟化池42中设定的第一类LDEV对应的PSCB3524。具体来说,设定与在容量虚拟化池42中设定的第一类LDEV的各插槽对应的PSCB3524,并且设定空闲PSCB队列35240。在初始状态下,容量虚拟化池42全部未使用,因此通过空闲PSCB队列35240连接的集合对应在容量虚拟化池中设定的第一类LDEV的所有区域。并且,储存装置30在使用该容量虚拟化池的区域的情况下,通过将所需的插槽数量的PSCB3524分配给作为第二类LDEV的VV0L-DIR3523,能够使用该区域。一个插槽或者多个插槽的集合相当于页面。页面基于一个或多个PSCB确定。主机装置向虚拟卷800的访问、从存储池卷针对虚拟卷800的访问区域进行的存储区域的分配以页面为单位执行。具体来说,储存装置参照空闲PSCB队列35240。然后,获取分配给第二类LDEV的与所需的区域相应(页面)的PSCB3524。将获取到的该PSCB3524分别分配给VV0L-DIR3523的入口。即,在VV0L-DIR3523的各入口的PSCB指标35234中保存表示相对应的PSCB3524的指标。此外,已分配的PSCB3524被解除空闲PSCB队列35240的连接。由此,第二类LDEV的各页面(插槽)被分配给用VV0L-DIR3523的各入口的PSCB指标35234表示的PSCB3424。PSCB3524对应第一类LDEV的插槽,因此结果为第二类LDEV被分配给第一类LDEV,作为主计算机10的访问对象的虚拟卷能够作为物理设备使用。在图19中,由于没有对容量虚拟化池进行分层管理,因此层级编号35235为空白。
命令控制程序3501根据从主计算机10接收到写入请求的虚拟卷的地址在VVOL-DIR表中进行追踪,检查PSCB是否被分配给了 VV0L-DIR3523的入口。在分配了 PSCB的情况下,命令控制程序3501将写入数据覆盖在已经存在的PSCB上。在未分配PSCB的情况下,选择与空闲队列相连接的PSCB,将其分配给VV0L-DIR3523 的入口 35232。作为以页面为单位的信息,还存在基于页面状态的验证获得的信息。例如是基于定期地监视向页面的访问频率的结果获得的信息。另外,在被保存在存储池卷中的数据中也可以包含通过对容量虚拟化池的每个页面附加信息能够检索数据被分配给了哪个虚拟卷的哪个地址的信息。
·
储存装置30不需要以页面为单位管理系统容量池44。在进行从系统容量池44向容量虚拟化池42追加存储池卷的处理时,采用基于PSCB的管理方式。此外,储存装置30也可以将从系统容量池向容量虚拟化池追加的存储池卷与空闲队列相连接来进行管理。图20表示对容量虚拟化池42设定了层级时的框图。储存装置30按每个层级管理空闲PSCB。作为层级,例示了 TierO和Tierl。虚拟化容量池也按相同的层级进行管理。从多个层级(Tier、Tierl)以页面为单位向一个第二类LDEV35231分配了区域。储存装置30将以页面为单位的信息作为以PSCB为单位的信息进行管理。层级编号35235是PSCB所属的层级的编号。命令控制程序3501在没有对VV0L-DIR3523的入口分配PSCB的情况下,选择与分配给目标层级的编号的空闲队列相连接的PSCB,将其分配给VV0L-DIR3523的入口 35232。关于向虚拟卷分配来自哪个Tier的页面,例如有从期望响应快的高性能的Tier首先分配页面的方法。主计算机或储存装置也可以按每个虚拟卷设定在初期分配的Tier编号。也可以针对容量虚拟化池进行设定以从高性能的Tier或者低性能的Tier向虚拟卷分配页面。储存装置也可以监视来自主计算机的IO负荷向适当的Tier重新配置数据。在存在多个容量虚拟化池的情况下,可以所有的容量虚拟化池都被分层,也可以一部分容量虚拟化池被分层、剩余的不被分层。此外,没有被分层的池通常由单一 Tier的存储池卷构成。作为从系统容量池被追加存储池卷的对象,针对自动精简配置用的池“容量虚拟化池”进行了说明,但是取而代之,也可以如之前简略说明的那样存在具有快照卷的快照池、具有远程复制的日志卷(journal volume)的日志池(journal pool)。快照池的阈值中存在快照所没有使用的快照卷的总数、或者未使用的总容量。在快照中,当备份量变多时,容量变得不足,因此储存装置从系统容量池向快照池追加快照卷。另一方面,在备份容量较少的情况下,由于快照池的容量过大,因此储存装置执行将快照卷从快照池(对应容量虚拟化池)返回到系统容量池的处理。日志池的阈值中存在远程复制的带宽。在远程复制中的复制源卷与复制目的地卷之间的传输带宽变窄的情况下,储存装置从系统容量池向日志池追加日志卷来确保带宽。另外,储存装置在带宽变宽、远程复制的能力宽裕的情况下,为了使带宽变窄来降低成本,而将日志卷从日志池(对应容量虚拟化池)返回到系统容量池。储存装置当将第一类LDEV设定给系统容量池44时,在LDEV管理表(图12)的池ID351301中注册系统容量池的ID。储存装置当从系统容量池44向容量虚拟化池42追加存储池卷时,在LDEV管理表(图12)的池ID351301中注册目标的容量虚拟化池的ID。储存装置基于容量虚拟化池中的容量的消耗动向决定要向容量虚拟化池追加的容量、或者基于过去从系统容量池向容量虚拟化池追加存储池卷的倾向来决定。向容量虚拟化池追加的存储池卷的数量通过将假想追加容量除以存储池卷的基准容量计算出。 接着,说明容量虚拟化池的容量扩展动作。该动作通过自动容量扩展缩小程序3509执行。该程序在对虚拟卷分配页面的过程、储存装置内的复制功能、例如镜像、差分快照中与向副卷的写入处理对应的页面分配处理的过程、以及周期性的系统监视处理的过程中被调用。根据图21所示的流程说明在命令处理程序3501针对虚拟卷执行写入处理时由自动容量扩展缩小程序进行的、容量虚拟化池的容量扩展处理的详情。该流程为了变更容量虚拟化池的容量而使用两个阈值。第一阈值是上限值,当同一池的使用容量超过该阈值时,自动容量扩展/缩小程序3509对容量虚拟化池42的容量进行扩展。第二阈值是参照值,当使用量超过该阈值时,程序开始使用容量的监视记录以监视容量虚拟化池。此外,第一阈值和第二阈值是相对于容量虚拟化池的整体容量的相对比,使用容量也是相对于池的整体容量的相对比。在S24001中,自动容量扩展/缩小程序3509将容量虚拟化池的使用容量与第一阈值进行比较。当该比较的结果判断为前者为后者以上时,判断为容量虚拟化池的有效实际容量不足,决定从系统容量池44向容量虚拟化池42追加的容量(S24009)。接着,在S24003中将所有容量虚拟化池的使用容量的合计与第一阈值进行比较。该步骤中的第一阈值可以是与S24001的第一阈值相同的值、也可以不相同,S24003中的第一阈值是合计使用量的上限相对于所有容量虚拟化池的合计容量的比例。在该判断的结果为合计使用量小于阈值的情况下,S24004视作储存装置中存在的多个容量虚拟化池的容量宽裕,从其它的容量虚拟化池向被进行来自主机装置的写入处理的容量虚拟化池追加存储池卷。另一方面,在S24003的判断中合计使用量为阈值以上的情况下,程序3509视作容量虚拟化池的容量不足、需要从系统容量池44向容量虚拟化池42补充存储池卷,在S24010中判断系统容量池中是否存在能够向容量虚拟化池追加的存储池卷。在否定该判断的情况下,向用户通知无法扩展容量虚拟化池的容量的内容、即对用户、管理者请求在储存装置中增设介质(S24011)。另一方面,当自动容量扩展缩小程序3509肯定S24010的判断时,从系统容量池向作为写入处理对象的容量虚拟化池追加存储池卷(S24005)。
在S24001中,程序3509判断为容量虚拟化池的使用容量小于第一阈值时,将使用容量与第二阈值进行比较(S24002)。在前者为后者以下的情况下,视作容量虚拟化池中没有出现容量不足而结束处理。但是,在这种情况下,由于容量虚拟化池中出现容量过剩,因此从容量虚拟化池删减存储池卷。当前者大于后者时,根据本次的写入处理判断是否在最初产生了该情形(S24007)。当程序肯定该判断时,为了防备容量虚拟化池的容量不足,开始针对作为写入对象的容量虚拟化池进行监视处理(S24008)。监视处理是指容量虚拟化池的容量以及检查容量的日期和时间的存储。监视程序定期地继续容量虚拟化池的监视处理。此外,S24003也可以变更为系统容量池的容量是否宽裕的判断。接着,图22是自动容量扩展/缩小程序3509定期地执行的容量虚拟化池的自动 容量扩展处理的流程图。S24210从存储器的处理区域读取容量虚拟化池的使用容量和判断出该容量的日期和时间的记录。S24220根据容量虚拟化池的过去的容量消耗速度等的使用倾向等,计算有效实际容量不足的日期和时间。容量的消耗速度能够通过比较在定期检查的定时获取到的容量虚拟化池的容量(已使用容量、或者空闲容量)计算出。S24230将下一次的容量虚拟化池的容量检查的预定日期和时间与计算出的日期和时间进行比较,在预定日期和时间为计算出的日期和时间以前的情况下,结束流程。在预定日期和时间为计算出的日期和时间以后的情况下,S24240判断系统容量池是否具有足够的存储池卷。当判断为否定时,S24260判断为不能扩展容量虚拟化池的容量,结束流程。当判断为肯定时,S24250执行容量扩展处理。此外,在系统容量池的容量不足的情况下,也可以由储存装置将系统容量池中所存在的容量追加到容量虚拟化池,管理装置20向用户、管理者通知容量用尽的系统容量池的ID、具有容量用尽的系统容量池的储存装置的识别信息。图23是容量虚拟化池的自动容量扩展处理的另一流程图。命令控制程序3501当从管理者侧装置接收到虚拟卷创建命令时,调用池控制程序3507。池控制程序3507检查是否对附加有由管理者指定的ID的容量虚拟化池设定了超容量阈值(图15的35217) (S24310)。当池控制程序3507判断为没有设定阈值时,池控制程序3507为了在被赋予了管理者所指示的ID的容量虚拟化池中定义由管理者指示创建的虚拟卷,而对创建对象的虚拟卷设定在容量虚拟化池的管理信息(图15)中定义的虚拟化卷的信息。并且,当调用结构控制程序3503时,结构控制程序在地址管理表3511的各映射信息中设定所创建的虚拟卷的信息。即,S24310A进行虚拟卷的定义、设定处理。接着,S24310B更新容量虚拟化池的管理信息(图15),S24310C向管理者通知完成了虚拟卷的创建。当池控制程序3507判断为设定了超容量阈值时,计算已安装在储存装置中的虚拟化卷与根据来自管理者的请求创建的虚拟卷的合计的使用总容量(S24320),然后,将该总虚拟容量与容量虚拟化池的实际容量和超容量阈值的相乘值进行比较,检查前者是否超过了后者(S24330)。当池控制程序3507判断为前者未超过后者时,执行S24320A S24320C。另一方面,当池控制程序3507判断为超过了后者时,为了判断是否将与超过的量相应的存储池卷追加到容量虚拟化池来进行补充,而检查是否从管理服务器20等向储存装置发送了优先级信息,进而检查该优先级信息是否为“高”(S24340)。在优先级为“高”的情况下,池控制程序3507调用自动容量扩展/缩小程序3509,使其执行S24350以后的容量虚拟化池的自动扩展处理。S24350计算或预测容量虚拟化池中不足的实际容量的量(S24350),然后,S24360进行对系统容量池设置的阈值的参照等,判断系统容量池的空闲容量中是否存在足以提供该实际容量的量的实际容量。 作为以什么样的程度扩展容量虚拟化池的设计例,存在预先决定值来向容量虚拟化池增设存储池卷以使虚拟卷的虚拟容量的合计为容量池的实际容量的90%以下。当S24360对其进行否定判断时,S24360A向虚拟卷创建请求源警告或通知不能创建虚拟卷的内容。此外,也可以代替储存装置发出不能创建虚拟卷的通知的方式,而从容量宽裕的容量虚拟化池回收容量、或者检索与储存装置30外接的储存器,使用其容量来自动继续容量虚拟化池的容量扩展处理。该方式不仅能够应用于图23所示的流程图所涉及的处理,也能够应用于其它的流程图所涉及的处理。当S24360进行肯定判断时,S24370从系统容量池向对象容量虚拟化池追加存储池卷,S24380、S24390、S24400进行虚拟卷的创建处理。另一方面,当S24340将优先级判断为不是“高”时,S24340A视作违反超容量,而向管理用户通知无法创建虚拟卷。图24是针对容量虚拟化池的容量自动缩小处理进行说明的流程图。关于容量虚拟化池的容量自动扩展处理以及容量自动缩小处理的应用,也可以采用针对容量虚拟化池的IO频率、IO负荷作为阈值。S24500的阈值3是基于针对容量虚拟化池的IO负荷的限制值。命令控制程序3501将针对容量虚拟化池的IO负荷与阈值3进行比较(S24500),如果前者为后者以上,则视作不应该缩小容量虚拟化池42的容量而结束处理。另一方面,在前者低于后者的情况下,视作有缩小容量的余地,而调用自动容量扩展/缩小程序3509。S24502将容量虚拟化池的已使用容量与阈值2进行比较。阈值2是规定容量虚拟化池的已使用容量的下限的值,在容量虚拟化池的已使用容量为该阈值以上的情况下,视作容量虚拟化池的容量没有过剩且没有缩小其容量的余地,S24502结束流程。当S24502进行肯定判断时,S24504删除容量虚拟化池的存储池卷,向系统容量池追加所删除的卷。此外,执行图24的流程的契机与图21至图23中的至少一个的契机相同。图25是容量虚拟化池的自动扩展处理的另一例所涉及的流程图。该流程图是图21的变形例,不同点在于容量虚拟化被分层、自动容量的扩展处理按容量虚拟化池的每个层级执行。
在该流程图中,对与图21所示的各处理对应的部分附加了相同的附图标记。在图25的附图标记S24001和S24002的处理中,对每个层级研究阈值。图25的流程图不包含与图21的S24003和S24004相当的处理。图26是针对系统容量池自动追加/自动削除存储池卷的流程图。自动容量扩展/变更程序309将系统容量池的现有容量(多个未使用存储池卷的合计容量)与下限阈值(阈值I)进行比较(S26001)。当判断为前者为后者以上吋,将系统容量池的容量与上限的阈值(阈值2)进行比较(S26005)。当判断为前者为上限阈值以下时,认为系统容量池的容量既没有不足也没有过剩,从而结束流程。当S26005判断为系统容量池的容量超过阈值2时,S26006视作系统容量池的容量过剩,从系统容量池删除未使用的存储池卷。这样,在将系统容量池的容量縮小的情况下,減少存储驱动器是根本。自动容量扩展/变更程序309决定要撤除的HDD磁盘,根据事先的设定或来自管理用户的输入信息来
决定在储存装置侧自动減少系统容量池的容量、还是委托管理用户手动減少。在选择了前者的情况下,自动容量扩展/变更程序309从管理表中删除在要撤除的HDD中创建的存储池卷。接着,向管理用户通知要撤除的HDD信息。接收到该通知的用户撤除HDD。另ー方面,在选择了后者的情况下,用户进行从管理表删除存储池卷的处理,之后识别要撤除的HDD,执行HDD的撤除。当自动容量扩展/变更程序309关于S26001判断为系统容量池的容量小于阈值I吋,由于系统容量池的容量不足,因此从TOEV向系统容量池追加存储池卷。自动容量扩展/变更成3509当检测出系统容量池的容量的不足时,向用户或管理者发送介质的增设请求。用户或管理者从I3DEV设定VDEV和LDEV,将LDEV作为存储池卷设定给系统容量池。接着,S26003參照系统容量池管理表(图18),判断向系统容量池追加的存储池卷是否来自被分类在存在于系统容量池中的层级的介质,当肯定该判断时结束流程。另ー方面,当S26002否定上述判断吋,关于新的介质和被分类在现有的层级的介质进行层级检查,将检查出的层级追加到系统容量池表(图18)中,从而结束流程。在图26中已说明的处理在规则的定时执行。除此之外也可以在发生了容量虚拟化池的自动容量扩展/缩小时执行。在系统容量池中没有层级设定的情况下,省略S26003、26004。图27是完成多个容量虚拟化池间的自动容量变更处理的流程图。容量虚拟化池A是存储池卷的转移目的地,容量虚拟化池B是存储池卷的转移源。该流程由自动容量扩展/缩小程序3509执行。S33001将容量虚拟化池A与容量虚拟化池B的优先级进行比较,判断容量虚拟化池A的优先级是否高于容量虚拟化池B。当S33001否定该判断吋,S33008选择有无其它的容量虚拟化池B的存在,当判断为其它的容量虚拟化池B不存在于储存装置中吋,结束流程。另ー方面,当将其判断为否定时,移动到下一步骤,S33009选择下ー个容量虚拟化池B,并返回到S33001。当S33001进行肯定判断时,S33002将容量虚拟化池A的已使用容量与阈值(上限)进行比较。当S33002否定该判断时,移动到S33008。另ー方面,当S33002实施肯定判断吋,S33003将容量虚拟化池B的已使用容量与阈值(下限)进行比较,当将其判断为否定时,移动到S33008时。S33003进行肯定判断是指容量虚拟化池A的有效实际容量不足、容量虚拟化池B的有效实际容量宽裕,因此能够从容量虚拟化池B向容量虚拟化池A追加存储池卷。因此,S33004选择从容量虚拟化池B删除并要回收至系统容量池的存储池卷。结构控制程序3503在容量虚拟化池B的表(图15)中应用删除存储池卷的更新,然后在系统容量池表(图18)中应用追加来自容量虚拟化池B的存储池卷的更新。接着,自动容量扩展/缩小程序3509參照系统容量池的表,从系统容量池选择向容量虚拟化池A追加的存储池卷(S33006)。接着,S33007更新系统容量池表和容量虚拟化池A的表来结束流程的处理。 图28的流程图是图27的变形例,容量虚拟化池被分层,在相同层级之间进行存储池卷的追加、删除。仅S33003A(图27的S33003)与图27的流程图不同。对图28的流程图的步骤中的、与图27的流程图的步骤对应的步骤附加相同的附图标记。要从容量虚拟化池B向容量虚拟化池A追加的存储池卷在双方的池中从相同的层级选择。因而,容量虚拟化池B的使用容量是否低于阈值(下限值)、容量虚拟化池B的容量是否宽裕的判断(S33003A)针对在S33002中判断为容量虚拟化池A的有效实际容量不足的层级进行。针对在命令控制程序3501将容量虚拟化池的存储池卷的页面分配给虚拟卷的访问区域时选择哪个层级的存储池卷的处理进行说明。根据针对虚拟卷的、每单位时间的IO数(10频率)决定层级。即,IO频率越大,选择越上位的层级的存储池卷。在选择要删除的存储池卷时,(图24 :S24504、图26 :S26006、图28 S33004)中的选择基准的例子具有数据分配(使用量)较少的存储池卷、或者没有跨越模块的存储池卷。这是因为,前者的数据移动负荷少、后者如图3已经记述过的那样可以降低系统的负荷。同样地,从系统容量池选择向容量虚拟化池追加的存储池卷的选择基准也优选不跨越模块。图29A示出了从高位开始依次将SSD、SAS、SATA的各层级设定到容量虚拟化池42中的情形。并且,图29A示出了各层级覆盖何种程度的每单位时间的IO数(10频率)的范围进行数据保存。在图29A中示出了在SSD的层级中已使用容量接近阈值(I)、SSD的层级趋于紧迫的情形。这是因为来自主计算机10的IO频率较高。在这种情况下,SSD的层级的已使用容量容易超过阈值(1),此时,自动容量扩展/縮小程序3509从系统容量池的SSD的层级向容量虚拟化池的SSD的层级追加存储池卷,但是这样导致消耗位成本高的SSD。因此,管理者如图29B所示那样扩大SAS所对应的IO频率的范围,另一方面缩小分配给SSD的IO频率的范围,缩减SSD的层级中的容量消耗倾向,扩展SAS的层级中的容量消耗傾向。其結果,能够抑制位成本高的介质的容量消耗。
接着,利用图37的框图说明用户/管理者在计算机系统中设定自动精简配置功能(HDP功能)3900时的处理。在用户/管理者在计算机系统中创建或设定容量虚拟化池时,能够设定在容量虚拟化池中应用将层级管理应用于容量虚拟化池的第一功能的开启、关闭。当在用户/管理者进行设定容量虚拟化池的输入的情况下进行该开启的输入时(S1000),创建附加有分层管理功能的容量虚拟化池3902。在开始使用容量虚拟化池3904之后、或者在其创建之后也能够进行该输入。该开启的输入方式有针对单独的容量虚拟化池的输入(S1002)、针对所有的容量虚拟化池、即系统整体的输入(S1004)。通过前者的输入,储存装置30将没有应用层级管理的容量虚拟化池变更为没有应用分层管理的容量虚拟化池,其结果,设定或创建两个类型的容量虚拟化池群3904,通过后者的输入,将系统中存在的多个容量虚拟化池分别变更为层级管理型容量虚拟化池(S3906)。 并且,用户/管理者能够设定储存装置自动扩展或缩小容量虚拟化池的容量的第ニ功能的开启、关闭。在进行容量虚拟化池的设定吋,当用户等在开启针对至少ー个容量虚拟化池的第一功能之后开启第二功能时,创建、设定应用层级管理的系统容量池(S1006 — 3908、S1008 — 3910)。当在针对所有的容量虚拟化池关闭第一功能的情况下继续开启第二功能时,设定没有应用分层管理的系统容量池(S1010 — 3912)。当用户设定容量虚拟化池和系统容量池之后针对至少ー个容量虚拟化池开启第一功能时,储存装置在系统容量池没有处于层级管理状态时将其变换为分层管理状态。当针对在储存装置中混合层级管理型容量虚拟化池和非层级型容量虚拟化池的形态开启第二功能时,储存装置在创建层级管理型系统容量池时,将非层级型容量虚拟化池自动变换为层级型容量虚拟化池3914。此外,存在多个系统容量池向层级型容量虚拟化池进行变换,如果在非层级型容量虚拟化池和层级型容量虚拟化池中区分了相对应的系统容量池,则不需要上述变换。在非层级型容量虚拟化池和层级型容量虚拟化池共用相同的系统容量池的情况下,在容量虚拟化池中也需要层级的管理。图30是表示自动精简配置的系统结构与输入单元300的关系的框图。输入单元由主计算机10、管理服务器、或者维护管理端末153构成。系统容量池44与容量虚拟化池42A或容量虚拟化池42B之间的虚线表示同一层级之间的对应关系。并且,容量虚拟化池42A、42B与虚拟卷411、412之间的虚线表示虚拟卷所使用的层级与容量虚拟化池的层级的对应关系。并且,附图标记1610表示由输入单元进行的将虚拟卷设定给储存装置的输入,附图标记1611表示用于设定容量虚拟化池的输入,附图标记1612表示用于设定系统容量池的输入。图31是表示虚拟卷的创建过程的流程图。该流程通过向储存装置发送图30的附图标记1610的输入信息,来由储存装置的结构控制程序3501执行。该输入信息中具有虚拟卷的编号、虚拟卷中所使用的容量虚拟化池的池编号、虚拟卷中所使用的介质种类、池容量的自动扩展/縮小的可否、虚拟卷的虚拟容量。通过⑶I执行输入。并且,目标端ロ、LUN、主机模式、LUN安全性也根据需要包含在可输入信息中。介质的种类能够通过用户指定性能要件、成本要件来进行设定。当在主计算机10等中进行性能要件、成本要件输入时,主计算机10的程序基于输入信息计算响应性能(ms)、呑吐量(I0PS、MBPS)、位成本,来判断最适合于储存控制处理的介质的种类。另外,用户能够通过指定服务等级来决定介质的种类。例如当选择“重视响应性能”吋,GUI的程序判断出SSD或SAS作为要使用虚拟卷的介质最佳。主计算机等对每个用户判断有无新创建池并分配给虚拟卷的权限。例如特定用户除了能够对虚拟卷分配现有的池以外,还能够分配新的池。另外,某特定用户能够对容量虚拟化池设定层级。 在图31的流程图中,当结构控制程序3503从主计算机等接收到虚拟卷创建命令时,开始虚拟卷的定义以及设定处理(S16100)。结构控制程序3503判断由虚拟卷创建命令1610指定的容量虚拟化池的ID是否存在于存储器350内的容量虚拟化池管理表(图15)中(S16110)。当将其判断为肯定时,判断容量虚拟化池的容量是否不足(S16190)。该判断基于容量虚拟化池的未使用容量或已使用容量以及对容量虚拟化池设定的阈值执行。在容量虚拟化池的容量没有不足的情况下,结构控制程序将虚拟卷与根据命令选择的容量虚拟化池进行关联并结束虚拟卷的创建处理(S16260)。此外,在虚拟卷创建命令1610中包含有“所使用的介质的类型”的指定的情况下,结构控制程序3503在S16260之前进行所指定的介质是否存在于储存装置30的判断,当肯定该判断时进入S16260,当否定吋,向用户通知虚拟卷的创建失败的意思。该情形在后述的流程图所涉及的处理中也相同。此时,如果开启了自动容量扩展缩小功能,则虚拟卷用池被设定为容量虚拟化池,如果没有开启该功能,则虚拟卷用池被设定为此前的池。虚拟卷与虚拟卷用池的对应关系通过注册在管理表中来完成。另ー方面,当结构控制程序3503判断为容量虚拟化池的未使用容量不足时(S16190),检查在容量虚拟化池中是否开启了自动扩展功能缩小功能(S16120),当没有对其设定开启吋,储存装置无法对虚拟卷用池补充存储池卷,其结果判断为虚拟卷用池的容量不足的可能性高,接着,向用户通知不可创建虚拟卷、不可新创建池(S16240)。当S16200判断出设定为开启吋,S16210判断基于由S16100指定的介质的存储池卷是否存在于系统容量池内。当S16210判断为肯定吋,S16220从系统容量池向容量虚拟化池追加存储池卷,将所追加的卷注册到容量虚拟化池管理表(图15)中。接着,S16230将虚拟卷与容量虚拟化池进行对应并结束虚拟卷创建处理。当S16210判断为否定吋,S16240向用户通知由S16100指定的介质不存在于储存系统内、因而无法创建虚拟卷的情形。当S16110判断为指定的池不存在于储存装置吋,S16120检查虚拟卷用池的容量的自动扩展/縮小功能的开启/关闭。结构控制程序3503通过专用标志来管理分层管理功能和自动容量变更功能的开启/关闭。在自动容量变更功能关闭的情况下,S16180与S16250同样地结束处理。另一方面,当判断为该功能开启吋,S16130判断基于由S16100指定的介质的存储池卷是否存在于系统容量池中(S16130),当将其判断为否定时,与S16240同样地结束处理。当S16130判断为肯定时,设定新的容量虚拟化池(S16140),该新的容量虚拟化池设定了自动容量扩展/縮小功能。并且,结构控制程序从系统容量池向容量虚拟化池追加存储池卷(S16150)。从系统容量池向容量虚拟化池追加的存储池卷根据优先级依次从多个存储池卷中确定。 接着,结构控制程序将虚拟卷与新規容量虚拟化池进行对应(S16160),从而结束虚拟卷的创建处理。图32表示虚拟卷创建处理的第二例所涉及的流程图。与图31的流程图的不同点在于用户能够对虚拟卷设定层级。在已经记述过的S16110的判断为“不存在”的情况下,执行与图31相同的处理。在该判断为“存在”的情况下,如图32所示那样进行处理,不同于图31。结构控制程序3503判断在S16100中指定的池中是否存在虚拟卷所需的层级(S16300)。判断为“存在”时的处理与已经记述过的S16190以后的处理相同。当S16300判断为“不存在”吋,S16310判断自动容量扩展/缩小功能的开启/关闭。当将其判断为“关闭”吋,S16360向用户通知不能创建虚拟卷用池、不能创建虚拟卷并
结束处理。当S16310判断为“开启”时,S16320判断在系统容量池中是否存在将在S16100中指定的介质设为起源的存储池卷,当将其判断为否定时,S16350向用户通知无法将指定的介质与虚拟卷进行对应并结束处理。另ー方面,当S16320判断为肯定吋,S16330对容量虚拟化池设定新的层级,S16340从系统容量池的层级向容量虚拟化池的新层级追加存储池卷并返回到S16300。结构控制程序3503继续S16300以后的处理直到容量虚拟化池中不存在不足的层级为止。图33是虚拟卷的生成处理的第三例所涉及的流程图。该流程图的特征是用户等能够选择是利用现有的池还是新设定的池来作为虚拟卷用池的点。此外,在用户等选择新创建容量虚拟化池的情况下,用户等针对新容量虚拟化池执行容量虚拟化池的池ID、容量、介质的种类的设定、阈值等的设定。结构控制程序3503判断是否已经存在具有在S16100中指定的介质的层级的容量虚拟化池(S16130)。当S16130否定该判断吋,S16170判断是否使用现有的容量虚拟化池。当S16170根据来自用户的输入判断为在针对虚拟卷的访问处理中使用现有的容量虚拟化池时,S16200从现有的多个容量虚拟化池选择目标的容量虚拟化池。S16210从系统容量池选择由在S16100中指定的介质构成的层级的存储池卷,将其追加到在S16200中选择的容量虚拟化池。所追加的容量、存储池卷数被预先決定。接着,S16160将虚拟卷与所选择的容量虚拟化池的对应关系注册到卷和池的管理表中并结束处理。另ー方面,当S16170判断为不使用现有的容量虚拟化池时,S16180在管理表中设定新的容量虚拟化池,并转移到S16210的处理。
当S16130判断为“肯定”吋,选择是否使用现有的容量虚拟化池,当S16140选择否定时转移到S16180。当选择肯定时,S16150从现有的容量虚拟化池中选择具有由在S16100中指定的介质构成的层级的容量虚拟化池,转移到S16160并结束处理。接着,根据图34A-图34D的流程图说明容量虚拟化池的新创建处理。首先,管理者通过⑶I在管理服务器20中指定作为容量虚拟化池的标识符的池ID、阈值、用途、第一类LDEV的数量、以及各LDEV的编号(S41110)。管理服务器20的管理程序生成包含有入力信息的容量虚拟化池的创建命令,将该命令发送到储存装置30。储存装置的命令控制程序3501接受上述创建命令(S41130)。命令控制程序3501确认接收到的命令的内容,如果是如命令的内容无效那样的内容,则拒绝该命令的接收(S41140)。并且,命令控制程序当判断为接收到的命令是用于容量虚拟化池的设定处理的命令吋,将接收到的命令传送给池控制程序3507。池控制程序3507根据接收到的命令,执行容量虚拟化池的设定/创建处理(S41150)。 接着,池控制程序3507转移到图34B的流程图。池控制程序3507确认包含在指示命令中的池ID是否有效且池ID是否未定义(S41180)。接着,池控制程序3507从容量虚拟化池管理信息3521 (图15)获取由命令指示的容量虚拟化池ID的池固有信息,将池的状态从池未定义设定为池定义中(S41190)。接着,池控制程序3507确认是否能够使用由命令指示的LDEV编号(S41210)。具体来说,在指示命令所涉及的LDEV编号已关闭或者正在格式化的情况下,由于该LDEV不可用,因此拒绝命令(S41210)。在由命令指示的LDEV已经是使用中的情况下、例如在LDEV已定义路径的情况下、正在由复制功能等使用的情况下、或者正预约设定为复制目的地的情况下,由于LDEV不可用,因此池控制程序3507拒绝命令(S41220)。接着,池控制程序3507根据命令中所指定的信息,对池固有信息(图15的管理表)设定容量、空闲容量、阈值、池-卷数(S41230)。接着,池控制程序3507判断在由命令指示的池个层级管理功能(图37 : (Tier管理功能))是否被开启(S41240)。当肯定该判断时,池控制程序3507判断是否与由命令指示的LDEV (存储池卷)的数量相应地循环执行了 S41260-S41320的处理(S41250)。当否定该判断时,池控制程序3507从由命令指定的多个LDEV中选择ー个LDEV,将所选择的LDEV注册到存储池卷设备编号列表(图15 :35220) (S41260)。接着,池控制程序3507判断在与存储池卷对应的层级信息区域中是否将管理信息设定给了由命令指示的池(S41270)。当否定该判断时,池控制程序3507创建对容量虚拟化池的层级进行管理的管理信息的表35271,将其注册到容量虚拟化池管理表的层级列表(35223)中(S41280)。接着,池控制程序3507访问层级管理表35271 (图17),在其存储池卷列表35283中注册LDEV编号ID (S41290)。接着,池控制程序3507对在容量虚拟化池中设定的第一类LDEV分配PSCB(S41300)。然后,将PSCB与每个层级的空闲队列进行连接(S41310)。根据以上内容,当池控制程序3507在容量虚拟化池中设定第一类LDEV吋,结构控制程序3503设定LDEV管理信息3512。具体来说,在由命令指定的LDEV编号的LDEV管理信息3512(图12)的设备属性35128中设定表示是容量虚拟化池的标识符(存储池卷属性),在池ID中注册存储池卷所属的池ID (S41320)。接着,结构控制程序3503将控制权转给池控制程序3507,池控制程序3507返回到S41250并判断为针对所有的LDEV的处理已结束时,将控制权转给结构控制程序3503。结构控制程序3503如图34C所示那样将池管理信息3512的池-ID的状态从“池定义中”设定为“池有效”(S41340)。然后,如图34D所示,命令控制程序3501向管理服务器20发送命令已成功的意思的响应(S41160)。然后,管理服务器20的管理程序当接收到来自储存装置的响应时(S41170),结束一系列的处理。在图34B的S41240中判断为层级管理功能关闭时,池控制程序3507省略S41270-41290 的处理,实施 S41250、S41260、S41300、S41310、S41320。但是,由于不存在 Tier管理信息,因此在S41310中,空闲PSCB队列不是在每个Tier中都存在。在生成容量虚拟化池吋,图34A至图34D的流程图设为从I3DEV将LDEV设定为容量虚拟化池,但是可以将系统容量池44的存储池卷分配给容量虚拟化池42,或者这两方都可以。另外,图34A至图34D说明了根据来自管理服务器20的用户指示生成池的情形,但是也可以代替管理服务器而根据来自主计算机或维护终端的用户指示来生成容量虚拟化池。此外,在来自用户的输入信息中包含有在创建容量虚拟化池时要使用的介质的类型的情况下,储存装置30首先判断是否存在所指定的介质,在存在的情况下,进行图34A-34D所涉及的容量虚拟化池的新设定处理。在不存在所指定的介质的情况下,向用户通知在系统内不存在指定的介质的情形。将图34A至图34D作为生成容量虚拟化池的处理进行了说明,但是也能够将图34A至图34D的流程图应用于生成系统容量池的情況。作为管理信息,代替容量虚拟化池管理信息3521而利用系统容量池管理信息3525。由于是在系统容量池44中仅追加存储池卷的处理,因此池控制程序3507如容量虚拟化池那样在使用了 PSCB的队列形态(S41300、S41310)的方式下不执行系统容量池的创建。另ー方面,池控制程序3507当从系统容量池向容量虚拟化池追加存储池卷时,在该阶段创建存储池卷的PSCB。接着,根据图38说明从系统容量池向容量虚拟化池自动追加存储池卷的处理。图38是由池控制程序3507实施的流程图。池控制程序3507当检测到将要开始容量虚拟化池的容量追加处理的契机吋,开始流程。该契机有储存装置30接收由管理服务器20生成的命令的契机、以及不取决于来自管理服务器20的命令而由储存装置30在内部产生容量虚拟化池的容量扩展的命令的契机。在前者的方式下,管理服务器20定期地检查储存装置30的状态,当检测出容量虚拟化池42的容量不足吋,向储存装置30发送扩展容量虚拟化池的容量的命令。在后者的方式下,自动容量扩展/縮小程序3509进行容量虚拟化池的容量监视处理。
池控制程序3507判断要追加存储池卷的容量虚拟化池的ID,将该ID设为关键词,检查容量虚拟化池管理信息表3521。池控制程序3507參照容量虚拟化池管理信息表,当确认出ID有效且池状态35218是“未定义”的情形时(S5000),接着,将池状态设定为“扩展中”(S5002)。參照系统容量池管理信息表(图18),从未使用存储池卷中选择要追加到容量虚拟化池的ー个或多个存储池卷(S5004)。此外,在将层级管理应用于容量虚拟化池的容量的情况下,池控制程序3507參照系统容量池管理信息表的层级列表35271,选择被分类在与容量虚拟化池中容量不足的层级相同的层级中的存储池卷。接着,池控制程序3507指定系统容量池ID、容量虚拟化池ID、从系统容量池向容量虚拟化池追加的存储池卷编号(LDEV#)、Tier编号(S5006)。接着,池控制程序3507判断由命令指示的池中层级管理功能是否被开启(S5007)。当肯定该判断时,池控制程序3507与在S5002中选择的LDEV(存储池卷)的数 量相应地循环进行S5010 S5020的处理(S5008)。池控制程序3507选择未处理的LDEV,并将所选择的LDEV的编号从系统容量池管理信息3525(图18)的LDEV列表中删除。即,參照系统池的ID与Tier编号相同的Tier管理信息表3513(图17),删除S5010所涉及的未处理LDEV的编号(S5012)。池控制程序3507将从系统容量池管理信息删除的LDEV注册到存储池卷设备编号列表(图 15 :35220) (S5014)。接着,池控制程序3507访问层级管理表35271 (图17),在其存储池卷列表35283中注册向容量虚拟化池追加的LDEV的编号(S5016)。此外,对容量虚拟化池控制信息表的更新也与已经记述过的针对系统容量池的处理(S5010、S5012)相同。储存装置在向容量虚拟化池注册时,在想要注册的存储池卷所属的Tier不存在于容量虚拟化池的情况下,在容量虚拟化池管理信息表中追加Tier管理信息 35271。接着,池控制程序3507对在容量虚拟化池中设定的LDEV分配PSCB (S5018)。并且,将PSCB与每个层级的空闲队列进行连接(S5020)。根据以上内容,在池控制程序3507向容量虚拟化池42追加了存储池卷(第一类LEDV)的时刻,与图34B同样地用PSCB管理存储池卷。接着,池控制程序3507返回到S5008,当判断为针对所有未处理的LDEV的处理已结束时,将通过向容量虚拟化池追加存储池卷所产生的容量、存储池卷数等的变更注册到容量虚拟化池(S5022)。结构控制程序3053将容量虚拟化池管理信息(图15)的状态35218从“扩展中”变更为“池有效”(S5024)。命令控制程序3501不对状态不是“池有效”的存储池卷应用自动精简配置。在存储池卷被追加到容量虚拟化池中的契机下,命令控制程序3501在包含向容量虚拟化池追加的存储池卷的多个存储池卷之间执行已经记述过的页面调整处理。当在S5007中判断为层级管理功能关闭时,池控制程序3507实施S5008、S5010、S5014、S5018、S5020 (S5026)。
接着,与图38对比说明将容量虚拟化池的存储池卷删除并返回到系统容量池的情况下的处理。池控制程序3507将容量虚拟化池的容量与阈值进行比较,当对容量虚拟化池判断出容量过剩时,决定要删除的卷。作为该卷,如已经记述过的那样,例如是分配页面数较少的存储池卷、或者属于空闲容量较少的层级的存储池卷。IO控制程序3501将所选择的存储池卷的分配页面的数据移动到其它的存储池卷,变更虚拟卷与页面的分配。此时,命令控制程序实施已经记述过的调整处理。接着,池控制程序将要删除的存储池卷的信息从容量虚拟化池管理信息、LDEV管理信息中删除,并且如果容量虚拟化容量池被分层,则从各个Tier管理信息中删除。此时,池控制程序解除针对要删除的存储池卷设定的PSCB,并且从空闲队列中释放未使用PSCB。接着,池控制程序将所删除的存储池卷的管理信息追加到系统容量池管理信息、 LDEV管理信息,并且如果容量虚拟化池被分层,则追加到各个Tier管理信息中。此外,池控制程序也可以在将存储池卷从容量虚拟化池回收至系统容量池时,不解除而是维持针对存储池卷设定的PSCB。另外,在向容量虚拟化池追加存储池卷时存在经由系统容量池的情况和不经由系统容量池的情況。接着,根据

来自主计算机的针对储存装置的读取处理。图35是说明读取处理的流程图。当主计算机10发出命令时(S14100),储存装置125接收到命令(S14102)。储存装置的命令控制程序3501对命令进行分析(S14104),參照包含在读取请求中的地址(S14106)。命令控制程序根据所參照的地址,判断访问对象卷是否为实际卷(S214106)。当判断为读取对象地址是实际卷的地址时,命令控制程序进行LU-LDEV-VDEV地址变换(14110),辨别读取对象地址的数据是否位于闪速存储器上(S14112)。如果读取对象地址的数据位于闪速存储器上,则命令控制程序将闪速存储器上的数据传送到主计算机(S14122),井向主计算机报告完成(S14142)。如果读取对象地址的数据没有位于闪速存储器上,则命令控制程序进行VDEV-PDEV/外部LU地址变换(S14114),计算保存有读取对象数据的介质的地址(S14116),启动介质访问程序。介质访问程序从计算出的介质的地址读取数据并保存到闪速存储器中(S14118),向命令控制程序通知已保存到闪速存储器中的情形(S14120)。命令控制程序当接收到来自介质访问程序的通知吋,将闪速存储器上的数据传送给主机(S14122)。在读取对象地址是虚拟卷的地址的情况下,命令控制程序进行LU-LDEV-VDEV地址变换(S14126),辨别读取对象地址的数据是否位于闪速存储器上(S14128)。如果读取对象地址的数据位于闪速存储器上,则将闪速存储器上的数据传送到主机(S14122)。如果读取对象地址的数据没有位于闪速存储器上,则命令控制程序通过虚拟-池地址变换功能(S14130),从虚拟卷的VDEV空间的地址变换为容量虚拟化池的VDEV空间的地址。此时,在是对一次也没有写入过数据的区域的数据读取请求的情况下(S14132),计算用于返回默认值(例如全是“O”)的VDEV空间(O数据区域)的地址(S14136)。
如果不是上述情况,则计算在最初写入数据时对虚拟卷分配的用于数据写入的区域的VDEV地址、或者为了池的负荷分散、使用率提高、故障恢复而从之前的数据写入用等的区域将数据移动到的区域的VDEV地址(S14134)。命令控制程序还进行VDEV-PDEV/外部LU地址变换,计算保存有读取对象数据的介质的地址(S14136)。从计算出的介质的地址读取数据,并保存到确保为虚拟卷的空间的地址用的闪速存储器中(S14138)。接着,根据图36的流程图说明写入处理。当储存装置125接收到写入命令时(S14140、S14142),命令控制程序參照写入请求的地址(S14144)。无论地址是实际卷的地址、还是虚拟卷的地址,都进行LU-LDEV-VDEV地址变换(S14146),辨别写入对象地址是否被确保在闪速存储器中(S14148)。如果没有针对写入对象地址确保闪速存储器,则命令控制程序确保用于保存从主 机传送的数据的闪速存储器区域(14150)。接着,命令控制程序向主机报告已准备接收数据的情形(S14152)。当命令控制程序从主计算机接收到传送数据时(S14154),将数据保存到已确保的闪速存储器中(S14156),向主机装置发送写入完成报告(S14158)。在写入请求地址是实际卷的地址的情况下(S14160),命令控制程序进行VDEV-PDEV/外部LU地址变换(S14162),计算保存写入对象数据的介质的地址(S14164),将保存在闪速存储器中的数据写入到介质地址(S14166)。在写入请求地址是虚拟卷的情况下(S14160),命令控制程序通过虚拟卷地址-容量虚拟化池地址的变换功能,參照VVOL-DIR表来将虚拟卷的VDEV空间的地址变换为容量虚拟化池的VDEV空间的地址(S14168)。在是对一次也没有写过数据的区域的写入请求的情况下(S14170),命令控制程序计算用于返回默认值(例如全是“O”)的VDEV空间(O数据区域)的地址(S14172),解除该地址与虚拟卷地址的分配。接着,命令控制程序动态地分配与虚拟卷的地址相对应的用于保存数据的容量虚拟化池的空闲区域(S14174)。此时,命令控制程序将分配区域设为空闲区域管理対象外,并从空闲容量中减去(S14176)。此时,命令控制程序进行容量虚拟化池的空闲容量的阈值检查。命令控制程序当判断为容量虚拟化池的容量不足或过剩时,启动自动容量扩展缩小程序。另外,计算被动态地分配空闲区域的上述容量虚拟化池的地址,将其作为与针对虚拟卷的写入对象VDEV空间的地址相对应的容量虚拟化池的VDEV空间的地址。此外,在后述的权利要求书所记载的本发明中,各模块是通过已经记述过的ー个或多个程序实现的软件模块,但是其一部分或全部也可以通过专用的硬件模块实现。附图标记的说明10主计算机20管理装置30储存装置42容量虚拟化池44系统容量池
权利要求
1.一种计算机系统,其具有对来自主计算机的写入访问进行处理的控制装置,在该计算机系统中, 上述控制装置具有 第一模块,其对上述主计算机访问的访问对象进行设定; 第二模块,其对具有一个或多个逻辑卷的第一池进行设定; 第三模块,其在从上述主计算机接收到针对上述访问对象的写入请求的情况下,从上述第一池的上述逻辑卷向上述访问对象的写入目的地区域分配存储容量; 第四模块,其对第二池进行设定; 第五模块,其根据存储资源创建逻辑卷,并将其设定在上述第二池中;以及第六模块,其判断上述第一池的状态,根据该判断的结果,将上述逻辑卷从上述第二池追加到上述第一池。
2.根据权利要求I所述的计算机系统,其特征在于, 上述访问对象包括将提供给上述主计算机的容量虚拟化而得到的虚拟卷, 上述控制装置针对上述第三模块而对上述第一池的容量进行了虚拟化。
3.根据权利要求2所述的计算机系统,其特征在于, 上述第六模块当判断出能分配给上述第一池的上述访问对象的实际容量不足时,从上述第二池向上述第一池追加上述逻辑卷。
4.根据权利要求2所述的计算机系统,其特征在于, 上述第六模块当判断出能分配给上述第一池的上述访问对象的实际容量过剩时,从上述第一池删除上述逻辑卷,并将该逻辑卷回收至上述第二池。
5.根据权利要求3所述的计算机系统,其特征在于, 上述控制装置具备第七模块,该第七模块针对上述第一池的实际容量设定第一阈值, 上述第六模块根据上述第一阈值判断上述第一池的实际容量是否不足。
6.根据权利要求I所述的计算机系统,其特征在于, 上述控制装置对上述第一池和上述第二池进行设定使它们分别具备多个层, 上述第六模块在将上述逻辑卷从上述第一池追加到上述第二池时,使上述逻辑卷在上述第一池与上述第二池之间的同一层间移动。
7.根据权利要求I所述的计算机系统,其特征在于, 上述控制装置具备第八模块,该第八模块对上述第二池的容量设定第二阈值, 上述第六模块根据上述第二阈值判断上述第二池的容量过剩还是不足,当判断为上述第二池的容量不足时,从上述存储资源向上述第二池追加上述逻辑卷。
8.根据权利要求4所述的计算机系统,其特征在于, 上述第二模块设定多个上述第一池, 上述第六模块当判断为上述多个第一池中的一个第一池的实际容量不足、其它的第一池的实际容量过剩时,从上述其它的第一池删除上述逻辑卷,并将该逻辑卷回收至上述第二池,再从上述第二池向上述一个第一池追加上述逻辑卷。
9.根据权利要求2所述的计算机系统,其特征在于, 上述控制装置设定多个上述虚拟卷, 上述第六模块将基于上述第一池的虚拟容量的第三阈值与上述多个虚拟卷的总虚拟容量进行比较,当判断为上述总虚拟容量超过上述第三阈值时,根据与上述第三阈值相关联的优先级判断能否从上述第二池向第一池追加逻辑卷。
10.根据权利要求I所述的计算机系统,其特征在于, 上述访问对象包括将提供给上述主计算机的容量虚拟化而得到的虚拟卷, 上述控制装置针对上述第三模块对上述第一池的容量进行了虚拟化, 上述控制装置具备第七模块和第八模块,该第七模块针对上述第一池的实际容量设定第一阈值,该第八模块对上述第二池的容量设定第二阈值, 上述第六模块当根据上述第一阈值判断出能够分配给上述第一池的上述访问对象的实际容量不足时,从上述第二池向上述第一池追加上述逻辑卷, 上述第六模块当判断出能够分配给上述第一池的上述访问对象的实际容量过剩时,从上述第一池删除上述逻辑卷,并将该逻辑卷回收至上述第二池, 上述第六模块根据上述第二阈值判断上述第二池的容量过剩还是不足,当判断为上述第二池的容量不足时,从上述存储资源向上述第二池追加上述逻辑卷, 并且,上述控制装置对上述第一池和上述第二池进行设定使它们分别具备多个层, 上述第六模块在将上述逻辑卷从上述第一池追加到上述第二池时,使上述逻辑卷在上述第一池与上述第二池之间的同一层间移动。
11.根据权利要求10所述的计算机系统,其特征在于, 上述第二模块设定多个上述第一池, 上述第六模块当判断为上述多个第一池中的一个第一池的实际容量不足、其它的第一池的实际容量过剩时,从上述其它的第一池删除上述逻辑卷,并将该逻辑卷回收至上述第二池,再从上述第二池向上述一个第一池追加上述逻辑卷。
12.根据权利要求I所述的计算机系统,其特征在于, 在存在针对上述访问对象的写入请求的情况下,上述第三模块判断是否对上述访问对象分配了针对写入请求的上述存储区域, 上述第三模块在判断为否定的情况下,将新的上述存储区域分配给上述访问对象, 上述第三模块在判断为肯定的情况下,将写入数据写入到上述已分配的存储区域中。
13.根据权利要求10所述的计算机系统,其特征在于, 上述第五模块根据外部连接目的地存储器的存储资源制作上述逻辑卷, 上述第六模块检查上述第一池的容量,在上述容量不足的情况下,向第一池追加上述外部连接目的地存储器的存储容量。
14.根据权利要求10所述的计算机系统,其特征在于, 上述第二模块设定多个上述第一池, 上述第六模块当判断为上述多个第一池中的一个第一池的实际容量不足、其它的第一池的实际容量过剩时,从上述其它的第一池删除上述逻辑卷,不将该逻辑卷回收至上述第二池,而将上述逻辑卷追加至上述一个第一池。
15.一种计算机系统的存储控制方法,该计算机系统具备控制装置,该控制装置控制来自主计算机的访问,来控制针对存储资源的读写处理,在该计算机系统的存储控制方法中, 上述控制装置进行如下动作对上述主计算机访问的访问对象进行设定, 执行如下的处理,即当从上述主计算机产生针对访问对象的写入时,根据分配给上述访问对象的池,从位于上述池中的逻辑卷向上述访问对象的写入区域分配存储容量,预先定义其它的逻辑卷,将其作为针对上述池的预备逻辑卷汇总成管理组,根据上述池的状态的变动,从上述管理组向上述池追加上述其它的逻辑卷。 ·
全文摘要
本发明提供一种计算机系统。计算机系统的特征在于,具有控制装置,该控制装置设定主计算机访问的访问对象,当从主计算机产生对访问对象的写入时,每次写入都执行从位于被分配给上述访问对象的池的逻辑卷向上述访问对象的写入区域分配存储容量的处理,上述控制装置预先定义逻辑卷,将其作为针对上述池的预备逻辑卷汇总成管理组,根据上述池的状态的变动,从上述管理组向上述池追加上述逻辑卷。根据本发明,能够在从存储池卷向上位系统的访问对象动态地分配存储容量的计算机系统中,迅速地应对具有上述存储池卷的池的状态变动。
文档编号G06F12/00GK102859499SQ20108006626
公开日2013年1月2日 申请日期2010年4月30日 优先权日2010年4月30日
发明者里山爱, 江口贤哲 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1