CN105074674A - 计算机系统以及资源管理方法 - Google Patents

计算机系统以及资源管理方法 Download PDF

Info

Publication number
CN105074674A
CN105074674A CN201380073457.9A CN201380073457A CN105074674A CN 105074674 A CN105074674 A CN 105074674A CN 201380073457 A CN201380073457 A CN 201380073457A CN 105074674 A CN105074674 A CN 105074674A
Authority
CN
China
Prior art keywords
resource
tenant
virtual
real
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380073457.9A
Other languages
English (en)
Other versions
CN105074674B (zh
Inventor
柴山司
坂下幸德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of CN105074674A publication Critical patent/CN105074674A/zh
Application granted granted Critical
Publication of CN105074674B publication Critical patent/CN105074674B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Abstract

计算机系统具有:存储系统,其由具有多个实际资源的一个以上的实际存储装置构成;以及管理系统,其与存储系统相连接。管理系统根据包含与具有多个实际资源的一个以上的实际存储装置各自的实际资源相关的上限值的第一信息、以及与租户(tenant)能够使用的资源即租户用资源或作为成为该租户用资源的基础的资源而被分配的实际资源相关的上限值即第二信息,从所述一个以上的实际存储装置中将实际资源或基于该实际资源的虚拟资源作为租户用资源而向租户分配。

Description

计算机系统以及资源管理方法
技术领域
本发明涉及一种包含具有多个资源的实际存储装置的计算机系统中的资源的管理技术。
背景技术
在多个实际存储装置经由网络相互连接的计算机系统中,利用以下卷标识符管理方法,即,将多个实际存储装置的多个逻辑卷(logicalvolume)作为一个虚拟存储装置的同一逻辑卷而提供给主机计算机和管理计算机(例如参照专利文献1)。
通过上述卷标识符管理方法,能够不使主机计算机上的卷利用工作、卷管理停止地,将虚拟存储装置的逻辑卷从任意的实际存储装置转移到网络内的任意的实际存储装置。
另一方面,近年来,由多家公司或多个部门共享而使用实际存储装置的大规模存储汇集环境中,为了减轻存储管理者的负担,作为存储管理方法,要求以下多租户(multi-tenants)型管理方法:按公司或按部门来配置管理者,并对每个管理者分配实际存储资源。在这种环境中,例如利用对多个集群(cluster)以逻辑方式分割实际存储资源的资源结构管理方法(参照专利文献2)。
在先技术文献
专利文献
专利文献1:美国专利申请公开第2008/0034005号说明书
专利文献2:美国专利申请公开第2006/0224854号说明书
发明内容
发明要解决的课题
例如,根据多租户型管理方法,各租户的管理者能够仅在意自己所担当的虚拟性的存储装置而进行资源管理。
然而,由于多个租户共享实际存储装置,因此与基于其他租户的资源分配相应地,自身的资源分配有可能受到限制。例如,在某一租户分配卷时,在由其他租户向该租户所利用的实际存储装置分配了很多卷的情况下,由于实际存储装置可创建的卷数的制约,有可能无法分配卷。另外,各租户的管理者无法掌握其他租户对资源的使用状况,因此也无法预先掌握资源分配受到限制这一情况。
用于解决课题的手段
计算机系统具有:存储系统,其由具有多个实际资源的一个以上的实际存储装置构成;以及管理系统,其与存储系统相连接。管理系统根据第一信息和第二信息,从所述一个以上的实际存储装置中将实际资源或基于该实际资源的虚拟资源作为租户用资源而向租户分配,其中,所述第一信息包含与具有多个实际资源的一个以上的实际存储装置各自的实际资源相关的上限值,所述第二信息是与租户能够使用的资源即租户用资源或作为成为该租户用资源的基础的资源而被分配的实际资源相关的上限值。
发明效果
能够对存储系统的租户适当地分配实际存储装置的实际资源。
附图说明
图1是第一实施例所涉及的计算机系统的一例的结构图。
图2是第一实施例所涉及的计算机系统的其他例的结构图。
图3是第一实施例所涉及的存储装置的结构图。
图4是第一实施例所涉及的控制信息用存储器的结构图。
图5是第一实施例所涉及的外部管理服务器的结构图。
图6是第一实施例所涉及的用户账户管理表的结构图。
图7是第一实施例所涉及的RPU管理表的结构图。
图8是第一实施例所涉及的资源ID管理表的结构图。
图9是第一实施例所涉及的存储装置型号列表的结构图。
图10是第一实施例所涉及的物理资源上限表的结构图。
图11是第一实施例所涉及的虚拟资源上限表的结构图。
图12是第一实施例所涉及的物理资源表的结构图。
图13是第一实施例所涉及的虚拟资源池物理资源对应表的结构图。
图14是第一实施例所涉及的任务管理表的结构图。
图15是第一实施例所涉及的许可管理表的结构图。
图16是第一实施例所涉及的性能履历表的结构图。
图17是第一实施例所涉及的结构管理表的结构图。
图18是第一实施例所涉及的性能下限表的结构图。
图19是第一实施例所涉及的VDKC上限值设定处理的第一例的流程图。
图20是第一实施例所涉及的VDKC上限值设定处理的第二例的流程图。
图21是第一实施例所涉及的平均化设定处理的流程图。
图22是第一实施例所涉及的变更对象选择处理的第一流程图。
图23是第一实施例所涉及的变更对象选择处理的第二流程图。
图24是第一实施例所涉及的设定变更处理的第一流程图。
图25是第一实施例所涉及的设定变更处理的第二流程图。
图26是第二实施例所涉及的虚拟资源池物理资源对应表创建处理的流程图。
图27是第二实施例所涉及的平均化设定处理的流程图。
图28是第二实施例所涉及的表创建详细处理的流程图。
图29是第二实施例所涉及的变更对象选择处理的第一流程图。
图30是第二实施例所涉及的变更对象选择处理的第二流程图。
图31是第二实施例所涉及的变更对象选择处理的第三流程图。
图32是第二实施例所涉及的设定变更处理的流程图。
图33是第三实施例所涉及的VDKC下限值设定处理的流程图。
图34是第三实施例所涉及的平均化设定处理的流程图。
图35是第三实施例所涉及的RPU创建处理的流程图。
图36是第三实施例所涉及的资源决定分配处理的第一例的流程图。
图37是第三实施例所涉及的资源决定分配处理的第二例的第一流程图。
图38是第三实施例所涉及的资源决定分配处理的第二例的第二流程图。
图39是第四实施例所涉及的资源汇集时的变更对象选择处理的第一流程图。
图40是第四实施例所涉及的资源汇集时的变更对象选择处理的第二流程图。
图41是第四实施例所涉及的资源汇集时的变更对象选择处理的第三流程图。
图42是第四实施例所涉及的设定变更处理的流程图。
图43是第五实施例所涉及的VDKC的上限值设定处理的流程图。
具体实施方式
参照附图说明几个实施例。此外,以下说明的实施例并不限定权利要求书所涉及的发明,并且在实施例中说明的各要素以及其组合不一定全部为发明的解决手段所必须的。
此外,在以后的说明中存在以“aaa表”等表现说明本发明的信息的情况,但是这些信息也可以用表等的数据结构以外的形式表现。因此,为了表示不依赖于数据结构,有时将“aaa表”等称为“aaa信息”。
另外,在以下说明中,有时将“程序”作为主语而说明处理,但是程序通过处理器(例如CPU(CentralProcessingUnit:中央处理器))来执行,由此适当地使用存储资源(例如存储器)及/或通信接口装置(例如端口)来进行所决定的处理,因此也可以将处理的主语设为处理器。将程序作为主语而说明的处理也可以设为包含处理器的控制器所进行的处理。另外,控制器可以是处理器本身,也可以代替处理器或在处理器的基础上,还包含进行处理器所进行的处理的一部分或全部的硬件电路。计算机程序也可以从程序源(programsource)安装到装置。程序源例如可以是程序分发服务器或计算机可读取的存储介质。
首先,说明第一实施例所涉及的计算机系统。
图1是第一实施例所涉及的计算机系统的一例的结构图。
计算机系统例如具有主机计算机1000、多个存储装置(实际存储装置)2000以及外部管理服务器3000。外部管理服务器3000与存储装置2000经由存储网络7000相连接。另外,外部管理服务器3000、主机计算机1000以及存储装置2000经由存储网络5000相连接。
多个存储装置2000经由后端存储网络6000而相互连接。各存储装置2000能够经由后端存储网络6000对其他存储装置2000传送SCSI指令。此外,后端存储网络6000和存储网络5000可以是相同的网络。
在计算机系统中,由多个存储装置2000构成DKC池4000。该DKC池4000为来自主机计算机1000的SCSI指令能够发送的范围。
DKC池4000包含跨越多个存储装置2000的一个以上的RPU(RESOURCEPARTITIONINGUNIT:资源分配单元)2900。在此,RPU为租户所使用的对象(object)的概念的一例,分配给RPU的资源为租户能够使用且分配给租户的资源的一例。RPU2900由多个存储装置2000的多个资源构成。RPU2900作为虚拟性的存储装置(称为虚拟存储装置或VDKC)被提供给主机计算机1000和外部管理服务器3000。在此,虚拟存储装置为租户的一例,是作为存储装置提供给主机计算机的租户。另一方面,在标记为租户的情况下,也可以不需要作为存储装置提供给主机计算机,另外,向租户分配的资源组不一定必须是足够构成存储的资源结构。在本实施例中,说明虚拟存储装置,但是本资源管理技术并不限定于虚拟存储,而是只要是租户就能够应用的发明。另外,可以在DKC池4000中构成多个RPU2900。另外,也可以通过多个RPU2900构成一个虚拟存储装置。
外部管理服务器3000按照来自管理者的指示来执行各种处理。在此,作为管理者,例如存在仅具有对一个虚拟存储装置进行管理操作的权限的管理者(VDKC管理者)8000、具有对构成DKC池4000的所有存储装置2000进行管理操作的权限的管理者(DKCPOOL管理者)8500。
图2是第一实施例所涉及的计算机系统的其他例的结构图。
计算机系统包含主机计算机1000和一个存储装置(实际存储装置)2000。主机计算机1000与存储装置2000经由存储网络5000而连接。
在管理者(用户)8000、8500访问存储装置2000时利用外部管理服务器3000。外部管理服务器3000按照来自管理者8000、8500的指示将管理指令发送至存储装置2000。另外,外部管理服务器3000控制对虚拟存储装置(RPU2900)分配实际资源的处理。此外,也可以由任一个存储装置2000的内部管理服务器2600执行外部管理服务器3000的至少一部分处理。
存储装置2000具有内部管理服务器2600。内部管理服务器2600经由网络7000从外部管理服务器3000接收管理指令,将该管理指令转换为内部控制指令,传送至存储装置2000内的其他要素。另外,内部管理服务器2600进行来自外部管理服务器3000的访问控制。
存储装置2000包含多个资源(实际资源),具有一个以上的RPU2900。在图2的示例中,RPU2900中存在包含构成虚拟存储装置的资源的RPU2900(RPU#01、RPU#02)以及包含未分配给虚拟存储装置的资源的RPU2900(RPU#00)。在图2的示例中,一个RPU构成一个虚拟存储装置。对各资源附加在存储装置2000内能够识别资源的实际资源标识符。
作为RPU2900内包含的资源(实际资源),例如存在端口2810、卷2800、奇偶校验组(paritygroup)2820等。奇偶校验组2820为RAID(RedundantArraysofIndependentDisks:独立磁盘冗余阵列)组,是构成RAID的多个驱动器的组。卷2800例如为逻辑设备(LDEV)。卷2800例如与构成一个奇偶校验组的存储区域的一部分存储区域对应。此外,也可以将后述的MPPK(MicroProcessorPacKage:微处理器封装)2200、CMPK(CacheMemoryPacKage:高速缓冲存储器封装)2300等其他种类的资源包含在RPU2900中。
在图2的示例中,RPU#01(RPUID=01的RPU2900)构成VSA#1111的虚拟存储装置,RPU#02(RPUID=02的RPU2900)构成VSA#1212的虚拟存储装置。对向RPU#01和RPU#02分配的各资源,作为虚拟存储装置的资源而附加虚拟资源标识符(VID)2326D。此外,不对未向RPU#00(RPUID=00的RPU2900)内包含的虚拟存储装置分配的资源附加虚拟资源标识符。
在本实施例所涉及的计算机系统中,在初始状态下,全部资源(在本例中为端口2810、卷2800、奇偶校验组2820)包含在RPU#00中,之后,在创建RPU#01、RPU#02时从RPU#00向各RPU分配的资源进行移动。此外,能够在RPU#01、RPU#02中新创建卷2800。
在计算机系统中,对各虚拟存储装置定义独立的命名空间(namespace)。各命名空间是独立的,因此在虚拟存储装置内,不需要考虑在其他虚拟存储装置和存储装置2000中使用的资源标识符(虚拟资源标识符和实际资源标识符),能够将在虚拟存储装置内唯一的虚拟资源标识符自由地向RPU2900内的资源分配。
图3是第一实施例所涉及的存储装置的结构图。
存储装置2000包含一个以上的FEPK(FrontEndPacKage:前端封装)2100、一个以上的MPPK2200、一个以上的CMPK2300、一个以上的BEPK(BackEndPacKage:后端封装)2400、作为存储设备的一例的一个以上的HDD(硬盘驱动器)2700、内部网络2500以及内部管理服务器2600。此外,在图3中,关于FEPK2100、MPPK2200、CMPK2300以及BEPK2400等封装,仅图示该封装内的一部分构成要素,也可以包含图示的构成要素以外的构成要素。
关于内部网络2500,FEPK2100、MPPK2200、CMPK2300、BEPK2400以及管理服务器2600经由内部网络2500而连接。由此,MPPK2200的各MP(MicroProcessor:微处理器)2210能够经由内部网络2500而与FEPK2100、CMPK2300、BEPK2400以及管理服务器2600进行通信。
FEPK2100为用于与主机计算机1000进行通信的接口设备。FEPK2100具有多个主机I/F2110。主机I/F2110经由网络5000与主机计算机1000的HBA(HostBusAdapter:主机总线适配器)连接,进行与主机计算机1000之间的通信中的协议控制。例如,一个主机I/F2110与一个端口对应。此外,主机I/F2110也可以具有多个端口。
BEPK2400为用于与HDD2700进行通信的接口设备。BEPK2400具有多个盘I/F2410。盘I/F2410例如经由线缆与HDD2700连接,并且与内部网络2500连接。盘I/F2410对内部网络2500侧与HDD2700之间的读对象或写对象的数据的交接进行中继。
CMPK2300具有数据缓存用存储器2310和控制信息用存储器2320。数据缓存用存储器2310和控制信息用存储器2320为非易失性存储器或易失性存储器,例如DRAM(DynamicRandomAccessMemory:动态随机访问存储器)。
数据缓存用存储器2310暂时保存(缓存)向HDD2700写入的写对象的数据或暂时保存(缓存)从HDD2700读取的读对象的数据。控制信息用存储器2320保存存储装置2000中的处理所需的程序和信息。在后文中说明控制信息用存储器2320所保存的程序和信息。
MPPK2200具有多个MP2210、本地存储器(LM)2220以及总线2230。MP2210与LM2220经由总线2230而连接。LM2220保存在控制信息用存储器2320中保存的控制信息的一部分。
内部管理服务器2600为计算机,向从控制信息用存储器2320加载至LM2220并由MP2210执行的控制程序传递来自外部管理服务器3000的各种信息(例如,管理者的各种指示等)。内部管理服务器2600也可以具有键盘、开关、指示设备、麦克风等输入设备(未图示)和显示器、扬声器等输出设备。
图4是第一实施例所涉及的控制信息用存储器的结构图。
控制信息用存储器2320保存有存储装置控制程序2321、RPU管理程序2322、资源ID管理程序2323以及用户账户管理程序2324。
存储装置控制程序2321执行与从主机计算机1000接收到的读请求和写请求对应的处理。另外,存储装置控制程序2321进行存储装置2000内的各种控制处理。
RPU管理程序2322进行存储装置2000内的RPU的管理处理。资源ID管理程序2323进行对附加于存储装置2000的资源的实际资源标识符和虚拟资源标识符进行管理的处理。用户账户管理程序2324执行用户认证的处理、存储装置2000的用户账户的管理处理(例如,各用户的访问权限的信息的管理处理)。
控制信息用存储器2320保存RPU管理表2325、资源ID管理表2326、用户账户管理表2327、存储装置型号列表2328、物理资源上限表2330、虚拟资源上限表2331以及物理资源表2332。此外,在后文中详细说明各表。
图5是第一实施例所涉及的外部管理服务器的结构图。
外部管理服务器3000例如由个人计算机、工作站或主机(mainframe)等计算机构成,具有处理器3100、存储器3200、输入设备3700、输出设备3600以及I/F3800。处理器3100、存储器3200、输入设备3700和输出设备3600以及I/F3800经由内部总线而连接。
输入设备3700例如由键盘、开关、指示设备等构成,受理来自用户的输入。输出设备3600由显示器、扬声器等构成,对用户输出各种信息。I/F3800为进行与存储装置2000之间的通信的接口设备。
处理器3100对外部管理服务器3000整体进行统一控制。处理器3100通过执行在存储器3200中保存的程序来执行各种处理。存储器3200保存存储管理程序3210、资源分配决定程序3220以及上限值计算程序3230。在后文中详细说明基于各程序的处理。另外,存储器3200保存虚拟资源池物理资源对应表3240、管理侧物理资源上限表3250、管理侧虚拟资源上限表3260、性能下限表3265、许可管理表3270、管理侧物理资源表3280、管理侧资源ID管理表3290、任务管理表3295、性能履历表3297以及结构管理表3298。
管理侧物理资源上限表3250为汇集了各存储装置2000的物理资源上限表2330而得到的表。此外,管理侧物理资源上限表3250可以构成为一个表,也可以构成为具有各存储装置2000的物理资源上限表2330。
管理侧虚拟资源上限表3260为汇集了各存储装置2000的虚拟资源上限表2331而得到的表。此外,管理侧虚拟资源上限表3260可以构成为一个表,也可以构成为具有各存储装置2000的虚拟资源上限表2331。
管理侧物理资源表3280为汇集了各存储装置2000的物理资源表2332而得到的表。此外,管理侧物理资源表3280可以构成为一个表,也可以构成为具有各存储装置2000的物理资源表2332。
管理侧资源ID管理表3290为汇集了各存储装置2000的资源ID管理表2326而得到的表。此外,管理侧资源ID管理表3290可以构成为一个表,也可以构成为具有各存储装置2000的资源ID管理表2326。此外,在后文中详细说明其他表。
图6是第一实施例所涉及的用户账户管理表的结构图。
用户账户管理表2327保存具有用户ID栏2327A、RPUID栏2327B、权限栏2327C以及密码栏2327D的条目。
在用户ID栏2327A中保存管理者的用户ID。在RPUID栏2327B中保存向与用户ID对应的管理者分配的RPU的ID(RPUID)。此外,在对管理者分配所有RPU的情况下,在RPUID栏2327B中设定“RPU#FF”。
在权限栏2327C中保存对与用户ID对应的对管理者提供的操作权限的类别。
在操作权限的类别为“存储管理(STORAGEADMIN)”的情况下,与用户ID对应的管理者在被分配的RPU(虚拟存储装置)内能够进行所有操作。例如,具有该权限的用户能够进行卷的创建和删除、复制对(copypair)的控制等。另一方面,具有该权限的用户无法进行RPU的创建、RPU的物理资源的变更(追加和删除)等对RPU的物理资源进行的控制并且无法对虚拟存储装置的标准进行变更。在此,RPU的物理资源为端口和奇偶校验组。
在操作权限的类别为“修改虚拟存储(MODIFYVIRTUALSTORAGE)”的情况下,与用户ID对应的管理者能够进行虚拟存储装置的创建和变更。具有该权限的用户能够新创建RPU、变更RPU的物理资源(资源分配)、新定义虚拟存储装置而分配RPU、变更虚拟存储装置的标准。RPU的物理资源的变更意味着RPU间的物理资源的移动。因而,为了变更一个RPU的物理资源,用户需要还具有针对其他RPU的“修改虚拟存储”的权限。此外,操作权限的类别以及其内容并不限定于图6示出的示例,也可以定义与此不同的权限。
在密码栏2327D中保存与用户ID对应的管理者的密码。
根据图6示出的用户账户管理表2327可知,例如,“VDKC1.ADMIN”的管理者(例如图1中的管理者8000)对PDKC1.RPU#01、PDKC2.RPU#01、PDKC3.RPU#01具有“存储管理”的权限。另外,“DKCPOOL.ADMIN”的管理者(例如图1中的管理者8500)对所有RPU(RPU#FF)具有“存储管理”和“修改虚拟存储”的操作权限。
用户账户管理程序2324按照来自外部管理服务器3000的指示,在用户账户管理表2327中注册用户账户。具体地说,内部管理服务器2600从外部管理服务器3000一起接收注册内容的信息和用户账户的追加、变更、删除等指示,并将这些指示传送至启动了这些的用户账户管理程序2324。用户账户管理程序2324按照所传送的指示,更新用户账户管理表2327。
如上所述,内部管理服务器2600按照用户账户管理表2327的信息,控制来自用户的访问。例如,内部管理服务器2600从外部管理服务器3000接收用于进行登录的用户ID和密码,并将这些用户ID和密码传送至用户账户管理程序2324。
用户账户管理程序2324将用户ID和密码与用户账户管理表2327的信息进行比较,确认用户ID是否注册在用户账户管理表2327中。在用户ID已注册的情况下,用户账户管理程序2324将用户已注册这一内容的认证结果和该用户ID的用户的权限信息发送至内部管理服务器2600。在用户ID未注册的情况下,用户账户管理程序2324将用户未注册这一内容的认证结果发送至内部管理服务器2600。
在尝试登录的用户没有注册的情况下,内部管理服务器2600将登录错误返回至外部管理服务器3000。另一方面,在用户已注册的情况下,内部管理服务器2600在该用户的操作权限内对之后的来自外部管理服务器3000的由该用户发出的管理指令进行处理。具体地说,内部管理服务器2600将用户的管理操作范围限定于分配给该用户的RPU内的资源,并且将能够执行的操作限定于在所分配的权限内被允许的操作。
例如,内部管理服务器2600拒绝用户对未被分配的RPU的虚拟存储装置中的卷操作(卷创建、删除、对(pair)形成等)的请求。另外,内部管理服务器2600拒绝来自不具有“修改虚拟存储”权限的用户的、虚拟存储装置的创建请求和资源移动(资源分配)的请求。
图7是第一实施例所涉及的RPU管理表的结构图。
RPU管理表2325保存具有RPUID栏2325A、供应商(vendor)栏2325B、型号(model)栏2325C、序列号(S/N)栏2325D、管理端口IP地址栏2325E以及状态栏2325F的条目。在RPU管理表2325中,在对栏的值设定“0”的情况下,意味着未被分配值。
在RPUID栏2325A中保存在存储装置2000内能够唯一地确定RPU的标识符(RPUID)。在供应商栏2325B、型号栏2325C以及S/N栏2325D中分别保存RPU所表现的(分配有RPU的)虚拟存储装置的虚拟供应商名称(供应商的虚拟标识符)、虚拟型号名称(型号的虚拟标识符)、虚拟序列号。
这些虚拟供应商名称、虚拟型号名称以及虚拟序列号的组相当于在存储装置2000内唯一的、确定虚拟存储装置的虚拟标识符。此外,在供应商栏2325B、型号栏2325C或序列号栏2325D中设定有“DEFAULT(默认)”的情况下,意味着在对应的栏中分配有存储装置2000的实际值。
在管理端口IP地址栏2325E中保存以RPU管理用而定义的用于向内部管理服务器2600访问的IP地址(访问IP地址)。例如,在一个物理端口中,访问IP地址被伪装(masqueraded),对各虚拟存储装置分配一个访问IP地址。
在状态栏2325F中保存表示RPU的状态的值(RPU状态)。在RPU状态为“有效(active)”的情况下,表示与条目对应的RPU处于表现虚拟存储装置的过程中、即该虚拟存储装置正在动作中这一情况。在该情况下,存储装置2000对来自主机计算机1000和外部管理服务器3000的标识符响应请求,响应虚拟标识符(包含虚拟存储装置的虚拟标识符和虚拟资源标识符)。
在RPU状态为“非有效”的情况下,表示与条目对应的RPU没有表现虚拟存储装置、即该虚拟存储装置没有动作这一情况。在该情况下,存储装置2000不对来自主机计算机1000和外部管理服务器3000的标识符响应请求响应该RPU的虚拟标识符。
图8是第一实施例所涉及的资源ID管理表的结构图。
资源ID管理表2326保存具有实际资源ID栏2326A、类别栏2326B、RPUID栏2326C以及虚拟资源ID栏2326D的条目。
在实际资源ID栏2326A中保存在对存储装置2000定义的命名空间内能够在存储装置2000内唯一地确定各资源的标识符(实际资源标识符)。
在类别栏2326B中保存与条目对应的资源的类别。在本实施例中,作为资源的类别,存在端口(PORT)、卷(VOLUME)、奇偶校验组(PARITYGROUP)。此外,在类别栏2326B中也可以注册除此以外的类别。
在RPUID栏2326C中保存与条目对应的资源所属的RPU的标识符(RPUID)。在本实施例中,全部资源属于某一个RPU,因此在RPUID栏2326C中保存有某一个RPUID。
在虚拟资源ID栏2326D中保存与条目对应的资源所对应的虚拟资源标识符。虚拟资源标识符为在对RPU定义的命名空间内能够唯一地确定资源的标识符。虚拟标识符(ID)表示对虚拟存储装置的虚拟标识符(ID)或附加于资源的虚拟资源标识符(ID)。在虚拟资源ID栏2326D中设定有“NULL”的情况下,表示没有对与条目对应的资源附加虚拟资源标识符这一情况。
为了在各RPU中附加虚拟资源标识符,对各RPU定义命名空间。因此,在各RPU(虚拟存储装置)中,能够与其他RPU的虚拟资源标识符和在实际存储装置2000中附加的实际资源标识符独立地,对各资源附加虚拟资源标识符。由此,在各RPU中能够自由地附加虚拟资源标识符,能够使用于在实际存储装置2000中提供多个虚拟存储装置的管理容易化。
RPUID在存储装置2000中是唯一的,由RPUID和虚拟资源标识符的组构成的标识符与实际资源标识符同样地,在存储装置2000中能够唯一地确定资源。同样地,通过由RPU所表现的虚拟存储装置的虚拟供应商ID、虚拟型号名称以及虚拟序列号的组构成的虚拟标识符以及虚拟资源标识符,在存储装置2000中能够唯一地确定资源。
资源ID管理程序2323对资源ID管理表2326进行管理。当存在如资源在RPU间移动、附加虚拟资源标识符那样的资源结构上的变更时,资源ID管理程序2323根据该变更来更新资源ID管理表2326。
图9是第一实施例所涉及的存储装置型号列表的结构图。
存储装置型号列表2328保存具有供应商ID栏2328A和型号栏2328B的条目。
在供应商ID栏2328A中保存可表现的供应商的供应商ID。在型号栏2328B中保存由供应商ID栏2328A的供应商ID的供应商提供的虚拟存储装置的型号的型号名称。
管理者能够从存储装置型号列表2328的条目中选择一个条目,对在存储装置2000中创建的虚拟存储装置附加供应商名称和型号名称。RPU能够表现具有在存储装置型号列表2328中注册的供应商名称与型号名称的组合的虚拟存储装置。
资源ID管理程序2323对存储装置型号列表2328进行管理。例如,资源ID管理程序2323按照从外部管理服务器3000接收的指示,来更新存储装置型号列表2328。
图10是第一实施例所涉及的物理资源上限表的结构图。
物理资源上限表2330保存具有类别栏2330A和上限值栏2330B的条目。
在类别栏2330A中保存物理资源的类别。在上限值栏2330B中保存关于与物理存储装置2000中的条目的类别栏2330A的物理资源的类别对应的物理资源的上限值(第一信息的一例)。在此,作为在上限值2330A中设定的上限值,根据物理资源的类别设定的值的种类可以不同,例如也可以是物理资源的个数、性能值或容量的上限值。例如,可以是,在上限值2330A中,在物理资源的类别为卷的情况下,设定能够创建的卷的个数的上限值,在物理资源的类别为端口(PORT)的情况下,设定端口的数量的上限值,在物理资源的类别为存储池的情况下,设定存储池的容量的上限值。
图11是第一实施例所涉及的虚拟资源上限表的结构图。
虚拟资源上限表2331保存具有RPUID栏2331A、类别栏2331B以及上限值栏2331C的条目。
在RPUID栏2331A中保存RPUID。在类别栏2331B中保存虚拟资源的类别。虚拟资源的类别与物理资源的类别相同。在上限值栏2331C中保存与RPUID的RPU中的条目的类别栏2331B的类别的虚拟资源相关的上限值。此外,对虚拟资源分配物理资源,因此该虚拟资源的上限值与物理资源的上限值对应,是第二信息的一例。在此,作为在上限值2331C中设定的上限值,可以是根据虚拟资源的类别设定的值的种类不同,例如可以是虚拟资源的个数、性能值或容量的上限值。例如,也可以是,在上限值2331C中,在虚拟资源的类别为卷的情况下,设定能够创建的卷的个数的上限值,在虚拟资源的类别为端口的情况下,设定端口的数量的上限值,在虚拟资源的类别为存储池的情况下,设定存储池的容量的上限值。
图12是第一实施例所涉及的物理资源表的结构图。
物理资源表2332保存具有资源类别栏2332A、实际资源ID栏2332B以及规格栏2332C的条目。
在资源类别栏2332A中保存资源的类别。在实际资源ID栏2332B中保存与条目的资源类别栏2332A的资源的类别对应的实际资源的标识符(实际资源ID)。在规格栏2332C中保存与条目的实际资源ID栏2332B的实际资源相关的规格。作为在规格栏2332C中保存的规格,例如在资源类别为卷的情况下,是卷的大小,在资源类别为奇偶校验组的情况下,是奇偶校验组的大小,在资源类别为端口的情况下,是通信速度。
图13是第一实施例所涉及的虚拟资源池物理资源对应表的结构图。
虚拟资源池物理资源对应表3240是对属于RPU的资源池进行管理的表,保存具有RPUID栏3240A、资源池ID栏3240B、资源类别栏3240C、PDKCID栏3240D以及实际资源ID栏3240E的条目。
在RPUID栏3240A中保存RPUID。在资源池ID栏3240B中保存RPUID栏3240A的RPUID的RPU(虚拟存储装置)中的每个资源类别的资源所属的资源池的标识符(资源池ID)。在资源类别栏3240C中保存属于条目的资源池ID栏3240B的资源池ID的资源池的资源的类别。在PDKCID栏3240D中保存构成条目的RPUID的RPU的存储装置(PDKC)2000的标识符(PDKCID)。在实际资源ID栏3240E中保存属于与条目对应的资源池的实际资源的实际资源ID。
图14是第一实施例所涉及的任务管理表的结构图。
任务管理表3295保存具有任务ID栏3295A、执行用户ID栏3295B、处理名称栏3295C、对象装置栏3295D、对象资源池ID栏3295E、对象资源ID栏3295F、规格栏3295G、执行预定(结束)时间栏3295H以及执行状况栏3295I的条目。
在任务ID栏3295A中保存识别任务的标识符(任务ID)。在执行用户ID栏3295B中保存执行条目的任务ID栏3295A的任务ID的任务的用户的标识符(执行用户ID)。在处理名称栏3295C中保存在条目的任务ID栏3295A的任务ID的任务中执行的操作内容的处理名称。在对象装置3295D中保存在条目的任务ID栏3295A的任务ID的任务中执行操作的对象的RPU的RPUID。
在对象资源池ID栏3295E中保存在条目的任务ID栏3295A的任务ID的任务中执行操作的对象的资源池的标识符(资源池ID)。在对象资源ID栏3295F中保存在条目的任务ID栏3295A的任务ID的任务中执行操作的对象的资源的标识符(资源ID)。在规格栏3295G中保存针对在条目的任务ID栏3295A的任务ID的任务中操作的资源的操作量。在执行预定(结束)时间栏3295H中保存执行条目的任务ID栏3295A的任务ID的任务的预定时间或任务的执行结束的时间。在执行状况栏3295I中保存条目的任务ID栏3295A的任务ID的任务的执行状况。作为在执行状况栏3295I中保存的执行状况,例如存在表示任务已完成这一情况的“完成”、表示任务的执行过程中这一情况的“执行中”、表示任务尚未执行这一情况的“未执行”。
图15是第一实施例所涉及的许可管理表的结构图。
许可管理表3270保存具有RPUID栏3270A和许可费用栏3270B的条目。在RPUID栏3270A中保存RPUID。在许可费用栏3270B中保存针对条目的RPUID栏3270A的RPUID的RPU的许可费用。此外,也可以代替许可费用而设为通过支付许可费用而得到的RPU的容量等信息。
图16是第一实施例所涉及的性能履历表的结构图。
性能履历表3297为对物理资源的性能值的信息进行管理的表,保存具有PDKCID栏3297A、实际资源ID栏3297B、类别栏3297C、时间栏3297D以及性能值栏3297E的条目。
在PDKCID栏3297A中保存PDKC的PDKCID。在实际资源ID栏3297B中保存实际资源的实际资源ID。在类别栏3297C中保存与条目的实际资源ID栏3297B的资源ID对应的实际资源的类别。在时间栏3297D中保存对性能值栏3297E的性能值进行测定的时间。在性能值栏3297E中保存与条目的实际资源ID栏3297B的实际资源ID对应的实际资源的时间栏3297D的时间的性能值。
图17是第一实施例所涉及的结构管理表的结构图。
结构管理表3298保存具有RPUID栏3298A、虚拟PORT资源ID栏3298B、WWN栏3298C、虚拟HostGroup栏3298D、虚拟VOL资源ID栏3298E以及LUN栏3298F的条目。
在RPUID栏3298A中保存RPU的RPUID。在虚拟PORT资源ID栏3298B中保存虚拟端口的资源ID(虚拟PORT资源ID)。在WWN栏3298C中保存与虚拟PORT资源ID栏3298B的资源ID对应的虚拟端口的WWN(WorldWideName:全球名称)。在虚拟HostGroup栏3298D中保存虚拟主机组(HostGroup)的标识符。在虚拟VOL资源ID栏3298E中保存虚拟卷的资源ID。在LUN栏3298F中保存与条目的虚拟VOL资源ID栏3298E的资源ID对应的虚拟卷的LUN(LogicalUnitNumber:逻辑单元号)。
图18是第一实施例所涉及的性能下限表的结构图。
性能下限表3265保存具有RPUID栏3265A、虚拟资源ID栏3265B以及性能要件栏3265C的条目。
在RPUID栏3265A中保存RPU的RPUID。在虚拟资源ID栏3265B中保存与条目的RPUID栏3265A对应的RPU中的虚拟资源的资源ID(虚拟资源ID)。在性能要件栏3265C中保存针对条目的RPUID栏3265A的RPUID的RPU中的虚拟资源ID栏3265B的资源ID的虚拟资源的性能要件、即必要的性能的下限值。作为性能要件,例如在虚拟资源为卷的情况下,保存针对卷要求的IOPS(InputOutputPerSecond:每秒输入输出)的下限值。此外,在图18示出的性能下限表3265中示出对针对卷的性能要件进行管理的示例,但是也可以对针对端口、存储装置或应用程序的性能要件进行管理。
接着,说明第一实施例所涉及的计算机系统中的处理动作。
首先,说明VDKC上限值设定处理。例如在对计算机系统新设定VDKC之后等通过外部管理服务器3000来执行VDKC上限值设定处理。作为VDKC上限值设定处理,例如,存在根据针对VDKC的许可费用的信息来设定与VDKC中的虚拟资源相关的上限值的VDKC上限值设定处理(参照图19)、根据已经向VDKC分配的池容量来设定与VDKC中的其他虚拟资源相关的上限值的VDKC上限值设定处理(参照图20)。
图19是第一实施例所涉及的VDKC上限值设定处理的第一例的流程图。
图19示出的VDKC上限值设定处理是根据针对VDKC的许可费用的信息来生成并设定与VDKC中的虚拟资源相关的上限值的处理。
外部管理服务器3000的上限值计算程序3230参照许可管理表3270,获取与各VDKC(RPU)对应的许可费用的信息(步骤F1001)。
接着,上限值计算程序3230根据各VDKC的许可费用的比率来计算各PDKC中的针对各VDKC的各资源的上限值(步骤F1002)。例如在各PDKC中存在RPU#01和RPU#02并且它们的许可费用的比率为2:1的情况下,以使针对RPU#01的资源的上限值与针对RPU#02的资源的上限值之比成为许可费用的比率的方式,对各虚拟资源的上限值进行计算。更具体地说,关于各PDKC中的各VDKC的池容量的上限值,以使针对RPU#01的资源的上限值与针对RPU#02的资源的上限值之比成为许可费用的比率的方式,对各PDKC的池容量合计进行计算。
此外,可以是,对于全部类别的虚拟资源,使各VDKC的资源的上限值之比成为许可费用的比率,另外,也可以使虚拟资源的一部分类别的上限值不依赖于许可费用的比率而设为固定。更具体地说,例如可以将各VDKC的卷的大小的上限值设为固定,将卷的数量的上限值设为许可费用的比率,另外,也可以将各VDKC的卷的大小的上限值设为许可费用的比率,将卷的数量的上限值设为固定。另外,也可以不将各VDKC的资源的上限值之比设为许可费用的比率,而是设为根据许可费用的比率计算出的比率。
接着,上限值计算程序3230将计算出的各资源的上限值设定于与管理侧虚拟资源上限值表3260的各资源对应的条目(步骤F1003)。
接着,存储管理程序3210与内部管理服务器2600的存储控制程序2321进行通信,对与虚拟资源上限表2331的各资源对应的上限值进行更新(步骤F1004)。由此,在各存储装置2000的虚拟资源上限表2331中设定计算出的资源的上限值。
图20是第一实施例所涉及的VDKC上限值设定处理的第二例的流程图。
图20示出的VDKC上限值设定处理是根据已经向VDKC分配的池容量来生成并设定与VDKC中的其他虚拟资源相关的上限值的处理。
外部管理服务器3000的上限值计算程序3230参照管理侧资源ID管理表3290和管理侧物理资源管理表3280,计算出已经向各VDKC(RPU)分配的每个PDKC的池容量的合计(池容量合计)(步骤F1005)。具体地说,通过参照管理侧资源ID管理表3290,确定通过各PDKC对各VDKC分配的池的实际资源ID,通过使用该实际资源ID并参照管理者侧物理资源管理表3280,来确定与实际资源ID对应的池容量,在每个PDKC中按各VDKC的容量来合计该池容量。
接着,上限值计算程序3230根据各PDKC的池容量合计、与各PDKC中的已对各VDKC分配的池容量合计的比率,来计算各PDKC中的针对各VDKC的各资源的上限值(步骤F1006)。例如,在某一PDKC中存在RPU#01和RPU#02,且该PDKC中的各RPU的池容量合计的比率为2:1的情况下,以使针对RPU#01的资源的上限值与针对RPU#02的资源的上限值之比成为各RPU的池容量合计的比率的方式,对该PDKC中的各虚拟资源的上限值进行计算。
此外,对于全部类别的虚拟资源,可以是各VDKC的资源的上限值之比成为各PDKC中的各RPU的池容量合计的比率,另外,也可以是,关于虚拟资源的一部分类别的上限值,不依赖于各RPU的池容量合计的比率而设为固定。更具体地说,例如,可以将各VDKC的卷的大小的上限值设为固定,将卷的数量的上限值设为各RPU的池容量合计的比率,另外,也可以将各VDKC的卷的大小的上限值设为各RPU的池容量合计的比率,将卷的数量的上限值设为固定。另外,也可以不将各VDKC的资源的上限值之比设为各PDKC中的各RPU的池容量合计的比率,而是设为根据各PDKC中的各RPU的池容量合计的比率计算出的比率。
接着,上限值计算程序3230将计算出的各资源的上限值设定于与管理侧虚拟资源上限值表3260的各资源对应的条目(步骤F1007)。
接着,存储管理程序3210与存储控制程序2321进行通信,对与虚拟资源上限表2331的各资源对应的上限值进行更新(步骤F1008)。由此,在各存储装置2000的虚拟资源上限表2331中设定计算出的资源的上限值。
接着,说明平均化设定处理。平均化设定处理为将虚拟资源对RPU分配的处理,在VDKC上限值设定处理结束之后执行。
图21是第一实施例所涉及的平均化设定处理的流程图。
外部管理服务器3000的存储管理程序3210在从管理者受理了针对VDKC的结构变更指示时(步骤F1300),开始执行变更对象选择处理(参照图22和图23)(步骤F1400)。当执行该变更对象选择处理时,选择进行资源变更的对象的PDKC。在此,在结构变更指示中例如包含确定变更虚拟资源的对象的VDKC的信息、确定要变更的对象的虚拟资源的信息。
接着,资源分配决定程序3220对RPU管理程序2322指示设定变更处理(参照图24和图25)的执行(步骤F1500)。此时,资源分配决定程序3220将通过变更对象选择处理得到的处理结果(例如,分配对象的RPU的RPUID、分配对象的资源的资源ID、针对该资源的虚拟资源ID等)发送至RPU管理程序2322。通过该设定变更处理对VDKC进行结构变更。此外,在设定变更处理结束之后,针对VDKC进行的结构变更的结果经由外部管理服务器3000通知给管理者。
图22是第一实施例所涉及的变更对象选择处理的第一流程图。图23是第一实施例所涉及的变更对象选择处理的第二流程图。此外,图22的流程图的标号A和图23的流程图的标号A表示流程图连续这一情况。
变更对象选择处理与图21的平均化设定处理的步骤F1400的处理对应。此外,在图22和图23中说明进行对VDKC追加端口(Potr)的变更的情况下的变更对象选择处理。
存储管理程序3210受理从DKC池管理者指定的、端口追加对象的VDKC以及所需的端口的规格(例如,端口的通信速度)(步骤F1401)。此外,端口追加对象的VDKC和所需的端口的规格包含在步骤F1300的结构变更指示中。
接着,资源分配决定程序3220参照管理侧虚拟资源上限表3260,来判断为了满足存储管理程序3210所受理的端口的规格而所需的端口数是否超出VDKC的能够分配的端口数的上限值(步骤F1402)。在其结果是为了满足所受理的端口的规格而所需的端口数超出VDKC的能够分配的端口数的上限值的情况下(步骤F1402:“是”),资源分配决定程序3220返回错误而结束处理(步骤F1403)。
另一方面,在为了满足所受理的端口的规格而所需的端口数没有超出VDKC的能够分配的端口数的上限值的情况下(步骤F1402:“否”),资源分配决定程序3220关于向对象的VDKC分配了资源的各PDKC,而参照管理侧虚拟资源上限表3260,计算能够分配的端口数的上限值,并且参照管理侧资源ID管理表3290,计算当前已经分配的端口数(步骤F1404)。
接着,资源分配决定程序3220参照任务管理表3295,检查针对共享同一PDKC的其他VDKC的处理(任务)的履历、未执行任务(步骤F1405)。具体地说,资源分配决定程序3220关于各PDKC而掌握在针对共享同一PDKC的其他VDKC的任务中分配的端口数以及通过未执行任务分配的预定的端口数。
接着,资源分配决定程序3220还考虑通过其他任务分配的端口数以及已分配的预定的端口数,判断是否存在具有如下端口数的PDKC,所述端口数未达到能够分配的端口数的上限值且满足所受理的规格(步骤F1406)。
在其结果为这种PDKC不存在的情况下(步骤F1406:“否”),资源分配决定程序3220返回错误而结束处理(步骤F1407)。
另一方面,在这种PDKC存在的情况下(步骤F1406:“是”),资源分配决定程序3220计算每个PDKC的、对所有VDKC分配的端口/对所有VDKC分配的LU的比率(R1)、关于所有PDKC的端口/LU的比率(R1)的平均值(A1)以及每个PDKC的、平均值(A1)与端口/LU的比率(R1)的差(D1)(步骤F1451)。在此,D1越小则表示该PDKC中的、端口/LU的比率(R1)越大、即端口的处理有余地这一情况。因而,当根据D1来选择分配端口的PDKC时,能够使从各PDKC分配的端口中的负荷平均化。
接着,资源分配决定程序3220计算向对象的VDKC分配的每个PDKC的向对象的VDKC分配的端口/向对象的VDKC分配的LU的比率(R2)、关于所有PDKC的端口/LU的比率(R2)的平均值(A2)、以及每个PDKC的、平均值(A2)与端口/LU的比率(R2)的差(D2)(步骤F1452)。在此,D2越小则表示关于对象的VDKC其PDKC中的端口/LU(R2)的比率越大、即从对象的VDKC来看其PDKC的端口的处理有余地这一情况。因而,当根据D2来选择分配端口的PDKC时,能够使从各PDKC分配的端口中的、与对象的VDKC相关的负荷平均化。
接着,资源分配决定程序3220在每个PDKC中计算D1+D2(步骤F1453)。
接着,资源分配决定程序3220选择D1+D2的值为最小的PDKC,来作为对VDKC分配端口的分配对象的PDKC(步骤F1454),从所选择的该PDKC中选择分配对象的端口,决定对该端口分配的虚拟资源ID,从而结束处理。通过该处理,能够适当地选择D1+D2为最小的PDKC、即端口的处理有余地并且与对象的VDKC相关的端口的处理有余地的PDKC。由此,能够使各PDKC间的端口的负荷平均化,并且能够使对象的VDKC中的各PDKC间的端口的负荷平均化。
图24是第一实施例所涉及的设定变更处理的第一流程图。图25是第一实施例所涉及的设定变更处理的第二流程图。此外,图24的流程图的标号B和图25的流程图的标号B表示流程图连续这一情况。设定变更处理与图21的平均化设定处理的步骤F1500的处理对应。
RPU管理程序2322根据变更对象选择处理的处理结果来获取分配对象的资源的实际资源ID和分配对象的RPU的RPUID(步骤F1501)。在此,在该流程图的处理的说明中,用“S”表示分配对象的资源的实际资源ID,用“T”表示分配对象的RPU的RPUID。
接着,RPU管理程序2322在资源ID管理表2326中检索实际资源ID栏2326A的值为“S”的条目,判断在该条目的虚拟资源ID栏2326D中是否注册有虚拟资源ID(步骤F1502)。
在其结果为在条目的虚拟资源ID栏2326D中注册有虚拟资源ID的情况下(步骤F1502:“是”),表示对实际资源ID“S”的资源已经附加了虚拟资源ID这一情况,RPU管理程序2322经由内部管理服务器2600或存储装置控制程序2321对管理者返回错误提示(步骤F1504),使处理进入到步骤F1506。
另一方面,在条目的虚拟资源ID栏2326D中没有注册虚拟资源ID的情况下(步骤F1502:“否”),表示对实际资源ID“S”的资源未附加虚拟资源ID这一情况,RPU管理程序2322在资源ID管理表2326的实际资源ID栏2326A的值为“S”的条目中,将RPUID栏2326C的值设定为“T”(步骤F1503),使处理进入到步骤F1506。
在步骤F1506中,RPU管理程序2322根据变更对象选择处理的处理结果,获取要附加虚拟资源ID的资源的实际资源ID以及虚拟资源ID。在此,在以后步骤的说明中,关于虚拟资源ID,用“P”表示分配对象的资源的实际资源ID,用“V”表示分配的虚拟资源ID。
RPU管理程序2322参照资源ID管理表2326,确定获取到的实际资源ID“P”的条目,从该条目的RPUID栏2326C中获取实际资源所属的RPU的RPUID。RPU管理程序2322判断获取到的RPUID与获取到的虚拟资源ID“V”的组是否已经注册在资源ID管理表2326中(步骤F1507)。具体地说,RPU管理程序2322判断RPUID与虚拟资源ID的组是否与某一个条目的RPUID栏2326C以及虚拟资源ID栏2326D的值的组一致。
在其结果为在RPUID与虚拟资源ID的组已经注册的情况下(步骤F1507:“是”),RPU管理程序2322将表示所指定的虚拟资源ID已经存在这一情况的错误提示经由内部管理服务器2600或存储装置控制程序2321,返回至请求者(步骤F1509),结束设定变更处理。由此,能够避免在VDKC中相同虚拟资源ID重复这一情况。
另一方面,在RPUID与虚拟资源ID的组未注册的情况下(步骤F1507:“否”),RPU管理程序2322在资源ID管理表2326的实际资源ID栏2326A的值为“P”的条目中,在虚拟资源ID栏2326D中保存虚拟资源ID“V”(步骤F1508),结束设定变更处理。由此,能够在VDKC内通过虚拟资源ID来确定分配对象的实际资源。
接着,说明第二实施例所涉及的计算机系统。
第二实施例所涉及的计算机系统进行以下处理,即从已经分配给RPU的池中作为资源而分配LU。第二实施例所涉及的计算机系统的结构基本上与第一实施例所涉及的计算机系统的结构相同。以下,以与第一实施例所涉及的计算机系统不同的点为中心来进行说明。
接着,说明第二实施例所涉及的计算机系统的处理动作。
图26是第二实施例所涉及的虚拟资源池物理资源对应表创建处理的流程图。
在后述的平均化设定处理前实施虚拟资源池物理资源对应表创建处理。
首先,资源分配决定程序3220开始执行设定变更处理(与图24和图25相同的处理)(步骤F2100)。此外,在第二实施例所涉及的设定变更处理中,在步骤F1501和步骤F1506中,根据从外部管理服务器3000发送的基于DKCPOOL管理者的结构变更指示而获取分配对象的资源的实际资源ID、分配对象的RPU的RPUID以及虚拟资源ID。
接着,存储管理程序3210开始执行表创建详细处理(参照图28)(步骤F2200),在表创建详细处理结束之后结束虚拟资源池物理资源对应表创建处理。
图28是第二实施例所涉及的表创建详细处理的流程图。
表创建详细处理与图26的步骤F2200的处理对应。
存储管理程序3210参照虚拟资源池物理资源对应表3240,检查所追加的资源的资源类别在被追加资源的VDKC中是否为新类别(步骤F2201),判断对VDKC追加的资源的资源类别是否为新类别(步骤S2202)。
在其结果为资源类别是新类别的情况下(步骤F2202:“是”),存储管理程序3210创建该资源用的新虚拟资源池(步骤F2203),使处理进入到步骤F2204。具体地说,存储管理程序3210决定新虚拟资源池的虚拟资源池ID。另一方面,在资源类别并非是新类别的情况下(步骤F2202:“否”),存储管理程序3210使处理进入到步骤F2204。
在步骤F2204中,存储管理程序3210将所追加的资源作为与该资源的资源类别对应的虚拟资源池的要素,向虚拟资源池物理资源对应表3240进行追加。具体地说,存储管理程序3210向虚拟资源池物理资源对应表3240追加如下条目,该条目包含所追加的资源的实际资源ID、该资源所属的PDKC的PDKCID、该资源的资源类别、该资源类别的资源所属的虚拟资源池的资源池ID以及追加了该资源的RPU的RPUID。
接着,说明第二实施例所涉及的平均化设定处理。
图27是第二实施例所涉及的平均化设定处理的流程图。
外部管理服务器3000的存储管理程序3210在从管理者受理了针对VDKC的结构变更指示时(步骤F2300),开始执行变更对象选择处理(参照图29至图31)(步骤F2400)。当执行该变更对象选择处理时,选择要进行资源变更的对象的PDKC和池。在此,例如,如果是创建LU的结构变更指示,则在结构变更指示中包含确定要追加LU的对象的VDKC的信息、确定要追加的LU的数量的信息。
接着,资源分配决定程序3220开始执行设定变更处理(参照图32)(步骤F2500)。通过该设定变更处理对VDKC进行结构变更。此外,在设定变更处理结束之后,将对VDKC进行的结构变更的结果通知给管理者。
图29是第二实施例所涉及的变更对象选择处理的第一流程图。图30是第二实施例所涉及的变更对象选择处理的第二流程图。图31是第二实施例所涉及的变更对象选择处理的第三流程图。此外,图29的流程图的标号C和图30的流程图的标号C表示流程图连续这一情况。另外,图29的流程图的标号D和图31的流程图的标号D表示流程图连续这一情况。
变更对象选择处理与图27的平均化设定处理的步骤F2400的处理对应。此外,在图29至图31中,说明对VDKC创建LU的情况下的变更对象选择处理。
存储管理程序3210从VDKC管理者受理要创建LU的VDKC的池以及要创建的LU的大小和数量(步骤F2401)。
接着,资源分配决定程序3220判断存储管理程序3210受理创建指示的LU的总容量是否超出能够在所指定的VDKC中创建的卷的容量的上限值(步骤F2402)。在其结果为存储管理程序3210所受理的LU的总容量超出能够在VDKC中创建的卷的容量的上限值的情况下(步骤F2402:“是”),资源分配决定程序3220返回错误而结束处理(步骤F2403)。
另一方面,在存储管理程序3210所受理的LU的总容量没有超出能够在所指定的VDKC中创建的卷的容量的上限值的情况下(步骤F2402:“否”),资源分配决定程序3220关于向对象的VDKC分配了资源的各PDKC,参照管理侧物理资源上限表3250和管理侧物理资源表3280,计算能够创建的LU的容量的上限值、当前已经创建的LU的容量以及空闲池容量(步骤F2404)。
接着,资源分配决定程序3220参照任务管理表3295,检查对共享同一PDKC的其他VDKC进行的处理(任务)的履历、未执行任务(步骤F2405)。具体地说,资源分配决定程序3220针对各PDKC,掌握在对共享同一PDKC的其他VDKC进行的任务中分配的LU的数量以及通过未执行任务而分配的预定的LU的数量。
接着,资源分配决定程序3220还考虑通过其他任务分配的LU的数量以及所分配的预定的LU的数量,判断是否存在未达到能够创建的LU的总容量的上限值的PDKC(步骤F2406)。
在其结果为这种PDKC不存在的情况下(步骤F2406:“否”),资源分配决定程序3220使处理进入到图31的步骤S2461。
另一方面,在这种PDKC存在的情况下(步骤F2406:“是”),资源分配决定程序3220计算每个PDKC的向全部VDKC分配的LU的容量(R1)、关于所有PDKC的LU的容量(R1)的平均值(A1)、以及每个PDKC的、平均值(A1)与LU的容量(R1)的差(D1)(步骤F2451)。在此,D1越大则表示在该PDKC中分配的LU的容量越小这一情况。因而,当根据D1来选择分配LU的PDKC时,能够使在各PDKC间分配的LU的容量平均化。
接着,资源分配决定程序3220计算向对象的VDKC分配的每个PDKC的向VDKC分配的LU的容量(R2)、关于所有PDKC的、对象的VDKC的LU的容量(R2)的平均值(A2)、以及每个PDKC的、平均值(A2)与LU的容量(R2)的差(D2)(步骤F2452)。在此,D2越大则表示该PDKC中的、与对象的VDKC相关的LU的容量越小这一情况。因而,当根据D2来选择分配LU的PDKC时,能够在各PDKC间使与对象的VDKC相关的LU的容量平均化。
接着,资源分配决定程序3220在每个PDKC中计算D1+D2(步骤F2453)。
接着,资源分配决定程序3220将D1+D2的值为最小的PDKC选择为创建LU的对象的PDKC,将该PDKC中的一个池选择为创建LU的对象的池(步骤F2454),从而结束处理。
另一方面,在步骤F2461中,资源分配决定程序3220将预定创建的LU的个数(N个)分割为多个(M个:M为N以下的数量)组(步骤F2461)。接着,资源分配决定程序3220将一个组作为处理对象,来执行步骤F2451~F2455的处理(步骤F2462)。
接着,资源分配决定程序3220判断是否对在步骤F2461中分割的所有组执行了步骤F2462的处理(步骤F2463),在没有对所有组执行处理的情况下(步骤F2463:“否”),使处理进入到步骤F2462,对未处理的组执行处理,另一方面,在已经对所有组执行了处理的情况下(步骤F2463:“是”),结束变更对象选择处理。根据步骤F2461~F2463的处理,按LU的组来选择创建LU的对象的PDKC和池。根据上述处理,能够恰当地选择分配要创建的LU的PDKC和池。
图32是第二实施例所涉及的设定变更处理的流程图。
设定变更处理与图27的平均化设定处理的步骤F2500的处理对应。
存储管理程序3210根据通过变更对象选择处理所选择的PDKC的池以及要创建的LU的数量来确定设定处理,向任务管理表3295注册与设定处理对应的任务(步骤F2501)。接着,存储管理程序3210将任务的内容通知给创建LU的对象的各PDKC,使其执行与任务对应的设定处理(步骤F2502)。由此,在各PDKC中,在所选择的池中创建所指定的数量的LU。
接着,说明第三实施例所涉及的计算机系统。
第三实施例所涉及的计算机系统在计算机系统中的存储装置的横向扩展(scaleout)时进行资源的分配处理。第三实施例所涉及的计算机系统的结构基本上与第一实施例所涉及的计算机系统的结构相同。以下,以与第一实施例所涉及的计算机系统不同的点为中心来进行说明。
接着,说明第三实施例所涉及的计算机系统的处理动作。
图33是第三实施例所涉及的VDKC下限值设定处理的流程图。
VDKC下限值设定处理为根据用户所决定的SLA(ServiceLevelAgreement:服务水平协议)保证的范围即目标性能来生成并设定与VDKC中的虚拟资源相关的下限值的处理。
外部管理服务器3000的上限值计算程序3230从用户受理每个VOL或者以存储装置为单位的目标性能值(步骤F3001)。接着,存储管理程序3210在性能下限表3265中设定所受理的目标性能值(步骤F3002),从而结束处理。
图34是第三实施例所涉及的平均化设定处理的流程图。
在将存储装置新追加到计算机系统之后执行平均化设定处理。
存储管理程序3210执行RPU创建处理(参照图35)(步骤F3300)。根据该RPU创建处理,在新追加的存储装置2000中创建RPU。
接着,存储管理程序3210执行用于决定向RPU分配的资源的资源决定分配处理(步骤F3400)。作为资源决定分配处理,存在仅将所追加的资源设为处理对象的资源决定分配处理(参照图36)以及还将现有资源设为处理对象的资源决定分配处理(参照图37和图38)。
图35是第三实施例所涉及的RPU创建处理的流程图。
RPU创建处理与图34的平均化设定处理的步骤F3300的处理对应。
存储管理程序3210与所有存储装置2000的RPU管理程序2322进行通信,获取在RPU管理表2325中设定的已有的虚拟存储装置的RPUID、供应商、型号以及S/N(步骤F3301)。
接着,存储管理程序3210与新追加的存储装置2000的RPU管理程序2322进行通信,将在步骤S3301中获取的RPUID、供应商、型号以及S/N注册到RPU管理表2325(步骤F3302)。
RPU管理程序2322将RPU管理表2325的与所注册的RPU对应的条目的状态栏2325F设定为有效(步骤F3303)。之后,存储管理程序3210结束RPU创建处理。
图36是第三实施例所涉及的资源决定分配处理的第一例的流程图。
该资源决定分配处理与图34的平均化设定处理的步骤F3400的处理对应,是仅将所追加的存储装置的资源设为处理对象的处理。
存储管理程序3210获取新追加的存储装置2000所具备的端口的信息(步骤F3401)。接着,存储管理程序3210参照性能下限表3265来计算各VDKC的平均性能要件(A),参照性能履历表3297来计算VDKC的当前平均性能值(C),计算平均性能要件(A)与平均性能值(C)的差值(A-C),按差值(A-C)从小到大的顺序对VDKC设定点数S1(0、1、2···的顺序)(步骤F3402)。在此,如果差值(A-C)为负,则表示超出针对VDKC的性能要件而性能没有余地这一情况,如果差值(A-C)为正,则表示没有超出针对VDKC的性能要件而性能具有余地这一情况。因此,通过按差值(A-C)从小到达的顺序来设定点数S1,能对差值(A-C)小、即性能没有余地的VDKC设定较少点数。
接着,存储管理程序3210参照性能履历表3297,按单位期间(例如1天等)的性能增加的倾向从大到小的顺序对VDKC设定点数S2(0、1、2···的顺序)(步骤F3403)。在此,性能增加的倾向大的VDKC表示今后所需的性能增加的可能性高这一情况。因此,通过按性能增加的倾向从大到小的顺序对VDKC设定点数S2,能对今后性能变得没有余地的可能性高的VDKC设定较少点数。
接着,存储管理程序3210在各VDKC的每一个中计算S1+S2,按S1+S2的值从小到大的顺序对VDKC进行排序(步骤F3404)。在此,S1+S2的值越小则意味着是性能没有余地且性能变得没有余地的可能性越高的VDKC这一情况,从这种VDKC起依次进行排序。
接着,存储管理程序3210针对所追加的PDKC的端口,按端口的硬件规格从好到差的顺序,根据步骤F3404的排序,来决定所分配的VDKC(步骤F3405)。在此,作为分配目的地的决定方法,可以以将端口逐一地按照排序的顺序向各VDKC分配的方式决定,也可以以根据S1+S2的比率来向各VDKC分配端口的方式决定。此外,在向VDKC分配的端口数达到能够向该VDKC分配的端口的上限值的情况下,不对该VDKC分配更多的端口。
接着,存储管理程序3210使RPU管理程序2322执行与图21的步骤F1500的处理相同的处理,由此对各VDKC分配端口(步骤F3406),从而结束处理。根据该处理,能够适当地分配所追加的存储装置的资源。
图37是第三实施例所涉及的资源决定分配处理的第二例的第一流程图。图38是第三实施例所涉及的资源决定分配处理的第二例的第二流程图。此外,图37的流程图的标号E和图38的流程图的标号E表示流程图连续这一情况。
该资源决定分配处理与图34的平均化设定处理的步骤F3400的处理对应,是将全部存储装置2000的资源设为处理对象的处理。
存储管理程序3210获取全部存储装置2000所具备的端口的信息(步骤F3407)。接着,存储管理程序3210参照性能下限表3265来计算出各VDKC的平均性能要件(A),参照性能履历表3297来计算出各VDKC的当前平均性能值(C),计算各VDKC的平均性能要件(A)与平均性能值(C)的差值(A-C),按差值(A-C)从小到大的顺序对VDKC设定点数S1(0、1、2···的顺序)(步骤F3408)。
接着,存储管理程序3210参照性能履历表3297,按单位期间的性能增加的倾向从大到小的顺序对VDKC设定点数S2(0、1、2···的顺序)(步骤F3409)。
接着,存储管理程序3210在每个VDKC中计算S1+S2,按S1+S2的值从小到大的顺序对VDKC进行排序(步骤F3410)。
接着,存储管理程序3210针对所有PDKC的端口,按端口的硬件规格从好到差的顺序,根据步骤F3410的排序,决定要分配的VDKC(步骤F3411)。在此,作为分配目的地的决定方法,可以以将端口逐一按排序的顺序向各VDKC分配的方式决定,也可以以根据S1+S2的比率向各VDKC分配端口的方式决定。此外,在向VDKC分配的端口数达到能够向该VDKC分配的端口的上限值的情况下,不对该VDKC分配更多的端口。
接着,存储管理程序3210判断跨越VDKC的资源(在此为端口)的移动是否存在(步骤F3413)。
在其结果为跨越VDKC的资源的移动不存在的情况下(步骤F3413:“否”),存储管理程序3210使RPU管理程序2322执行与步骤F1500相同的处理,将要追加的端口向VDKC分配(步骤F3421),从而结束处理。
另一方面,在跨越VDKC的资源的移动存在的情况下(步骤F3413:“是”),存储管理程序3210进一步判断预定向VDKC分配的未分配资源是否存在(步骤S3414)。在其结果为预定向VDKC分配的未分配资源不存在的情况下(步骤S3414:“否”),存储管理程序3210返回错误而结束处理(步骤F3415)。
另一方面,在预定向VDKC分配的未分配资源存在的情况下(步骤S3414:“是”),存储管理程序3210使RPU管理程序2322执行与步骤F1500相同的处理,向被分配预定变更VDKC的端口的VDKC分配预定分配的未分配的端口(步骤F3416)。
接着,存储管理程序3210参照结构管理表3298,向新分配的端口分配向预定变更的端口分配的虚拟端口编号(步骤F3417)。
接着,存储管理程序3210将在预定变更的端口中设定的路径切换为新分配的端口的路径(path),将新分配的端口设为主路径(步骤F3418)。这样,对新分配的端口设定预定变更的端口的虚拟端口编号,因此即使在从主机1000对VOL发送用于访问的SCSIInquiryID(包含虚拟装置ID、虚拟端口编号以及虚拟VOL编号)的情况下,也能够无障碍地进行处理。因此,不需要使存储装置2000停止就能够将预定变更的端口向其他VDKC分配。
接着,存储管理程序3210向变更目的地的VDKC分配预定变更的端口(步骤F3419)。具体地说,例如,存储管理程序3210从资源ID管理表2326中删除预定变更的端口的虚拟资源ID(例如,将预定变更的端口的虚拟资源ID更新为“null”),之后,与步骤F1500同样地,对RPU管理程序2322指示在变更目的地VDKC中设定预定变更的端口的信息这一内容。
接着,存储管理程序3210判断是否已经对所有VDKC完成了变更对象的端口的变更设定(步骤F3420),在没有对所有VDKC完成变更对象的端口的变更设定的情况下(步骤F3420:“否”),使处理进入到步骤F3417。另一方面,在已经对所有VDKC完成了变更对象的端口的变更设定的情况下(步骤F3420:“是”),存储管理程序3210结束处理。由此,不仅能够将所追加的存储装置的资源作为对象、还能够将所有存储装置2000的资源作为对象而进行资源的分配变更。
接着,说明第四实施例所涉及的计算机系统。
第四实施例所涉及的计算机系统进行如下处理,即从已经向RPU分配的池中作为资源而分配SS(快照)的VOL。SS的VOL优选汇集于同一存储装置2000,因此第四实施例所涉及的计算机系统以尽可能汇集于同一存储装置2000的方式分配SS的VOL。第四实施例所涉及的计算机系统的结构基本上与第二实施例所涉及的计算机系统的结构相同。以下,以与第二实施例所涉及的计算机系统不同的点为中心来进行说明。
基于第四实施例所涉及的计算机系统进行的将资源以汇集的方式进行设定的资源汇集设定处理为以下处理:在第二实施例所涉及的图27示出的平均化设定处理中,代替变更对象选择处理(步骤F2400)而执行图39至图41示出的资源汇集时的变更对象选择处理,代替结构变更处理(步骤F2500)而执行图42示出的设定变更处理。
图39是第四实施例所涉及的资源汇集时的变更对象选择处理的第一流程图。图40是第四实施例所涉及的资源汇集时的变更对象选择处理的第二流程图。图41是第四实施例所涉及的资源汇集时的变更对象选择处理的第三流程图。此外,图39的流程图的标号F和图40的流程图的标号F表示流程图连续这一情况。另外,图39的流程图的标号G和图41的流程图的标号G表示流程图连续这一情况。
存储管理程序3210从VDKC管理者受理创建SS的VOL的VDKC的R-池、作为SS的基础的主卷(primaryvolume)(P-VOL)以及要创建的SS的数量的指定(步骤F4001)。
接着,资源分配决定程序3220判断与存储管理程序3210受理创建指示的SS数对应的卷数是否超出能够在所指定的VDKC中创建的卷数的上限值(步骤F4002)。在其结果为存储管理程序3210所受理的卷数超出能够在VDKC中创建的卷数的上限值的情况下(步骤F4002:“是”),资源分配决定程序3220返回错误而结束处理(步骤F4003)。
另一方面,在存储管理程序3210所受理的VOL数没有超出能够在所指定的VDKC中创建的卷数的上限值的情况下(步骤F4002:“否”),资源分配决定程序3220针对向对象的VDKC分配资源的各PDKC,参照管理侧虚拟资源上限表3250和管理侧物理资源表3280,计算能够创建的VOL数的上限值以及当前已经创建的VOL数(步骤F4004)。
接着,资源分配决定程序3220参照任务管理表3295,检查对共享同一PDKC的其他VDKC进行的处理(任务)的履历、未执行任务(步骤F4005)。具体地说,资源分配决定程序3220关于各PDKC,掌握在对共享同一PDKC的其他VDKC进行的任务中分配的VOL数以及通过未执行任务分配的预定的VOL数。
接着,资源分配决定程序3220还考虑通过其他任务分配的VOL数以及所分配的预定的VOL数,判断没有达到能够创建的VOL数的上限值的PDKC是否存在(步骤F4006)。
在其结果为这种PDKC不存在的情况下(步骤F4006:“否”),资源分配决定程序3220使处理进入到图41的步骤S4061。
另一方面,在这种PDKC存在的情况下(步骤F4006:“是”),资源分配决定程序3220判断保持所指定的P-VOL的PDKC是否存在(步骤F4051)。
在其结果为保持P-VOL的PDKC存在的情况下(步骤F4051:“是”),资源分配决定程序3220将该PDKC中的、该PDKC内部的池选择为变更对象(步骤F4052),从而结束处理。
另一方面,在保持P-VOL的PDKC不存在的情况下(步骤F4051:“否”),资源分配决定程序3220计算每个PDKC的向所有VDKC分配的VOL数(R1)、关于所有PDKC的VOL数(R1)的平均值(A1)、以及每个PDKC的、平均值(A1)与VOL数(R1)的差(D1)(步骤F4053)。在此,D1越大则表示在该PDKC中分配的VOL数越少这一情况。因而,当根据D1来选择分配VOL的PDKC时,能够使在各PDKC间分配的VOL数平均化。
接着,资源分配决定程序3220计算向对象的VDKC分配的每个PDKC的向对象的VDKC分配的VOL数(R2)、关于所有PDKC的、对象的VDKC的VOL数(R2)的平均值(A2)、以及每个PDKC的、平均值(A2)与VOL数(R2)的差(D2)(步骤F4054)。在此,D2越大则表示该PDKC中的、与对象的VDKC相关的VOL数越少这一情况。因而,当根据D2来选择分配VOL的PDKC时,能够在各PDKC间使与对象的VDKC相关的VOL数平均化。
接着,资源分配决定程序3220在每个PDKC中计算D1+D2(步骤F4055)。
接着,资源分配决定程序3220将D1+D2的值为最大的PDKC选择为创建VOL的对象的PDKC,将该PDKC中的一个池选择为创建VOL的对象的池(步骤F4056),从而结束处理。由此,能够决定能够汇集并保存所有SS的VOL的一个PDKC的池。
另一方面,在步骤F4061中,资源分配决定程序3220将预定创建的SS的个数(N个)分割为多个(M个:M的初始值为2)组(步骤F4061)。接着,资源分配决定程序3220将各组设为处理对象,执行步骤F4051~F4056的处理(步骤F4062)。
接着,资源分配决定程序3220判断是否通过步骤F4062的处理对在步骤F4061中分割的所有组决定了创建VOL的PDKC和池(步骤F4063),在未能对所有组进行决定的情况下(步骤F4063:“否”),对M加上1(步骤F4064),使处理进入到步骤F4061。另一方面,在对所有组进行了决定的情况下(步骤F4063:“是”),资源分配决定程序3220结束处理。
根据该步骤F4061~F4064的处理,选择能够在尽可能少数的PDKC中汇集与SS对应的VOL那样的PDKC和池的组。
图42是第四实施例所涉及的设定变更处理的流程图。
存储管理程序3210判断通过资源汇集时的变更对象选择处理选择的变更对象的PDKC是否为所指定的P-VOL所存在的PDKC(步骤F4071)。
在其结果为变更对象的PDKC为所指定的P-VOL所存在的PDKC的情况下(步骤F4071:“是”),存储管理程序3210判断在该PDKC的池中是否存在能够创建SS的VOL的空闲容量(步骤F4072)。
在其结果为在该PDKC的池中不存在能够创建SS的VOL的空闲容量的情况下(步骤F4072:“否”),存储管理程序3210对该PDKC新创建池,并将其选择为创建VOL的池,向VDKC分配(步骤F4073),使处理进入到步骤F4075。另一方面,在该PDKC的池中存在能够创建SS的VOL的空闲容量的情况下(步骤F4072:“是”),存储管理程序3210将该PDKC内的空闲容量最多的池选择为创建VOL的池(步骤F4074),使处理进入到步骤F4075。
另一方面,在变更对象的PDKC并非是所指定的P-VOL所存在的PDKC的情况下(步骤F4071:“否”),存储管理程序3210判断在该PDKC的池中是否存在能够创建SS的VOL的空闲容量(步骤F4076)。
在其结果为在该PDKC的池中不存在能够创建SS的VOL的空闲容量的情况下(步骤F4076:“否”),存储管理程序3210对该PDKC新创建池,并将其选择为创建VOL的池,向VDKC分配(步骤F4077),使处理进入到步骤F4079。另一方面,在该PDKC的池中存在能够创建SS的VOL的空闲容量的情况下(步骤F4076:“是”),存储管理程序3210将该PDKC内的空闲容量最多的池选择为创建VOL的池(步骤F4078),使处理进入到步骤F4079。
在步骤F4079中,存储管理程序3210执行以下任一个处理:(a)将P-VOL转移到该PDKC,将所转移的P-VOL与所选择的池建立关联;(b)将P-VOL通过外部连接与该PDKC进行连接,并将其与所选择的池建立关联;以及(c)将P-VOL复制到该PDKC并与所选择的池建立关联。通过执行(a)、(b)以及(c)中的任一个处理,能够在变更对象的PDKC中创建SS的V-VOL。之后,存储管理程序3210使处理进入到步骤F4075。
在步骤F4075中,存储管理程序3210生成SS的虚拟VOL(V-VOL)。
接着,存储管理程序3210根据所选择的PDKC的池和要创建的SS的数量来确定设定处理(SS创建),向任务管理表3295注册与设定处理对应的任务(步骤F4080)。接着,存储管理程序3210将任务的内容通知给创建VOL的对象的PDKC,使其执行与任务对应的设定处理(步骤F4081)。接着,存储管理程序3210将所创建的SS的虚拟VOL向VDKC分配(步骤F4082),从而结束处理。由此,在PDKC中,在所选择的池中创建所指定的数量的SS的V-VOL。
接着,说明第五实施例所涉及的计算机系统。
关于第五实施例所涉及的计算机系统,在计算机系统中,追加新许可,进行追加新VDKC时的资源的分配处理。第五实施例所涉及的计算机系统的结构基本上与第一实施例所涉及的计算机系统的结构相同。以下,以与第一实施例所涉及的计算机系统不同的点为中心来进行说明。
图43是第五实施例所涉及的VDKC的上限值设定处理的流程图。
存储管理程序3210从VDKC管理者或DKCPOOL管理者受理新追加的VDKC的RPUID、供应商、型号、序列号以及许可信息的指定(步骤F5001)。
接着,存储管理程序3210将所指定的RPUID、供应商、型号以及序列号向所有的存储装置2000的RPU管理程序2322发送,根据这些信息来更新RPU管理表2325(步骤F5002)。接着,上限值计算程序3320将所指定的许可信息设定于许可管理表3270(步骤F5003)。
接着,上限值计算程序3230根据各VDKC的许可费用的比率,来计算各PDKC中的针对各VDKC的各资源的上限值(步骤F5004)。
接着,上限值计算程序3230判断计算出的上限值是否低于现有资源数(或容量、性能)(步骤F5005)。在其结果为计算出的上限值低于现有资源数的情况下(步骤F5005:“是”),上限值计算程序3230保存现有资源数(或容量、性能)与计算出的上限值的差值(步骤F5006),使处理进入到步骤F5007。另一方面,在计算出的上限值不低于现有资源数的情况下(步骤F5005:“否”),上限值计算程序3230使处理进入到步骤F5007。
在步骤F5007中,上限值计算程序3230判断是否计算出了针对所有VDKC的资源的上限值。在其结果为没有计算出针对所有VDKC的资源的上限值的情况下(步骤F5007:“否”),上限值计算程序3230使处理进入到步骤F5004,以未处理的VDKC为处理对象而执行处理,另一方面,在已经计算出针对所有VDKC的资源的上限值的情况下(步骤F5007:“是”),使处理进入到步骤F5008。
在步骤F5008中,上限值计算程序3230判断差值的合计(差值合计值)是否为0。在其结果为差值合计值不是0的情况下(步骤F5008:“否”),上限值计算程序3230针对无差值的VDKC(现有分配资源数(量)不低于新分配预定的上限的VDKC),执行在从资源上限值去掉差值合计值之后进行再分配的计算(从步骤F5004起的处理)(步骤F5010)。具体地说,例如,关于各种资源上限值,上限值计算程序3230从资源上限值(虚拟资源上限值)的合计值(A)中减去已经向具有差值的一个以上的VDKC分配的资源数合计(B),关于减去后的值(A-B),根据不存在差值的VDKC与所追加的VDKC的许可比率来实施再分配计算。减去后的值(A-B)为能够分配的资源上限数。另外,也可以是,在直到VDKC剩余一个为止差值不会消失的情况下,输出错误。也就是说,在以新基准来分配上限的事例中,在已经分配完成的资源超出其上限的情况下,该VDKC的上限值不被变更,在剩余的VDKC中,根据除去超出上限的VDKC的资源而得到的值来实施再分配。
另一方面,在差值合计值为0的情况下(步骤F5008:“是”),存储管理程序3210与存储控制程序2321进行通信,更新虚拟资源上限表2331(步骤F5009),从而结束处理。
如上所述,根据第五实施例所涉及的计算机系统,在追加新许可而追加新VDKC时,能够恰当地进行资源分配。
以上,说明了几个实施例,但是本发明并不限定于这些实施例,在不脱离其宗旨的范围内能够进行各种变更是不言而喻的。例如,也可以构成对第一实施例至第五实施例中的至少两个实施例所涉及的计算机系统进行组合而得到的计算机系统。另外,例如,也可以将实际资源和实际存储装置分别称为物理资源和物理存储装置。
附图标记说明
1000:主机计算机,2000:存储装置,3000:外部管理服务器。

Claims (15)

1.一种计算机系统,具有:
存储系统,其由具有多个实际资源的一个以上的实际存储装置构成;以及
管理系统,其与所述存储系统相连接,
所述管理系统根据第一信息和第二信息,从所述一个以上的实际存储装置中将实际资源或基于该实际资源的虚拟资源作为租户用资源而向所述租户分配,其中,所述第一信息包含与各实际存储装置的实际资源相关的上限值,所述第二信息是与租户能够使用的资源即租户用资源或作为成为该租户用资源的基础的资源而被分配的实际资源相关的上限值。
2.根据权利要求1所述的计算机系统,其特征在于,
所述一个以上的实际存储装置为多个实际存储装置,
所述管理系统从所述多个实际存储装置中将实际资源或基于该实际资源的虚拟资源作为租户用资源而向所述租户分配。
3.根据权利要求2所述的计算机系统,其特征在于,
向所述租户分配的一个以上的租户用资源或成为这些租户用资源的基础的多个实际资源分散在所述多个存储装置中。
4.根据权利要求3所述的计算机系统,其特征在于,
租户用资源为虚拟资源,
所述第二信息为与成为所述租户用资源的基础的实际资源相关的上限值。
5.根据权利要求4所述的计算机系统,其特征在于,
与所述实际资源相关的上限值为关于所述实际资源的数量的上限值。
6.根据权利要求5所述的计算机系统,其特征在于,
作为租户用资源,存在分配给基于多个实际存储装置的虚拟存储装置的虚拟端口,
所述多个实际存储装置具有基于多个虚拟端口的多个实际端口,
所述管理系统在追加所述租户能够利用的虚拟端口时,根据所述第一信息和所述第二信息,将成为所述租户能够利用的虚拟端口的基础的实际端口向所述租户分配。
7.根据权利要求6所述的计算机系统,其特征在于,
至少一个实际存储装置提供作为逻辑性的存储设备的实际逻辑单元,
所述虚拟存储装置具有虚拟逻辑单元,该虚拟逻辑单元被分配有成为该虚拟存储装置的基础的一个以上的实际存储装置所具有的实际逻辑单元,
所述管理系统根据成为虚拟端口的基础的实际端口的数量与由实际端口担当且分配给虚拟存储装置的实际逻辑单元的数量之间的比率,将虚拟端口向所述租户分配。
8.根据权利要求7所述的计算机系统,其特征在于,
作为所述租户用资源存在虚拟逻辑单元,
关于所述第一信息和所述第二信息中的至少一个,与实际资源相关的上限值为能够分配的实际逻辑单元的容量。
9.根据权利要求8所述的计算机系统,其特征在于,
所述管理系统在追加所述租户能够利用的虚拟逻辑单元时,根据所述第一信息和所述第二信息,将成为所述租户能够利用的虚拟逻辑单元的基础的实际逻辑单元向所述租户分配。
10.根据权利要求2所述的计算机系统,其特征在于,
分配给所述租户的一个以上的租户用资源或成为这些租户用资源的基础的多个实际资源汇集在一个存储装置中。
11.根据权利要求10所述的计算机系统,其特征在于,
至少一个实际存储装置提供作为逻辑性的存储设备的实际逻辑单元,
基于多个实际存储装置的虚拟存储装置具有虚拟逻辑单元,该虚拟逻辑单元被分配有成为该虚拟存储装置的基础的一个以上的实际存储装置所具有的实际逻辑单元,
作为租户用资源,存在快照用虚拟逻辑单元,
所述管理系统在追加所述租户能够利用的快照用虚拟逻辑单元时,根据所述第一信息和所述第二信息,将成为所述租户能够利用的快照用虚拟逻辑单元的基础的实际逻辑单元向所述租户分配。
12.根据权利要求2所述的计算机系统,其特征在于,
所述管理系统在对所述计算机系统追加实际存储装置时,根据所述第一信息和所述第二信息,从多个实际存储装置中将实际资源或基于该实际资源的虚拟资源作为租户用资源而向所述租户分配。
13.根据权利要求3所述的计算机系统,其特征在于,
所述第二信息为关于对所述租户分配的租户用资源的性能值的上限值。
14.根据权利要求1所述的计算机系统,其特征在于,
所述管理系统在追加所述租户能够使用的实际存储装置时或追加新的租户能够使用的租户用资源时,根据所述第一信息和所述第二信息,从所述一个以上的实际存储装置中将实际资源或基于该实际资源的虚拟资源作为租户用资源而向所述租户或新租户分配。
15.一种资源管理方法,参照第一信息和第二信息,其中,所述第一信息包含与具有多个实际资源的一个以上的实际存储装置各自的实际资源相关的上限值,所述第二信息是与租户能够使用的资源即租户用资源或作为成为该租户用资源的基础的资源而被分配的实际资源相关的上限值,
根据所述第一信息和所述第二信息,从所述一个以上的实际存储装置中将实际资源或基于该实际资源的虚拟资源作为租户用资源而向所述租户分配。
CN201380073457.9A 2013-05-15 2013-05-15 计算机系统以及资源管理方法 Active CN105074674B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/063530 WO2014184893A1 (ja) 2013-05-15 2013-05-15 計算機システム及びリソース管理方法

Publications (2)

Publication Number Publication Date
CN105074674A true CN105074674A (zh) 2015-11-18
CN105074674B CN105074674B (zh) 2018-09-28

Family

ID=51897909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380073457.9A Active CN105074674B (zh) 2013-05-15 2013-05-15 计算机系统以及资源管理方法

Country Status (6)

Country Link
US (1) US9961015B2 (zh)
JP (1) JP6121527B2 (zh)
CN (1) CN105074674B (zh)
DE (1) DE112013006414T5 (zh)
GB (1) GB2528584A (zh)
WO (1) WO2014184893A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107633045A (zh) * 2017-09-15 2018-01-26 龙存(苏州)科技有限公司 一种云存储服务中租户数据容量的统计方法及其系统
CN108471354A (zh) * 2017-02-23 2018-08-31 中华电信股份有限公司 多租户软件定义网络中虚拟网络流表弹性切割系统及方法
CN110413378A (zh) * 2019-07-30 2019-11-05 上海金融期货信息技术有限公司 一种云计算下的计算资源创建方法和系统

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750538B (zh) * 2013-12-27 2020-03-03 伊姆西Ip控股有限责任公司 用于为目标应用提供虚拟存储池的方法和系统
US10097410B2 (en) * 2014-06-26 2018-10-09 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments
US10152270B2 (en) * 2014-11-28 2018-12-11 Hitachi, Ltd. Storage system
JP2017161990A (ja) * 2016-03-07 2017-09-14 APRESIA Systems株式会社 通信装置
US10680902B2 (en) 2016-08-31 2020-06-09 At&T Intellectual Property I, L.P. Virtual agents for facilitation of network based storage reporting
CN108667886B (zh) * 2017-04-01 2020-07-28 华为技术有限公司 提供PaaS服务的方法、管理系统和云计算服务架构
US10768837B2 (en) * 2018-10-31 2020-09-08 EMC IP Holding Company LLC Non-disruptive migration of a virtual volume in a clustered data storage system
US11196679B2 (en) * 2020-03-27 2021-12-07 Arista Networks, Inc. Methods and systems for resource optimization
JP7191906B2 (ja) 2020-09-09 2022-12-19 株式会社日立製作所 リソース割当制御装置、計算機システム、及びリソース割当制御方法
JP7412405B2 (ja) * 2021-12-23 2024-01-12 株式会社日立製作所 情報処理システム、情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100125715A1 (en) * 2008-11-18 2010-05-20 Hitachi, Ltd. Storage System and Operation Method Thereof
CN102340533A (zh) * 2011-06-17 2012-02-01 中兴通讯股份有限公司 多租户系统及多租户系统存取数据的方法
CN102651775A (zh) * 2012-03-05 2012-08-29 国家超级计算深圳中心(深圳云计算中心) 基于云计算的多租户共享对象管理的方法、设备及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4400126B2 (ja) * 2003-08-08 2010-01-20 株式会社日立製作所 仮想一元化ネットワークストレージシステムにおける一元的なディスク使用量制御方法
JP4281658B2 (ja) * 2004-09-24 2009-06-17 日本電気株式会社 ファイルアクセスサービスシステムとスイッチ装置及びクオータ管理方法並びにプログラム
JP2006285808A (ja) 2005-04-04 2006-10-19 Hitachi Ltd ストレージシステム
JP4963892B2 (ja) 2006-08-02 2012-06-27 株式会社日立製作所 仮想ストレージシステムの構成要素となることが可能なストレージシステムの制御装置
JP5439607B2 (ja) * 2010-09-14 2014-03-12 株式会社日立製作所 サーバ装置及びサーバ装置の制御方法
JP2012133630A (ja) * 2010-12-22 2012-07-12 Nomura Research Institute Ltd ストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法
JP5720324B2 (ja) * 2011-03-11 2015-05-20 日本電気株式会社 シンクライアント環境提供システム、サーバ、シンクライアント環境管理方法、及びシンクライアント環境管理プログラム
US20120263191A1 (en) * 2011-04-12 2012-10-18 Red Hat Israel, Inc. Mechanism For Managing Quotas In a Distributed Virtualization Environment
US8832687B2 (en) * 2011-04-20 2014-09-09 Red Hat Israel, Ltd. Managing quotas in a distributed virtualization environment
US8671407B2 (en) * 2011-07-06 2014-03-11 Microsoft Corporation Offering network performance guarantees in multi-tenant datacenters
US9158940B1 (en) * 2011-07-19 2015-10-13 Open Invention Network, Llc Dynamic virtual storage creation and provisioning of virtual machine resources
US8959389B2 (en) * 2011-11-23 2015-02-17 International Business Machines Corporation Use of a virtual drive as a hot spare for a raid group
US9244742B2 (en) * 2012-05-31 2016-01-26 Vmware, Inc. Distributed demand-based storage quality of service management using resource pooling
US9569569B1 (en) * 2012-06-18 2017-02-14 EMC IP Holding Company LLC Data storage system modeling

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100125715A1 (en) * 2008-11-18 2010-05-20 Hitachi, Ltd. Storage System and Operation Method Thereof
CN102340533A (zh) * 2011-06-17 2012-02-01 中兴通讯股份有限公司 多租户系统及多租户系统存取数据的方法
CN102651775A (zh) * 2012-03-05 2012-08-29 国家超级计算深圳中心(深圳云计算中心) 基于云计算的多租户共享对象管理的方法、设备及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108471354A (zh) * 2017-02-23 2018-08-31 中华电信股份有限公司 多租户软件定义网络中虚拟网络流表弹性切割系统及方法
CN108471354B (zh) * 2017-02-23 2021-05-28 中华电信股份有限公司 多租户软件定义网络中虚拟网络流表弹性切割系统及方法
CN107633045A (zh) * 2017-09-15 2018-01-26 龙存(苏州)科技有限公司 一种云存储服务中租户数据容量的统计方法及其系统
CN107633045B (zh) * 2017-09-15 2021-05-11 龙存(苏州)科技有限公司 一种云存储服务中租户数据容量的统计方法及其系统
CN110413378A (zh) * 2019-07-30 2019-11-05 上海金融期货信息技术有限公司 一种云计算下的计算资源创建方法和系统

Also Published As

Publication number Publication date
WO2014184893A1 (ja) 2014-11-20
DE112013006414T5 (de) 2015-10-01
JP6121527B2 (ja) 2017-04-26
JPWO2014184893A1 (ja) 2017-02-23
GB201513384D0 (en) 2015-09-16
CN105074674B (zh) 2018-09-28
US20160006668A1 (en) 2016-01-07
US9961015B2 (en) 2018-05-01
GB2528584A (en) 2016-01-27

Similar Documents

Publication Publication Date Title
CN105074674A (zh) 计算机系统以及资源管理方法
US8468548B2 (en) Multi-tenant, high-density container service for hosting stateful and stateless middleware components
US9495195B2 (en) Resource migration between virtual containers based on utilization rate and performance degradation
CN102511030B (zh) 计算机系统及其控制方法
US20140366121A1 (en) Virtual Private Storage Array Service for Cloud Servers
WO2010122674A1 (ja) 計算機システム及びその制御方法
JP5973089B2 (ja) ストレージシステムの移行方式および移行方法
CN101118521A (zh) 跨越多个逻辑分区分布虚拟输入/输出操作的系统和方法
CN103827825A (zh) 虚拟资源对象组件
JP2012510679A (ja) サンドボックス化したプラグインの実行
CN101171567A (zh) 用于增强存储器虚拟化基础结构可用性的自动存储器
CN102594861A (zh) 一种多服务器负载均衡的云存储系统
JP6753875B2 (ja) 運用管理システム及び運用管理方法
JP2022517890A (ja) コンポーザブルインフラストラクチャにおける記憶装置の故障耐性を維持するための方法とシステム
KR101719116B1 (ko) 데이터 센터들에서의 효율적인 자원 이용
CN107430527B (zh) 具有服务器存储系统的计算机系统
CN104657216B (zh) 一种资源池的资源分配方法及装置
CN104238955A (zh) 一种存储资源虚拟化按需分配的装置和方法
WO2015056352A1 (ja) ファイル管理方法
US11704426B1 (en) Information processing system and information processing method
TWI471734B (zh) 雲端服務系統及雲端服務方法
JP2020119474A (ja) ストレージ管理システム、プール構成決定方法、及びそのコンピュータプログラム
CN114518836A (zh) 管理存储系统的存储资源池的方法、设备和程序产品

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant