CN100382051C - 虚拟存储器管理方法和设备 - Google Patents

虚拟存储器管理方法和设备 Download PDF

Info

Publication number
CN100382051C
CN100382051C CNB2005100524811A CN200510052481A CN100382051C CN 100382051 C CN100382051 C CN 100382051C CN B2005100524811 A CNB2005100524811 A CN B2005100524811A CN 200510052481 A CN200510052481 A CN 200510052481A CN 100382051 C CN100382051 C CN 100382051C
Authority
CN
China
Prior art keywords
physical
volume
select
group
virtual
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.)
Expired - Fee Related
Application number
CNB2005100524811A
Other languages
English (en)
Other versions
CN1766852A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of CN1766852A publication Critical patent/CN1766852A/zh
Application granted granted Critical
Publication of CN100382051C publication Critical patent/CN100382051C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

虚拟存储器管理程序、方法和设备。容量指定单元指定盘池中的虚拟盘的用户所期望的容量。第一选择单元从登记物理盘的存储池中选择满足指定容量的一(1)个或多个物理盘,使得所选择的物理盘的数目最小,并且将所选择的物理盘分配给虚拟盘。第二选择单元在第一选择单元的选择未成功时选择满足指定容量的一(1)个或多个物理盘,使得作为分布在所选物理盘中的未分配区域数目的盘区数最小,并且分配所选择的物理盘。

Description

虚拟存储器管理方法和设备
本发明要求2004年10月28日在日本提交的在先申请No.JP2004-314349的优先权。
技术领域
本发明一般地涉及将存储池(pool)中管理的物理卷(physicalvolume)分配给具有用户指定的容量的虚拟卷(virtual volume)的虚拟存储器管理程序、方法和设备,更具体地,本发明涉及选择逻辑卷,使得逻辑卷满足可靠性、维护性和性能,把所选择的逻辑卷分配给虚拟卷的虚拟存储器管理程序、方法和设备。
背景技术
传统上已知一种虚拟存储系统,它通过将多个存储器虚拟化,并且为服务器分配虚拟卷,从而集中地管理该多个磁盘存储器。在这种虚拟存储系统中,虚拟化的磁盘存储器设置在服务器和物理盘之间,并且服务器访问这些虚拟化管理的虚拟盘。因此物理存储器的操作和管理能够完全与服务器分离开,并且能够构建不依赖于任何硬件的开放存储区网络(SAN)环境。通过设置在服务器和物理存储器之间并且执行虚拟存储器管理程序的控制设备实现虚拟存储系统。该控制设备为服务器构建一个由登记了物理盘的存储池和虚拟化的切换器(switch)构成的虚拟存储环境,并且从存储池中为虚拟盘分配与服务器的应用相对应的用户所需容量的物理盘。作为构成虚拟盘的物理盘的传统分配方式,在系统配置的设计中,在适当地划分用户指定容量之后分配物理盘。已知有一种系统,在多种类型的设备(例如磁盘设备,光盘设备和半导体存储设备)混在一起作为逻辑卷的情况下,依据类型将设备分组,并且针对每个组将物理设备分配给虚拟盘。然而,与上文所述相同,作为将物理设备分配给虚拟设备的方式,在系统配置的设计中,是在执行适当的规格确定后分配物理设备。
然而,在传统的系统配置设计中在执行适当的规格确定后分配物理盘给虚拟盘的方法中,在将物理盘分配给虚拟盘的时候确定该物理盘是否还未被分配,并且选择并分配那些未被分配的物理盘。因此,用户指定的每个容量局限于物理盘容量的整数倍,从而用户指定的容量会大于所需的容量。因此,由于容量的过量分配导致了分配容量的浪费。为了按照用户指定的容量来分配物理盘,必需分配物理盘中那些未被分配的部分。因此作为分配对象的磁盘包括混在一起的未被分配的磁盘和部分未被分配的磁盘。因此为虚拟盘分配的时候,不仅需要考虑未被分配的磁盘,还要考虑部分未分配的磁盘。然而,应该为部分未分配的磁盘构建何种分配方法,这仍然是个课题。另外,如何基于规范(例如构成物理盘的RAID设备和那些RAID设备的控制器的配置和性能)来分配能够构成最适合用户应用的虚拟盘的物理盘,这仍然是重要的课题。
发明内容
根据本发明,提供了一种虚拟存储器管理方法和设备,可用于分配构成包含部分未分配的物理盘的虚拟盘的最优物理盘。
本发明提供了一种虚拟存储器管理方法,本发明的虚拟存储器管理方法包括:
容量指定步骤,指定虚拟存储池中的虚拟卷的容量;
第一选择步骤,从登记物理卷的存储池中选择满足所指定容量的一(1)个或多个物理卷,使得所选择的物理卷的数目最小,并且将所选择的物理卷分配给虚拟卷;
第二选择步骤,如果所述第一选择步骤中的选择未成功,则选择满足所指定容量的一(1)个或多个物理卷,使得作为分散在所选物理卷中的未分配区域数目的盘区(extent)数最小,并且将所选物理卷分配给虚拟卷。
本发明提供了一种虚拟存储器管理设备,该虚拟存储器管理设备包括:
容量指定单元,被配置为指定虚拟存储池中的虚拟卷的容量;
第一选择单元,被配置为从登记物理卷的存储池中选择满足所指定容量的一(1)个或多个物理卷,使得所选择的物理卷的数目最小,并且将所选择的物理卷分配给虚拟卷;
第二选择单元,被配置为如果第一选择单元的选择未成功,则选择满足指定容量的一(1)个或多个物理卷,使得作为分布在所选物理卷中的未分配区域的数目的盘区数最小,并且将所选择的物理卷分配给虚拟卷。
根据本发明,仅将用户所希望的虚拟卷容量指定给设置在服务器和RAID设备之间的设备的虚拟模块管理程序,首先为虚拟卷选择并分配存储池中的物理卷,使得所选择的物理卷的数目最小。从而,因为分配给虚拟卷的物理卷的数目最小,所以作为故障发生因素的地方也最少,因此可靠性和维护性能得以改善。即使当使物理卷数目最小的选择未成功时,也可以选择并分配存储池中的物理卷给虚拟卷,使得作为部分未使用物理卷中的未使用区域数目的盘区数最小,并且碎片(分散成碎片)最少。由此能够防止访问性能的劣化。另一方面,在将物理卷分配给虚拟卷的过程中,通过按照性能的顺序,例如针对各个路径、各个RAID设备和一个物理卷中所有RAID设备,对存储池中的物理卷群进行分组,按照性能的降序选择各个组,并分配构成虚拟卷的物理卷,从而可以实现考虑性能的物理卷最优分配。通过下面参考附图的详细描述,本发明的上述和其它目的、特征和优点将变得更加清楚。
附图说明
图1是可用于本发明的虚拟存储器管理处理的系统配置的框图;
图2A和2B是图1所示系统的设置有控制器的虚拟存储器环境的功能框图;
图3A到3C是图1所示系统中的物理存储器环境和虚拟存储环境的示例图;
图4是使用不知道RAID设备的控制器CM的控制器和知道RAID设备的控制器CM的控制器构成的虚拟存储环境的系统结构框图;
图5是本发明的虚拟存储器管理中使用的物理盘设备的选择过程的示例图;
图6是本发明的虚拟存储器管理中使用的对象组选择的示例图;
图7A到7C是本发明的物理盘选择中使用的优先选择模式的示例图;
图8A是根据本发明的虚拟存储器管理处理的流程图;
图8B是接续图8A的流程图;
图9A和9B是图8A和图8B中的步骤S4,S10和S15执行的第一物理盘选择处理的流程图;
图9C是接续图9A和9B的流程图;
图10A和10B是图8A和图8B的步骤S6和S12执行的第二物理盘选择处理的流程图;
图11A和11B是根据本发明的物理盘选择的具体例的示例图;和
图12A和12B是根据本发明的物理盘选择的另一个具体例的示例图。
具体实施方式
图1是应用于本发明的虚拟存储器管理处理的系统配置框图。在下面的一个实施例的描述中,将给出把虚拟卷作为虚拟盘,并且把物理卷作为物理盘的情况的示例。在图1中,执行本发明的虚拟存储器管理处理的控制器10-1和10-2设置在服务器18-1、18-2和RAID设备12-1、12-2之间。远程管理控制器10-1和10-2的管理服务器15安装有本发明的虚拟存储器管理程序,并且当执行该虚拟存储器管理程序时,通过创建登记作为RAID设备12-1和12-2的物理模块群的盘池(存储池),对于服务器18-1和18-2的访问隐藏物理RAID设备12-1和12-2的类型、配置和容量,从而实现分配具有服务器18-1和18-2所需容量的虚拟盘的虚拟存储环境。该RAID设备12-1和12-2分别具有物理盘设备14-1至14-4和16-1至16-4作为逻辑卷。该RAID设备12-1和12-2通过通道适配器CA与控制器10-1和10-2相连接并且通过设备适配器DA分别与物理盘设备14-1至14-4和16-1至16-4相连接,并且在通道适配器CA和设备适配器DA之间具有控制器CM。因此RAID设备12-1和12-2各对于其上位设备构成了外部存储子系统。
图2A和2B是图1所示系统的虚拟存储环境的功能配置框图。在图2A和2B中,各个服务器18-1和18-2分别具有用户应用程序20-1和20-2。因为这些服务器18-1和18-2分别采用了群集(cluster)配置,所以应用程序20-1和20-2相同并且能够以例如服务器18-1为主服务器来工作。当服务器18-1发生故障时,切换到服务器18-2(接管)。为服务器18-1和18-2提供虚拟存储环境的控制器10-1和10-2也做了冗余备份,并且基于RAID设备12-1和12-2的物理盘14-1至14-4和16-1和16-4的分配,分别构成提供给虚拟存储环境的虚拟盘。因此,在控制器10-1和10-2中,即使控制器10-1和10-2中仅有一(1)个工作时也总能实现具有相同内容的虚拟存储环境,并且当服务器18-1发生故障且切换到服务器18-2时,不需要切换虚拟存储环境即可由所切换到的服务器18-2使用相同的虚拟存储环境进行工作。该控制器10-1和10-2分别具有虚拟切换器22-1和22-2和盘池24-1和24-2。盘池24登记设置在RAID设备12-1和12-2侧的物理盘设备14-1至14-4和16-1至16-4。控制器10-1和10-2与管理服务器15连接,并且为管理服务器15提供了虚拟存储器管理单元26。当对虚拟盘设备进行了所需容量的指定时,虚拟存储器管理单元26执行RAID设备12-1和12-2一侧提供的物理盘设备14-1至14-4和16-1至16-4的选择,并且执行物理盘设备的分配以构成满足指定容量的虚拟盘。虚拟切换器22-1和22-2构成了提供给虚拟盘群23-1和23-2的虚拟盘和从盘池24-1和24-2分配的物理盘设备之间的连接关系。该虚拟存储器管理单元26是远程管理控制器10-1和10-2的管理服务器15上的CPU,是通过执行本发明的虚拟存储器管理程序实现的功能,并且具有容量指定单元28、对象组选择单元30、第一选择单元32和第二选择单元34的功能。在接收到服务器18-1和18-2的应用程序20-1和20-2的工作所需的、用户希望的容量的命令后,容量指定单元28把待从物理盘设备分配的容量指定给虚拟盘。当从盘池24-1和24-2选择了物理盘设备并且将其分配给已经收到来自用户的容量指定的虚拟盘时,对象组选择单元30通过对作为选择目标的物理盘群进行分组并根据预定优先顺序选择各个组,来执行该物理盘设备的分配。在下文的描述中将清晰地知道,在本发明中,物理盘群的对象组的选择是按如下方式对那些组进行分组来执行的。
(1)针对与控制器10-1和10-2相连接的各连接路径;
(2)针对与控制器10-1和10-2相连接的各RAID设备;以及
(3)针对与控制器10-1和10-2相连接的全部RAID设备。
第一选择单元32以对象组选择单元30选择的组的物理盘群为对象,选择满足指定容量的一(1)个或多个物理盘,使得物理盘的数目最小,并且将所选择的物理盘分配给虚拟盘。当由第一选择单元进行的选择未成功时,第二选择单元34选择满足指定容量的一(1)个或多个物理盘,使得盘区数(分布在物理盘设备中的未分配区域的数目)最小,并且将所选择的物理盘分配给虚拟盘。控制器10-1的这种功能配置与控制器10-2的相同。
图3A到3C是图2A和2B的系统中的物理存储环境和虚拟存储环境的示例图。构成群集18的服务器18-1和18-2具有逻辑磁盘(逻辑卷)38-1和38-2,各个逻辑磁盘38-1和38-2具有#000和#001作为主逻辑单元地址HL,并且通过多路驱动器mphd与应用程序20-1和20-2连接。服务器18-1和18-2的逻辑磁盘38-1和38-2对应于通过整合图2A和2B所示的控制器10-1和10-2的功能而实现的虚拟存储环境中的虚拟壳体36的分别具有#0001和#0001作为虚拟逻辑单元地址的虚拟壳体36-1和36-2。分别具有#000和#001作为虚拟主逻辑单元VHL的地址的部分是与服务器18-1和18-2连接的端口的路由信息路径42-1和42-2。另一方面,使用图2A和2B的RAID设备12-1和12-2,将这些设备整合为物理模块群,从而构建RAID系统12。RAID系统12具有RAID设备12-1和RAID设备12-2,RAID设备12-1具有四(4)个分别具有#0000至#0003作为逻辑单元地址LUN的磁盘设备45-0至45-3,RAID设备12-2具有四(4)个分别具有#0004至#0007的磁盘设备45-4至45-7。在通道适配器一侧示出的两(2)系列的分别具有地址HL#0000至#0007的单元是虚拟存储环境10一侧的端口的路由信息。虚拟存储环境10的盘池24登记具有#000至#003的物理盘群40-1和40-2作为与RAID系统12的磁盘设备45-0至45-7相对应的逻辑单元地址HL。虚拟切换器22-1和22-2构成与盘池24中的物理盘群40-1和40-2中的物理盘(分配给虚拟壳体36中的虚拟盘36-1和36-2,以满足指定的容量)相连接的连接路径。在RAID系统12中,构成RAID设备12-1和12-2的磁盘设备45-0至45-7在通道适配器CA的下方示出。然而,实际上,是接着通道适配器CA设置控制器CM,并且磁盘设备45-0至45-7通过设置在这些控制器CM之下的设备适配器DA相连接。
图4是通过控制器构成虚拟存储环境的系统配置的方框图,其中该控制器负责通过将无需知道控制器CM的RAID设备和需要知道控制器CM的RAID设备连接成为物理盘群,从而执行本发明的虚拟存储器管理处理。图4的RAID设备12-11是远程管理控制器10-11和10-12的管理服务器15的虚拟存储器管理程序(虚拟存储控制管理装置)无需知道担当控制器CM的设备,Fujitsu Ltd.制造的ETERNUS6000、GR740、GR820、GR840等机型对应于该设备。相对照地,RAID设备12-12是远程管理控制器10-11和10-12的管理服务器15的虚拟存储器管理程序(虚拟存储控制管理装置)需要知道担当控制器CM的设备,由Fujitsu Ltd.制造的ETERNUS3000、GR710、GR720、GR730等机型对应于该设备。从控制器10-11和10-12的角度,对于无需知道担当控制器CM的RAID设备12-11,通过连接路径50-1和50-2执行对控制器10-11和10-12的虚拟切换器的连接。相反,从控制器10-11和10-12的角度,对于需要知道担当控制器CM的RAID设备12-12,通过主连接路径52-1和52-2和由点线指示的副连接路径54-1至54-3执行连接。接着,如图4所示,在RAID设备12-11和12-12被用作物理盘群的情况下,作为为了选择构成虚拟模块的物理盘设备而进行的选择对象组的分组,根据图6所示的优先顺序对选择对象组进行分组。
在图5中,作为具有第一优先级的选择对象组,顺次选择与控制器的虚拟切换器连接的各个路径的物理盘群。在图4的情况下,与虚拟切换器连接的各个路径的物理盘群的选择限于例如两(2)种连接路径,例如无需知道担当控制器的RAID设备12-11的连接路径50-1和50-2和,例如,需要知道担当控制器CM的RAID设备12-12的主连接的主连接路径52-1和52-2。根据下列顺序选择各个路径的物理盘群的组。
(1)连接路径50-1的物理盘设备14-11
(2)连接路径50-2的物理盘设备14-11
(3)物理盘设备16-11,16-12和16-13
(4)连接路径52-2的物理盘设备16-14
另外,如选择对象组的右侧所示,当作为选择对象的盘群中存在多个物理盘设备时,按照物理盘组的虚拟未分配容量比的降序来选择物理盘设备,使得属于构成虚拟盘的物理盘设备的连接路径在物理盘设备之间保持平衡。在此,虚拟未分配容量比由下式定义。虚拟未分配容量比=物理盘未分配部分的总容量÷物理盘的总容量(1)。物理盘的未分配部分的总容量是各个已经部分分配的物理盘设备的可用容量和各个完全未分配的物理盘设备的可用容量之和。当作为图5所示的第一优先级的选择对象,执行针对与控制器的虚拟切换器连接的各个路径的物理盘群的选择时,通过图2A和2B中的虚拟存储器管理单元26中示出的第一选择单元32从所选择的物理盘群中选择满足指定容量的物理盘设备,并且分配给虚拟盘,使得物理盘的数目最小。如果第一选择单元32执行选择未成功,则通过第二选择单元34选择满足指定容量的物理盘设备并分配给虚拟盘,使得盘区数(在物理盘设备之间分散的未分配区域的数目)最小。
图6示出了以图4的系统配置为对象的虚拟存储器管理处理的过程,根据其描述,在执行作为选择对象组的各个连接路径的物理盘群的选择A1之后,执行作为物理盘选择的使物理盘的数目最小的选择B1,并且如果选择A1和B1未成功,则执行使盘区数最小的下一个选择B2。另外,对于各个连接路径的选择A1,如果使盘区数最小的选择B2未成功,则在接下来执行作为选择对象组的各个RAID设备的选择A2之后,同样执行使物理盘数最小的选择B1,并且如果选择B1未成功,则执行使盘区数最小的选择B2。另外,如果在作为选择对象组的RAID设备单元A2中进行的使盘区数最小的选择B2未成功,则选择作为选择对象组的全部RAID设备作为对象组A3,并且,此时,仅执行使物理盘设备数目最小的选择B1。在图5的表中在第二和第三位的单元格中示出了具有第二优先级的对象组A2和具有第三优先级的对象组A3。对于具有第二优先级的选择对象组,选择与控制器的虚拟切换器连接的各个RAID设备的物理盘群作为对象组。关于图4的系统配置,重新详细审视,按照RAID设备12-11和RAID设备12-12的顺序选择物理盘群。关于选择RAID设备12-11和12-12的顺序,按照RAID设备的由公式(1)给出的未分配虚拟容量比的降序来选择物理盘分组,使得属于构成虚拟盘的物理盘的RAID设备保持平衡。此外,作为图5中第三位的选择目标组,与控制器的虚拟切换器连接的全部RAID设备都是对象。例如在图4的系统配置的情况下,与控制器10-11和10-12连接的RAID设备12-11和12-12被选择作为一(1)个物理盘群。接着,将说明在根据图5选择了作为对象组的物理盘群后,将具有指定容量的物理盘设备分配给虚拟盘的选择处理。如图6的物理盘选择过程所示,在本发明的构成虚拟盘的物理盘设备的选择中,首先执行使物理盘数最小的选择B1,并且如果使用选择B1的选择未成功,则执行使盘区数最小的选择B2。使物理盘数最小的选择改善了虚拟存储器的可靠性和维护性,因为物理盘设备的分配使得产生故障的因素点最少。在本发明的实施例中,执行选择,使得构成虚拟盘的物理盘的数目最小。然而,因为该选择使产生故障的因素点最少,所以可以应用下列选择条件作为其他选择标准。
进行选择使得路径数目最小;以及
(2)进行选择使得RAID设备数目最小。
另一方面,使盘区数最小的选择意味着使在一(1)个物理盘设备中待分配的区域的碎片程度(分散成碎片)最小,并且,由此改善对虚拟存储环境中的虚拟模块的读取性能。
图7A到7C示出了本发明的物理盘选择处理中使用的选择条件。图7A是根据物理盘设备的选择条件的优先级的列表,并且第一优先级至第三优先级是使图6的B1中示出的物理盘数目最小的选择,即,通过图2A和2B的第一选择单元32执行的选择处理。相反,第四优先级和第五优先级是用于实现图6的使盘区数最小的选择B2的选择条件,并且是通过图2A和2B的第二选择单元34执行的选择处理。图7A的用于使物理盘数最小的选择条件如下。第一,作为第一优先级,选择“具有等于或大于指定容量的可用盘区容量”的物理盘。如果存在基于该条件选择出的多个物理盘,则如单元格右侧所示,“选择具有最小容量的盘区的物理盘”。作为第二选择优先级的容量选择条件,选择“具有等于或大于指定容量的可用物理盘容量”的物理盘。如果存在基于该条件选择出的多个物理盘,则如单元格右侧所示,“选择具有最小容量的物理盘”。作为第三选择优先级,选择“具有小于指定容量的可用物理盘容量”的物理盘。如果存在基于该条件选择出的多个物理盘,则如单元格右侧所示,“选择具有最大容量的物理盘”。接下来描述使盘区数最小的第四和第五选择优先级的物理盘的选择。作为第四选择优先级的容量选择条件,选择“具有小于指定容量的可用盘区容量”的物理盘。如果存在基于该条件选择出的多个盘区,则“选择具有最大容量的盘区”。至于第五选择优先级,作为容量选择条件,选择“具有等于或大于指定容量的可用盘区容量”的盘区。如果存在多个满足该选择条件的盘区,则如单元格右侧所示,“选择具有最小容量的盘区”。
图7B示出了在基于图7A的选择条件,对于第一到第五选择优先级条件分别选择了多个物理盘设备的盘区的情况下的选择优先条件。在图7B中,为图7A的第一、第四和第五优先级设置相同的条件,并且为第二和第三选择优先级设置另一个相同的选择条件。对于第一、第四和第五选择优先级,在选择了多个物理盘的盘区时,选择优先级如下。
(1)RAID级别的顺序;
(2)物理盘的ID的顺序;以及
(3)物理盘的逻辑块地址LBA的顺序。
在这些中,如右侧单元格所示,RAID级别的顺序是RAID级别(0+1)、级别1、级别5和级别0。在此,如图7C所示,RAID级别(0+1)是通过将RAID级别0镜像到RAID级别1而获得的。当在RAID级别中存在多个磁盘时,采用物理盘的ID顺序。另外,当在物理盘中存在多个盘区时,采用物理盘的LBA的顺序。对于图7B的第二和第三选择优先级,在选择了物理盘的多个盘区时,如下设置选择优先级。
(1)盘区数的升序;
(2)RAID级别的顺序;以及
(3)物理盘ID的顺序。
当已经基于图7A和7B中示出的选择条件确定了构成满足指定容量的虚拟盘的物理盘设备的构成盘区时,根据物理盘设备中内部保留的ID的顺序和物理盘设备中的LBA的顺序执行重排构成盘区的排序处理,并且结束选择处理。
图8A和8B是根据本发明的虚拟存储器管理处理的流程图,并且本流程图的过程是本发明提供的虚拟存储器管理程序的内容。在图8A的虚拟存储器管理处理中,在步骤S1中,捕获到与服务器侧的应用程序相应的用户所需要的虚拟盘指定容量,在步骤S2中对于各个与设置有虚拟切换器的控制器相连接的路径将物理盘分为物理盘群后,在步骤S3中,根据未分配虚拟容量的降序选择物理盘群,并且在步骤S4中,对所选择的物理盘群执行第一物理盘选择处理,使得物理盘群的数目最小。如果在步骤4中的选择处理未成功,则执行排序处理,并且结束处理,该排序处理使用物理盘设备的ID和物理盘设备中的LBA作为关键字重新排列所选的构成虚拟盘的盘区。如果在步骤S5的选择未成功,则处理进入步骤S6,在此执行第二磁盘选择处理,使得盘区数最小。关于该选择处理,当判定步骤S7的选择成功时,执行构成虚拟盘的盘区的排序处理,并且结束这一系列处理。如果在步骤S7,选择未成功,则处理前进到步骤S8,在此对应于与设置有虚拟切换器的控制器相连接的各RAID设备,将物理盘分为物理盘群,在步骤S9中根据虚拟未分配容量比的降序选择RAID设备,并且在步骤S10执行第一磁盘选择处理使得物理盘设备的数目最小。接着,当在图8B的步骤S11中判定选择成功时,对构成盘区进行排序并且结束处理。如果选择未成功,则处理前进到步骤S12,在此,执行第二磁盘选择处理,使得盘区数最小。如果选择成功,则在步骤S13执行构成盘区数的排序处理,并且结束这一系列处理。如果步骤S13的选择未成功,则处理前进至S14,在此选择与设置有虚拟切换器的控制器相连接的全部RAID设备,并且在步骤S15执行第一磁盘选择处理,使得物理盘设备的数目最小。在步骤S16,如果选择成功,则对构成盘区进行排序,并且结束处理。如果选择未成功,则处理前进到步骤S17,在此执行第二磁盘选择处理,使得盘区数最小。如果选择成功,则在步骤S18执行构成盘区数的排序处理并结束这一系列处理。如果选择未成功,则处理前进到步骤S19,在此通知存储池容量不足错误或者盘区数超出错误,并且结束处理。当通过该错误通知结束处理时,可以通过再次执行虚拟盘容量的指定,例如减少指定的容量,来执行选择处理。在下文的描述将清晰可见,在本发明中,对于步骤S19的盘区数超出错误,从一(1)个物理盘设备选出的盘区数被限制为例如小于16,并且如果等于或者超过了盘区数限制值,则认为选择未成功,当选择未成功的原因是由于盘区数过大时,执行指示该错误的错误通知。
图9A和9B和图9C一起示出了在图8A和8B中的步骤S4、S10和S15中执行的第一物理盘选择处理的流程图,该处理是第一选择单元32的处理功能。在图9A和9B中,从步骤S1至S7,在第一物理盘选择处理中执行基于图7A所示第一选择优先级的选择条件的选择处理。首先,在步骤S1中检查是否存在未被选择的物理盘,如果存在任何未被选择的物理盘,则处理前进到步骤S2,在此选择可用盘区容量等于或大于指定容量并且是最小容量的盘区。当步骤S3中的选择成功时,处理前进到步骤S5,在此检查是否选择了多个物理盘的盘区。如果选择了多个物理盘的盘区,则处理前进到步骤S6,在此根据图7B中第一、第四和第五选择优先级的单元格所示的优先级选择物理盘。如果在步骤S5中只选择了一个物理盘的盘区,则略过步骤S6。接着在步骤S7中检查所选择的物理盘的盘区数是否等于或超过一个阈值,例如16,并且如果该数目没有等于或者超过16,则处理返回图8A和图8B的主程序,视为执行了正常的选择处理。如果在步骤S1中不存在未分配的物理盘,则在步骤S4中处理返回主程序,视为无法进行选择。另一方面,如果在步骤S7中选择的物理盘的盘区数等于或大于该阈值,例如16,则处理前进到步骤S14,视为选择未成功。图9A和9B的步骤S8至S13是根据图7A的第二选择优先级的选择条件的物理盘选择处理。在步骤S8中选择一个可用容量等于或大于指定容量并且是最小容量的物理盘。在步骤S9,如果物理盘的选择成功,则处理前进到步骤10,在此检查是否选择了多个物理盘的盘区。如果选择了多个物理盘的盘区,则处理前进到步骤S11,在此根据图7B的第二和第三选择优先级的单元格所示的优先级确定一(1)个物理盘的盘区的选择。在步骤S11的(1)“盘区数的升序”中选择物理盘,在此,如果选择了两(2)个物理盘,则选择具有相等或更大可用盘区容量的物理盘。如果在步骤S10中选择了一个物理盘的盘区,则略过步骤S11的处理。接着在步骤S12中检查盘区数是否等于或者超过一个阈值,并且如果该数目等于或者超过该阈值,则处理前进到步骤S13,在此检查根据步骤S11示出的优先级之中的下一个优先选择物理盘的步骤S12中的盘区数是否等于或者超过该阈值。接着,重复步骤S13中的下一优先级的物理盘的选择,直到盘区数变得小于该阈值,并且当盘区数小于该阈值时,处理返回图8A和8B的主程序,视为选择成功。如果盘区数等于或者超过该阈值,尽管在步骤S13中已经根据步骤S11的全部优先级执行了物理盘选择,处理仍前进到步骤S14,认为选择未成功。如果步骤S9中的选择未成功,则在图9C的步骤S16至S20中,根据图7A的第三选择优先级的选择条件执行物理盘的选择处理。即,在步骤S16中选择可用容量小于指定容量并且是最大容量的物理盘,并且步骤S17中,如果选择成功,则处理返回图8A和8B的主程序。如果选择未成功,则处理前进到步骤S18,在此检查是否选择了多个物理盘的盘区,并且,如果选择了,则在步骤S19中,根据图7B的第一、第四和第五选择优先级所示的多个物理盘的盘区的情况下的选择优先级来选择物理盘。如果在步骤S18中仅一个盘盘区被选择,则略过步骤S19。在接下来的步骤S20中执行指定容量的更新。即通过从当前的指定容量中减去所选物理盘的容量来计算新的指定容量,并且处理返回图9A和9B的步骤S1。然后,针对其余的指定容量重复从步骤S2开始的相同处理。另外一方面,如果在步骤S7或者步骤S12和步骤S13中选择的物理盘的盘区数等于或者超过阈值,则使物理盘数最小的选择处理未成功,因此在步骤S14中执行如下初始化处理后,
(1)放弃所选择的物理盘;并且
(2)将预期容量返回到初始值,
处理前进到步骤S15,以进入图9C所示的第二物理盘选择处理。
如图8A和8B的主程序所示,当步骤S14中选择对象组是与配置有虚拟切换器的控制器相连接的全部ID设备时,仅执行如步骤S15的第一物理盘选择处理。因此,此时处理不进入图10A和10B的第二物理盘选择处理。
图10A和10B是图8A和图8B的步骤S6、S12和S17中执行的第二物理盘选择处理的流程图,并且该处理对应于图2A和2B的第二选择单元34的处理功能。在图10A和10B中,在第二物理盘选择处理中,在步骤S1至S5中执行根据图7A的第四选择优先级的选择条件的选择处理。首先,在步骤S1选择可用盘区容量小于指定容量并且是最大容量的盘区。在步骤S2中如果选择成功,则处理前进到步骤S3,其中检查是否选择了多个物理盘的盘区,并且如果选择了,则在步骤S4中,根据图7B中作为第一、第四和第五选择条件优先级示出的选择了多个物理盘的盘区的情况下的优先级来执行物理盘选择。如果仅选择了一个盘区,则略过步骤S4。接着在步骤S5中执行指定容量的更新。即,通过从当前的指定容量中减去所选择的物理盘的容量来获得新的指定容量。如果步骤S2中选择未成功,则处理前进到步骤S11,并且确定选择未成功。接着处理返回到图8A和图8B的主程序。在接下来的步骤S6至S10中,执行根据图7A的第五选择优先级的选择条件的物理盘选择处理。首先,在步骤S6中选择可用盘区容量等于或大于指定容量并且是最小容量的盘区。如果选择未成功,则在步骤S7中处理返回步骤S1,在步骤S7中,重复选择可用盘区容量小于指定容量并且是最大容量的盘区的处理。如果在步骤S7中选择成功,则在步骤S8中检查是否有多个物理盘的盘区被选择,如果选择了,则在步骤S9中根据图7B的第一、第四和第五选择优先级的单元格中示出的选择优先级来选择物理盘。如果在步骤S8中仅选择了一个物理盘的盘区,则略过步骤S9。接着,在步骤S10中检查在步骤S10中选择的物理盘的盘区数是否等于或者超过阈值,并且,如果该数目小于阈值,则处理返回图8A和图8B的主程序,视为选择成功。如果盘区数等于或者超过阈值,则在步骤S11中确定选择未成功,并且处理返回图8A和图8B的主程序。接下来,将参考图11A和11B及图12A和12B,描述根据本发明的构成对应于指定容量的虚拟盘的物理盘选择的详细实例。
图11A示出了以物理盘60、62、64为对象,当如图11B所示,指定容量在1至110MB的盘区内变化时的选择结果和排序结果。在图11A中,物理盘60是未分配的物理盘,并且盘区是30MB。在下文中,容量仅用数字表示,省略“MB”。物理盘62是已经部分分配的磁盘。盘区b是20并且盘区c是30。在此,将如下描述当以图11A的物理盘群为对象,指定容量变化为图11B中的10、20、30、40、50、60、70、80、90、100和110时的盘区选择。括号中写的是可应用的图7A到7C的选择条件,并且由“A-1至A-5”表示图7A的条件,对于图7B,由“B-1-1至B-5-3”表示各个条件。当指定容量=10时执行下列过程。
(1)选择各具有等于或大于指定容量10的可用容量的盘区b、c、d、e和f(A-1)。
(2)选择具有最小容量10的盘区d、e和f(A-1)。
(3)基于LBA的顺序选择盘区d(B-1-3)。
当指定容量=20时执行下列过程。
(1)选择各具有等于或大于指定容量20的可用容量的盘区b和c(A-1)。
(2)选择具有最小容量20的盘区b(A-4)。
当指定容量=30时执行下列过程。
(1)选择具有等于或大于指定容量30的可用容量的物理盘60的盘区(A-2)。
当指定容量=40时执行下列过程。
(1)没有具有等于或大于指定容量40的可用容量的盘区。
(2)选择具有等于或大于指定容量40的容量的物理盘62(A-2)。
(3)选择物理盘62中的最大盘区c(A-4)。
(4)选择后的指定容量=40-30=10。
(5)选择物理盘62中的可用容量等于或大于指定容量10并且是最小容量的盘区b(A-5)。
(6)将所选择的盘区c和b排序为“b和c”。
指定容量=50时的过程与指定容量=40的情况相同。
当指定容量=60时执行下列过程。
(1)没有具有等于或大于指定容量60的可用容量的盘区。
(2)没有具有等于或大于指定容量60的可用容量的物理盘。
(3)选择可用容量小于最大容量60并且是最大容量的物理盘62(盘区c和b的选择)(A-3)。
(4)选择后的指定容量=60-50=10。
(5)选择可用容量等于或大于指定容量10并且是最小容量的盘区d、e和f(A-1)。
(6)基于LBA的顺序选择盘区d
(7)把所选择的盘区c、b和d排序为“b、c和d”。
当指定容量=70时执行下列过程。
(1)没有具有等于或大于指定容量70的可用容量的盘区。
(2)没有具有等于或大于指定容量70的可用容量的物理盘。
(3)选择可用容量小于最大容量70并且是最大容量的物理盘62(盘区c和b的选择)(A-2)。
(4)选择后的指定容量=70-50=20。
(5)选择可用容量等于或大于指定容量20并且是最小容量的盘区(A-1)。
(6)基于LBA的顺序选择盘区d
(7)把所选择的盘区c、b和a排序为“a、b和c”。
指定容量=80时的过程与指定容量=70的情况相同。在指定容量=90时的过程中,在指定容量=80时的过程中的盘区a、b和c中加入盘区d。在指定容量=100时的过程中,在指定容量=90时的过程中的a、b、c和d中加入盘区e。在指定容量=110时的过程中,在指定容量=100时的过程中的盘区a、b、c、d和e中加入盘区f。
图12A和12B示出了因为所选择的盘区数超过作为极限值的阈值,所以从最初开始重新执行盘区选择的情况的具体实例。在图12A中,物理盘66有十(10)个盘区“a”到“j”作为未分配区域,并且各个盘区具有容量10。物理盘68具有盘区k和l作为未分配区域。物理盘70具有十(10)个盘区m到v作为未分配区域。各个盘区的容量为10。另外,物理盘72具有盘区w和x作为未分配区域。在此,如图12B所示,假设指定容量为200,根据下列步骤执行选择。
(1)选择对于指定容量200具有最大的可用容量100的物理盘66的盘区a到j,此时剩余指定容量是100。
(2)选择具有等于指定容量100的可用容量100的物理盘70的盘区ma到v。
(3)因为盘区数是20并且超过了极限值16,所以从最初开始重新执行盘区的选择。
(4)选择相对于指定容量200的最大盘区k。剩余指定容量为170。
(5)选择相对于指定容量170的最大盘区w。剩余指定容量是140。
(6)此后,类似地,重复相对于指定容量的最大盘区的选择,并且选择盘区l、x和a到j。
(7)因为盘区数是14并且小于极限值,因此确定选择成功。
(8)以物理盘的ID作为第一关键字,以逻辑块地址作为第二关键字,对所选择的盘区进行排序。
本发明提供了一种虚拟存储器管理程序,并且该虚拟存储器管理程序由构成对图2A和2B所示的控制器10-1和10-2设置的管理服务器15的计算机执行。该计算机设置有CPU、RM、硬盘驱动器等。该硬盘驱动器装载了本发明的虚拟存储器管理程序,并且当计算机启动时从该硬盘驱动器中读取必要的程序,在ROM上展开并且由CPU执行。虽然上述实施例中采用了使用磁盘设备作为物理卷的RAID设备的示例,但除了磁盘设备,物理卷还包括光盘设备、磁带设备等的适当的存储设备。另外,本发明包括任何不损害其目的和优点的适当的变型,并且不受到上述实施例中指出的值的限制。

Claims (20)

1.一种虚拟存储器管理方法,包括:
容量指定步骤,指定虚拟存储池中的虚拟卷的容量;
第一选择步骤,从登记物理卷的存储池中选择满足所述指定容量的一(1)个或多个物理卷,使得所选择的物理卷的数目最小,并且将所选择的物理卷分配给虚拟卷;
第二选择步骤,如果所述第一选择步骤的选择未成功,则选择满足所述指定容量的一(1)个或多个物理卷,使得作为分布在所选物理卷中的未分配区域数目的盘区数最小,并且将所选择的物理卷分配给虚拟卷。
2.根据权利要求1所述的虚拟存储器管理方法,其中所述第一选择步骤包括:
第一优先选择步骤,选择可用容量等于或大于所述指定容量并且是最小容量的盘区;
第二优先选择步骤,如果所述第一优先选择步骤中的选择未成功,则选择可用容量等于或大于所述指定容量并且是最小容量的物理卷;以及
第三优先选择步骤,如果所述第二优先选择步骤中的选择未成功,则选择可用容量小于所述指定容量并且是最大容量的物理卷。
3.根据权利要求2所述的虚拟存储器管理方法,其中
所述第一优先选择步骤包括,当选择了多个物理卷的盘区时,
第一,按照级别(0+1)、级别1、级别5和级别0的RAID级别顺序选择该多个物理卷;
第二,如果不能基于其RAID级别选择物理卷,则按照物理卷的ID的顺序选择该多个物理卷;以及
第三,如果不能基于其ID选择物理卷,则按照物理卷的逻辑块地址LBA的顺序选择该多个物理卷,其中
所述第二或第三优先选择步骤包括,当选择了多个物理卷的盘区时,
第一,按照盘区数的升序选择该多个物理卷;
第二,如果不能基于盘区数选择物理卷,则按照级别(0+1)、级别1、级别5和级别0的RAID级别顺序选择该多个物理卷;
第三,如果不能基于其RAID级别来选择物理卷,则按照物理卷的ID的顺序来选择该多个物理卷;以及
第四,如果不能基于其ID来选择物理卷,则按照物理卷的逻辑块地址LBA的顺序来选择该多个物理卷。
4.如权利要求1所述的虚拟存储器管理方法,其中所述第二选择步骤包括:
第四优先选择步骤,选择可用容量小于所述指定容量并且是最大容量的盘区;以及
第五优先选择步骤,如果所述第四优先选择步骤中的选择未成功,则选择可用盘区容量等于或大于所述指定容量并且是最小容量的盘区。
5.如权利要求4所述的虚拟存储器管理方法,其中所述第四和第五优先选择步骤包括,当选择了多个物理卷的盘区时,
第一,按照级别(0+1)、级别1、级别5和级别0的RAID级别顺序选择该多个物理卷;
第二,如果不能基于其RAID级别选择物理卷,则按照物理卷的ID的顺序来选择该多个物理卷;以及
第三,如果不能基于其ID选择物理卷,则按照物理卷的逻辑块地址LBA的顺序选择该多个物理卷。
6.如权利要求1所述的虚拟存储器管理方法,进一步包括对象组选择步骤,在所述第一和第二选择步骤之前对物理卷群进行分组,并且顺次选择各个组以执行所述第一和第二选择步骤。
7.如权利要求6所述的虚拟存储器管理方法,其中所述对象组选择步骤包括:
第一对象组选择步骤,对于与具有虚拟切换功能的控制器连接的各个连接路径,分别对多个物理盘群进行分组,并且顺次选择各个组以执行所述第一和第二选择步骤;
第二对象组选择步骤,当所述第一对象组选择步骤中的选择未成功时,对于与这多个控制器连接的各个RAID设备,对多个物理卷群进行分组,并且顺次选择各个组以执行所述第一和第二选择步骤;以及
第三对象组选择步骤,当所述第二对象组选择步骤中的选择未成功时,把与所述控制器连接的全部RAID设备当作一(1)个组来选择物理卷群,以执行所述第一和第二选择步骤。
8.如权利要求7所述的虚拟存储器管理方法,其中所述第一对象组选择步骤包括:将与所述多个物理卷群连接的连接路径分为:不知道物理卷群控制器的第一连接路径,和知道物理卷群控制器的主连接的主连接第二连接路径,并且将物理盘群分组为各个所述第一连接路径的物理卷群和各个所述第二连接路径的物理卷群,以顺次选择。
9.如权利要求7所述的虚拟存储器管理方法,其中所述第一对象组选择步骤包括:按照物理卷群的虚拟未分配容量比的降序来选择各个组,使得属于构成所述虚拟卷的物理卷的连接路径在所述物理卷之间保持平衡,所述虚拟未分配容量比是总的未分配容量与总容量的比值。
10.如权利要求7所述的虚拟存储器管理方法,其中,所述第二对象组选择步骤包括:按照RAID设备的虚拟未分配容量比的降序来选择各个组,使得属于构成所述虚拟卷的物理卷的RAID设备在所述物理卷之间保持平衡,所述虚拟未分配容量比是总的未分配容量与总容量的比值。
11.一种虚拟存储器管理设备,包括
容量指定单元,其被配置为指定虚拟存储池中的虚拟卷的容量;
第一选择单元,其被配置为从登记物理卷的存储池中选择满足所述指定容量的一(1)个或多个物理卷,使得所选择的物理卷的数目最小,并且将所选择的物理卷分配给虚拟卷;
第二选择单元,其被配置为,如果所述第一选择单元的选择未成功,则选择满足所述指定容量的一(1)个或多个物理卷,使得作为分布在所选物理卷中的未分配区域数目的盘区数最小,并且将所选择的物理卷分配给虚拟卷。
12.根据权利要求11所述的虚拟存储器管理设备,其中所述第一选择单元包括:
第一优先选择单元,其被配置为选择可用容量等于或大于所述指定容量并且是最小容量的盘区;
第二优先选择单元,其被配置为,如果所述第一优先选择单元的选择未成功,则选择可用容量等于或大于所述指定容量并且是最小容量的物理卷;以及
第三优先选择单元,其被配置为,如果所述第二优先选择单元的选择未成功,则选择可用容量小于所述指定容量并且是最大容量的物理卷。
13.根据权利要求12所述的虚拟存储器管理设备,其中
所述第一优先选择单元被配置为,当选择了多个物理卷的盘区时,
第一,按照级别(0+1)、级别1、级别5和级别0的RAID级别顺序选择该多个物理卷;
第二,如果不能基于其RAID级别选择物理卷,则按照物理卷的ID的顺序选择该多个物理卷;以及
第三,如果不能基于其ID选择物理卷,则按照物理卷的逻辑块地址LBA的顺序选择该多个物理卷,并且
所述第二或第三优先选择单元被配置为,当选择了多个物理卷的盘区时,
第一,按照盘区数的升序选择该多个物理卷;
第二,如果不能基于盘区数选择物理卷,则按照级别(0+1)、级别1、级别5和级别0的RAID级别顺序选择该多个物理卷;
第三,如果不能基于其RAID级别来选择物理卷,则按照物理卷的ID的顺序来选择该多个物理卷;以及
第四,如果不能基于其ID来选择物理卷,则按照物理卷的逻辑块地址LBA的顺序来选择该多个物理卷。
14.如权利要求11所述的虚拟存储器管理设备,其中所述第二选择单元包括:
第四优先选择单元,其被配置为选择可用容量小于所述指定容量并且是最大容量的盘区;以及
第五优先选择单元,其被配置为,如果所述第四优先选择单元的选择未成功,则选择可用容量等于或大于所述指定容量并且是最小容量的盘区。
15.如权利要求14所述的虚拟存储器管理设备,其中所述第四和第五优先选择单元被设置为,当选择了多个物理卷的盘区时,
第一,按照级别(0+1)、级别1、级别5和级别0的RAID级别顺序选择该多个物理卷;
第二,如果不能基于其RAID级别选择物理卷,则按照物理卷的ID的顺序来选择该多个物理卷;以及
第三,如果不能基于其ID选择物理卷,则按照物理卷的逻辑块地址LBA的顺序选择该多个物理卷。
16.如权利要求11所述的虚拟存储器管理设备,进一步包括对象组选择单元,其被配置为在所述第一和第二选择单元的处理之前对物理卷群进行分组,并且顺次选择各个组以执行所述第一和第二选择单元的处理。
17.如权利要求16所述的虚拟存储器管理设备,其中所述对象组选择单元包括:
第一对象组选择单元,其被配置为对于与具有虚拟切换功能的控制器连接的各个连接路径,分别对多个物理盘群进行分组,并且顺次选择各个组以执行所述第一和第二选择单元的处理;
第二对象组选择单元,其被配置为当所述第一对象组选择单元的选择未成功时,对于与这多个控制器连接的各个RAID设备,对多个物理卷群进行分组,并且顺次选择各个组以执行所述第一和第二选择单元的处理;以及
第三对象组选择单元,当所述第二对象组选择单元的选择未成功时,把与所述控制器连接的全部RAID设备当作一(1)个组来选择物理卷群,以执行所述第一和第二选择单元的处理。
18.如权利要求17所述的虚拟存储器管理设备,其中所述第一对象组选择单元被配置为:将与所述多个物理卷群连接的连接路径分为:不知道物理卷群控制器的第一连接路径,和知道物理卷群控制器的主连接的主连接第二连接路径,并且将物理盘群分组为各个所述第一连接路径的物理卷群和各个所述第二连接路径的物理卷群,以顺次选择。
19.如权利要求17所述的虚拟存储器管理设备,其中所述第一对象组选择单元被配置为:按照物理卷群的虚拟未分配容量比的降序来选择各个组,使得属于构成所述虚拟卷的物理卷的连接路径在所述物理卷之间保持平衡,所述虚拟未分配容量比是总的未分配容量与总容量的比值。
20.如权利要求17所述的虚拟存储器管理设备,其中,所述第二对象组选择单元被配置为:按照RAID设备的虚拟未分配容量比的降序来选择各个组,使得属于构成所述虚拟卷的物理卷的RAID设备在所述物理卷之间保持平衡,所述虚拟未分配容量比是总的未分配容量与总容量的比值。
CNB2005100524811A 2004-10-28 2005-02-28 虚拟存储器管理方法和设备 Expired - Fee Related CN100382051C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004314349 2004-10-28
JP2004314349A JP4402565B2 (ja) 2004-10-28 2004-10-28 仮想ストレージ管理プログラム、方法及び装置

Publications (2)

Publication Number Publication Date
CN1766852A CN1766852A (zh) 2006-05-03
CN100382051C true CN100382051C (zh) 2008-04-16

Family

ID=36263503

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100524811A Expired - Fee Related CN100382051C (zh) 2004-10-28 2005-02-28 虚拟存储器管理方法和设备

Country Status (4)

Country Link
US (1) US7447838B2 (zh)
JP (1) JP4402565B2 (zh)
KR (1) KR100674063B1 (zh)
CN (1) CN100382051C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546830A (zh) * 2012-02-27 2012-07-04 辛旻 一种服务器中实现存储的方法和系统

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7409583B2 (en) * 2002-10-07 2008-08-05 Hitachi, Ltd. Volume and failure management method on a network having a storage device
US7478221B1 (en) * 2005-05-03 2009-01-13 Symantec Operating Corporation System and method for using consistent virtual addresses to communicate in cooperative multi-layer virtualization environments
JP4797636B2 (ja) 2006-01-16 2011-10-19 株式会社日立製作所 複合型情報プラットフォーム装置とその情報処理装置構成方法
JP4943081B2 (ja) 2006-07-27 2012-05-30 株式会社日立製作所 ファイル格納制御装置及び方法
JP2008097502A (ja) 2006-10-16 2008-04-24 Hitachi Ltd 容量監視方法及び計算機システム
WO2009032712A2 (en) * 2007-08-29 2009-03-12 Nirvanix, Inc. Method and system for moving requested files from one storage location to another
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
CN101809559B (zh) * 2007-09-05 2013-10-16 伊姆西公司 在虚拟化服务器和虚拟化存储环境中的去重复
US8880797B2 (en) 2007-09-05 2014-11-04 Emc Corporation De-duplication in a virtualized server environment
JP5238235B2 (ja) * 2007-12-07 2013-07-17 株式会社日立製作所 管理装置及び管理方法
JP4616899B2 (ja) * 2008-05-26 2011-01-19 株式会社日立製作所 管理サーバ、プール増設方法および計算機システム
US20100030960A1 (en) * 2008-07-31 2010-02-04 Hariharan Kamalavannan Raid across virtual drives
CN101414277B (zh) * 2008-11-06 2010-06-09 清华大学 一种基于虚拟机的按需增量恢复容灾系统及方法
US8874867B2 (en) * 2008-11-21 2014-10-28 Lsi Corporation Identification and containment of performance hot-spots in virtual volumes
KR101222129B1 (ko) * 2008-12-22 2013-01-15 한국전자통신연구원 메타데이터 서버 및 메타데이터 서버의 디스크볼륨 선정 방법
US8566520B1 (en) * 2009-10-05 2013-10-22 Marvell International Ltd. Storage space allocation for logical disk creation
JP5540692B2 (ja) * 2009-12-22 2014-07-02 日本電気株式会社 ストレージ装置及びそのストレージ装置の記憶容量拡張方法
US8429346B1 (en) * 2009-12-28 2013-04-23 Emc Corporation Automated data relocation among storage tiers based on storage load
JP5552924B2 (ja) * 2010-06-30 2014-07-16 富士通株式会社 ストレージ制御プログラム、ストレージシステムおよびストレージ制御方法
US8856483B1 (en) 2010-09-21 2014-10-07 Amazon Technologies, Inc. Virtual data storage service with sparse provisioning
US8745354B2 (en) * 2011-03-02 2014-06-03 Hitachi, Ltd. Computer system for resource allocation based on orders of proirity, and control method therefor
US8856440B2 (en) 2011-09-12 2014-10-07 Microsoft Corporation Volatile memory representation of nonvolatile storage device set
KR101232654B1 (ko) * 2012-09-11 2013-02-13 효성아이티엑스(주) 블록디바이스 기반의 가상 스토리지 서비스 시스템 및 방법
KR101242458B1 (ko) * 2012-09-13 2013-03-12 효성아이티엑스(주) 지능형 분산 스토리지 서비스 시스템 및 방법
JP6544039B2 (ja) * 2015-05-20 2019-07-17 富士通株式会社 ストレージ制御装置、ストレージ制御プログラムおよびストレージシステム
CN105630702A (zh) * 2015-12-18 2016-06-01 浪潮(北京)电子信息产业有限公司 一种逻辑卷创建方法与系统
CN106843751B (zh) * 2016-12-27 2019-11-29 华为技术有限公司 放置存储卷的方法和设备
US20180293013A1 (en) * 2017-04-06 2018-10-11 Dell Products, Lp System and Method for Dynamically Allocating Storage Drives in a Storage Array

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0689125A2 (en) * 1994-06-22 1995-12-27 Hewlett-Packard Company Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array
US20030079014A1 (en) * 2001-10-22 2003-04-24 Lubbers Clark E. System and method for interfacing with virtual storage
CN1474275A (zh) * 2002-08-06 2004-02-11 中国科学院计算技术研究所 基于虚拟存储的智能网络存储设备的系统
US20040068636A1 (en) * 2002-10-03 2004-04-08 Michael Jacobson Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system
CN1506839A (zh) * 2002-12-06 2004-06-23 中国科学院计算技术研究所 基于可配置虚拟磁盘阵列的高可用网络存储系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2924167B2 (ja) 1990-11-16 1999-07-26 株式会社日立製作所 記憶装置群の制御方法
JPH06103123A (ja) 1992-09-18 1994-04-15 Hokkaido Nippon Denki Software Kk 二次記憶装置割当方式
JP2625382B2 (ja) 1993-07-23 1997-07-02 日本電気株式会社 ファイル割り当てシステム
JPH10198526A (ja) * 1997-01-14 1998-07-31 Fujitsu Ltd Raid装置及びそのアクセス制御方法
US6061761A (en) * 1997-10-06 2000-05-09 Emc Corporation Method for exchanging logical volumes in a disk array storage device in response to statistical analyses and preliminary testing
US7035989B1 (en) * 2000-02-16 2006-04-25 Sun Microsystems, Inc. Adaptive memory allocation
US6715054B2 (en) * 2001-05-16 2004-03-30 Hitachi, Ltd. Dynamic reallocation of physical storage
JP4380240B2 (ja) * 2003-07-01 2009-12-09 株式会社日立製作所 ヒントに基づく記憶領域の割当と性能保証方法、記憶装置及び管理プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0689125A2 (en) * 1994-06-22 1995-12-27 Hewlett-Packard Company Method of utilizing storage disks of differing capacity in a single storage volume in a hierarchic disk array
US20030079014A1 (en) * 2001-10-22 2003-04-24 Lubbers Clark E. System and method for interfacing with virtual storage
CN1474275A (zh) * 2002-08-06 2004-02-11 中国科学院计算技术研究所 基于虚拟存储的智能网络存储设备的系统
US20040068636A1 (en) * 2002-10-03 2004-04-08 Michael Jacobson Virtual storage systems, virtual storage methods and methods of over committing a virtual raid storage system
CN1506839A (zh) * 2002-12-06 2004-06-23 中国科学院计算技术研究所 基于可配置虚拟磁盘阵列的高可用网络存储系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102546830A (zh) * 2012-02-27 2012-07-04 辛旻 一种服务器中实现存储的方法和系统
CN102546830B (zh) * 2012-02-27 2015-06-24 辛旻 一种服务器中实现存储的方法和系统

Also Published As

Publication number Publication date
CN1766852A (zh) 2006-05-03
US7447838B2 (en) 2008-11-04
KR100674063B1 (ko) 2007-01-25
KR20060042989A (ko) 2006-05-15
US20060095706A1 (en) 2006-05-04
JP4402565B2 (ja) 2010-01-20
JP2006127143A (ja) 2006-05-18

Similar Documents

Publication Publication Date Title
CN100382051C (zh) 虚拟存储器管理方法和设备
US8145842B2 (en) Management method for a virtual volume across a plurality of storages
CN100422959C (zh) 用于交错存储器的系统和方法
US7711858B2 (en) Management of background copy task for point-in-time copies
US9043571B2 (en) Management apparatus and management method
EP0012951B1 (en) Data processing system including a data storage control unit
US6728832B2 (en) Distribution of I/O requests across multiple disk units
US8117619B2 (en) System and method for identifying least busy resources in a storage system using values assigned in a hierarchical tree structure
US20080148015A1 (en) Method for improving reliability of multi-core processor computer
US8402214B2 (en) Dynamic page reallocation storage system management
JP2004164370A (ja) 仮想ボリュームの記憶領域割当方法、その装置及びプログラム
JP2008097502A (ja) 容量監視方法及び計算機システム
US7130928B2 (en) Method and apparatus for managing i/o paths on a storage network
CN103080894A (zh) 存储系统、存储系统的管理方法和程序
JP2009230381A (ja) ストレージシステム及びボリューム割当方法並びに管理装置
US7882283B2 (en) Virtualization support in a multiprocessor storage area network
US8677014B2 (en) Fine granularity exchange level load balancing in a multiprocessor storage area network
EP1548561B1 (en) Storage control apparatus and a control method thereof
CN100399306C (zh) 存储系统及其逻辑分区设置方法
US8261038B2 (en) Method and system for allocating storage space
US7379974B2 (en) Multipath data retrieval from redundant array
US20060005196A1 (en) Resource allocation in a computer-based system
CN112486411B (zh) 超融合环境下分布式文件系统磁盘分配方法、装置及介质
US9065740B2 (en) Prioritising data processing operations
JPH10198528A (ja) アレイ記憶装置およびその制御方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080416

Termination date: 20170228

CF01 Termination of patent right due to non-payment of annual fee