CN110874189B - 存储系统和存储控制方法 - Google Patents
存储系统和存储控制方法 Download PDFInfo
- Publication number
- CN110874189B CN110874189B CN201910137500.2A CN201910137500A CN110874189B CN 110874189 B CN110874189 B CN 110874189B CN 201910137500 A CN201910137500 A CN 201910137500A CN 110874189 B CN110874189 B CN 110874189B
- Authority
- CN
- China
- Prior art keywords
- volume
- invalid
- capacity
- volumes
- request
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一般而言,因为I/O处理的优先级高,所以难以迅速进行卷结构变更。如果使卷结构变更的优先级比I/O处理的优先级高,则I/O处理的性能可能降低。本发明的存储系统,具有处理器,提供作为I/O(Input/Output)请求的对象的卷,接收I/O请求而执行I/O,其具有作为I/O请求的对象提供的有效卷、和没有进行该提供的无效卷。在多个无效卷中包含多种容量的无效卷。处理器在接收到卷创建请求的情况下,基于该卷创建请求的容量,选择无效卷,将选择出的无效卷转换为有效的有效卷,提供该有效化后的有效卷。
Description
技术领域
本发明主要涉及存储控制。
背景技术
关于存储系统,例如已知专利文献1的技术。专利文献1中公开了如下内容:“提供了一种存储系统,所述存储系统的各微处理器能够根据存储系统的运行状况,执行同步处理和异步处理。根据存储系统的运行状况,在各微处理器中设定有预先准备的多个属性(工作模式)中的任一属性。可定期检查并变更各微处理器中设定的属性”。
现有技术文献
专利文献
专利文献1:日本特表2013-515292号公报
发明内容
发明要解决的课题
下面,将根据卷个数(卷的个数)和卷容量(卷的存储容量)的结构称为“卷结构”。另外,将响应于I/O(Input/Output)指令而进行I/O并返回响应的处理称为“同步处理”,将同步处理以外的规定的处理称为“异步处理”。
一般而言,管理者在服务开始前将卷结构设定于存储系统,服务开始后,进行卷结构的变更的频率小。因此,在存储系统中,通常,异步处理(例如,卷结构变更的处理)的优先级比同步处理的优先级低。
近年来,随着VM(Virtual Machine)或容器等虚拟环境或SDS(Software DefinedStorage)的崛起,在服务开始后进行卷结构变更的频率变高。例如,在使用VM的所谓的自动测试中,定期(例如,几小时的间隔)进行卷的创建和丢弃。
从卷结构变更的开始到完成为止,有时会运行卷的创建或卷容量的变更等处理,有时会耗费时间。如果卷结构变更的频率变高,则理想的是迅速进行卷结构变更(特别是上述那样的虚拟环境)。
但是,如上所述,在存储系统中,一般而言,同步处理的优先级较高(例如最高),所以难以迅速进行卷结构变更。作为迅速进行卷结构变更的方法,可以考虑使卷结构变更的优先级比同步处理的优先级高,但这样一来,同步处理的性能(即I/O性能)可能降低。
用于解决课题的方法
本发明的存储系统,具有处理器,提供作为I/O(Input/Output)请求的对象的卷,接收I/O请求而执行I/O,其具有作为I/O请求的对象提供的有效卷、和没有进行该提供的无效卷。在多个无效卷中包含多种容量的无效卷。处理器在接收到卷创建请求的情况下,基于该卷创建请求的容量,选择无效卷,将选择出的无效卷转换为有效的有效卷,提供该有效化后的有效卷。
发明效果
根据本发明,能够期待抑制I/O处理的性能降低,同时提高卷结构变更的处理性能。
附图说明
图1是表示实施例1的概要的示意图。
图2是表示包含存储系统的系统整体的结构的图。
图3是表示计算节点的硬件结构的图。
图4是表示存储节点的硬件结构的图。
图5是表示存储节点具有的功能和表的图。
图6是表示卷结构表的结构的图。
图7是表示操作请求历史表的结构的图。
图8是表示上限管理表的结构的图。
图9是作为卷结构变更的操作请求的一例的卷创建请求的处理的流程图。
图10是卷大小调整处理的流程图。
图11是预测准备处理的流程图。
图12是预测准备处理中的卷创建处理的流程图。
图13是预测准备处理的一个具体例的说明图。
图14是指令处理的流程图。
图15是表示实施例2的卷创建计划表的结构的图。
图16是实施例2的预测准备处理的流程图。
图17是表示实施例3的池操作历史表的结构的图。
图18是实施例3的预测准备处理的流程图。
图19是基于池操作历史表的预测准备处理的流程图。
图20是表示实施例4的概要的示意图。
附图标记说明
100 存储系统
具体实施方式
在以下说明中,“接口部”可以为一个以上的接口。该一个以上的接口可以为一个以上的同种类的通信接口设备(例如,一个以上的NIC(Network Interface Card)),也可以为两个以上的不同种类的通信接口设备(例如,NIC和HBA(Host Bus Adapter))。
另外,在以下说明中,“存储器部”为一个以上的存储器,典型而言,可以为主存储设备。
另外,在以下说明中,“PDEV部”为一个以上的PDEV,典型而言,可以为辅助存储设备。“PDEV”为存储设备的一例,特别是指物理存储设备(Physical storage DEVice),典型为非易失性存储设备。
另外,在以下说明中,“存储部”为存储器部和PDEV部的至少一部分中的至少一个(典型而言,至少为存储器部)。
另外,在以下说明中,“处理器部”为一个以上的处理器。典型而言,至少一个处理器为像CPU(Central Processing Unit)那样的微处理器,但也可以为像GPU(GraphicsProcessing Unit)那样的其他种类的处理器。至少一个处理器可以为单核,也可以为多核。至少一个处理器也可以为进行处理的一部分或全部的硬件电路(例如FPGA(Field-Programmable Gate Array)或ASIC(Application Specific Integrated Circuit))等广义的处理器。
另外,在以下说明中,有时通过“xxx表”等表现,对针对输入可进行输出的信息进行说明,但这种信息可以为任意结构的数据,也可以为产生针对输入的输出的像神经网络那样的学习模型。从而,能够将“xxx表”称为“xxx信息”。另外,在以下说明中,各表的结构为一例,一个表可以被分割成两个以上的表,两个以上的表的全部或一部分也可以为一个表。
另外,在以下说明中,有时用“kkk部”(除接口部、存储部和处理器部外)的表达对功能进行说明,但功能也可以通过处理器部执行一个以上的计算机程序来实现,也可以通过一个以上的硬件电路(例如FPGA或ASIC)来实现。在通过处理器部执行程序来实现功能的情况下,可以一边适当地使用存储部和/或接口部等一边进行规定的处理,所以也可以将功能设为处理器部的至少一部分。也可以将以功能为主语进行说明的处理设为处理器部或具有该处理器部的装置进行的处理。可以从程序源安装程序。程序源例如可以为程序分发计算机或计算机可读取的记录介质(例如,非暂时性记录介质)。各功能的说明仅为一例,可以将多个功能汇总成一个功能,也可以将一个功能分割成多个功能。
另外,在以下说明中,“存储系统”可以为包含一个以上的物理计算机的系统。物理计算机可以是通用计算机也可以是专用计算机。在至少一个物理计算机中,可以执行一个以上的虚拟计算机(例如VM(Virtual Machine))。虚拟计算机可以为发出I/O指令的计算机,也可以为响应于I/O指令而进行数据的I/O的计算机。通过物理计算机执行规定的软件,可以在该物理计算机或包含该物理计算机的系统中构建SDx(Software-Definedanything)。作为SDx,例如能够采用SDS(Software Defined Storage)或SDDC(Software-defined Datacenter)。例如,可以通过用物理的通用计算机执行具有存储功能的软件,而构建作为SDS的存储系统。另外,至少一个物理计算机(例如存储装置)可以执行作为主机系统的一个以上的虚拟计算机、和作为存储系统的存储控制系统(典型而言,响应于I/O指令而将数据输入输出到PDEV部的控制器)的虚拟计算机。换言之,该至少一个物理计算机可以具有作为主机系统的至少一部分的功能、和作为存储控制系统的至少一部分的功能的两者。
另外,在以下说明中,“卷”为逻辑卷的缩写,也可以为逻辑存储设备(例如,地址空间)。卷可以为基于存储系统具有的物理存储资源(例如,一个以上的PDEV)的实体卷,也可以为根据虚拟化技术(例如,Thin Provisioning)的虚拟卷。
(实施例1)
图1是表示实施例1的概要的示意图。
存储系统100在从计算节点150(主机系统的一例)接收I/O(Input/Output)请求的情况下,进行基于该I/O指令进行I/O并返回响应的处理即同步处理、和同步处理以外的处理即异步处理。存储系统100具有结构变更部110、卷结构表140和操作请求历史表130。卷结构表140表示卷结构(本实施例中为卷容量和卷个数的关系)。卷结构表140例如按每个卷保持表示状态标志(表示有效或无效的标志)和容量的信息。操作请求历史表130表示卷结构变更的操作请求的历史。操作请求历史表130为变更存储系统100的卷容量和卷个数中的至少一个的表,其一例为关于创建变更即卷结构变更的历史的一例的至少一部分。
结构变更部110具有结构变更设定部111、结构变更执行部112和操作请求接收部113。如果在需要时(例如,接收卷创建请求时)不存在所需卷容量(例如,卷创建请求中指定的卷容量)的无效卷,则结构变更执行部112在进行了创建变更(所需卷容量的无效卷的新建、或具有与所需卷容量不同的卷容量的无效卷的卷容量的变更)的基础上,进行该卷的有效化。另一方面,如果在需要时存在所需卷容量的无效卷,则结构变更执行部112进行该无效卷的有效化。无需对该卷进行上述创建变更。此外,“无效卷”是指例如虽存在但因没有被提供而不能进行I/O的状态的卷(例如,没有提供给计算节点150的卷)。“卷的有效化”是指使无效卷成为有效卷。“有效卷”是指因被提供而能够进行I/O的状态的卷(例如,被提供给计算节点150的卷)。
作为本实施例中进行的处理,例如有卷结构变更的预测(设定的一例)和伴随该预测的准备处理、以及结构变更操作请求的接收和遵从该操作请求的卷结构变更。
<A.卷结构变更的预测和伴随该预测的准备处理>
结构变更设定部111参照操作请求历史表130(A1),对将来新需要的卷容量和卷个数的组进行预测。预测出的组被输入到结构变更执行部112(A2)。
结构变更执行部112参照卷结构表140(A3),按每个预测出的卷容量,对NE(预测出的卷个数)和NR(与该卷容量相同的卷容量的既存的无效卷的个数)进行比较。如果有NR比NE小的卷容量(例如,如果存在既存的无效卷一个也不存在的卷容量),则结构变更执行部112进行预先准备该卷容量的卷的准备处理,具体而言,进行创建该卷容量的卷等卷结构变更。对该卷容量创建的卷的个数例如为NDIF(=NE-NR)以上。结构变更执行部112按照该准备处理,更新卷结构表140(A4)。
根据图1中例示的处理,在需要时所需卷容量的无效卷存在的可能性增加。作为结果,在一个作为异步处理的卷结构变更中进行卷的有效化即可,无需进行上述创建变更。因此,能够期待抑制同步处理的性能降低,同时提高卷结构变更的处理性能。
<B.结构变更操作请求的接收和遵从该操作请求的卷结构变更>
操作请求接收部113从计算节点150(或存储系统100的未图示的管理计算机)接收结构变更操作(用于卷结构的变更的操作)的请求(B1)。操作请求接收部113将接收到的操作请求的内容通知结构变更执行部112(B2)。
结构变更执行部112将该操作请求的内容记录到操作请求历史表130(B3)。即,将该操作请求的内容追加到卷结构变更的历史。
接收到的操作请求如果是卷创建的请求,则在该操作请求中指定卷容量和卷个数。结构变更执行部112参照卷结构表140(B4),进行是否需要创建卷的判定。在此,为了使说明简单,将所指定的卷个数设为“1”。如果不存在与所指定的卷容量相同或不同的卷容量的无效卷,则判定结果为真(需要进行卷的创建)。另一方面,如果存在与所指定的卷容量相同或不同的卷容量的无效卷,则判定结果为假(无需进行卷的创建)。
在判定结果为真的情况下,结构变更执行部112创建卷,将创建出的卷有效化之后(将关于该卷的信息记录到卷结构表140之后)(B5),返回响应(B6)。
在判定结果为假的情况下,例如有如下两种情况。如果存在的无效卷的容量与所指定的卷容量相同,则结构变更执行部112可以进行卷的有效化(关于该卷,将卷结构表140中的状态标志从无效变更为有效)(B5),并返回响应即可(B6)。另一方面,即使存在的无效卷的容量与所指定的卷容量不同,结构变更执行部112也进行卷的有效化(B5),并返回响应(B6),之后,进行该卷的容量的变更。因此,在判定结果为假的情况下,无论存在的无效卷的容量与所指定的卷容量相同还是不同,至响应为止的时间都短。
操作请求接收部113从结构变更执行部112接收响应,基于该响应,将针对接收到的结构变更操作请求的响应返回到计算节点150(B7)。
以下,详细说明本实施例。
图2是表示包含存储系统100的系统整体的结构的图。
存储系统100为向外扩展(scale out)型系统,由一个以上的存储节点250构成。各存储节点250与前端的网络201连接,经由该网络201,从一个以上的计算节点150分别接收卷结构变更的操作请求或I/O指令。另外,各存储节点250与后端的网络202连接,经由该网络202,进行存储节点250间的通信。网络201和202可以分别为WAN(Wide Area Network)或LAN(Local Area Network)等任一种类的网络。另外,网络201和202也可以为一体。
图3是表示计算节点150的硬件结构的图。
计算节点150具有接口部310、存储部320和与它们连接的处理器部330。接口部310与前端的网络201连接。存储部320保存一个以上的程序。处理器部330通过执行该一个以上的程序(根据需要,响应于用户进行的操作),将指定由存储系统100提供的卷的I/O指令、或用于存储系统100的卷结构的变更的操作请求发到存储系统100。
图4是表示存储节点250的硬件结构的图。
存储节点250具有接口部410、存储部420和与它们连接的处理器部430。接口部410与前端的网络201和后端的网络202连接。存储部420存储一个以上的程序和管理信息。处理器部430通过执行该一个以上的程序,实现像上述的结构变更部110那样的功能。管理信息为包含关于存储系统100的信息的信息,具体而言,例如包含上述的操作请求历史表130和卷结构表140。
图5是表示存储节点250具有的功能和表的图。
在存储节点250中,通过处理器部430执行一个以上的程序,实现指令处理部502和结构变更部110的功能。结构变更部110包含结构变更设定部111、结构变更执行部112和操作请求接收部113。这些功能在后面进行叙述。
另外,存储节点250,作为管理信息500中包含的表,包含卷结构表140、操作请求历史表130和上限管理表511。参照图6~图8,对这些表140、130和511进行说明。管理信息中的任一表在存储节点250之间也可以为同一内容(例如,在更新了任一存储节点250的任一表的一例即表140的情况下,可以将该更新经由后端的网络202,反映到各其它的存储节点250中的表140)。或者,主存储节点250也可以保持所有存储节点250的管理信息。
图6是表示卷结构表140的结构的图。
卷结构表140保持关于卷结构的信息。例如,卷结构表140按每个卷具有条目。各条目保存卷ID601、节点ID602、节点IP603、内部容量604、外部容量605和状态标志606等信息。下面,以一个卷为例(在图6的说明中为“对象卷”)。
卷ID601表示对象卷的ID(识别信息)。节点ID602表示具有对象卷的存储节点250的ID。节点IP603表示具有对象卷的存储节点250的IP地址(网络201上的地址的一例)。内部容量604表示作为对象卷的实际容量的内部容量(存储节点250内部管理的容量)。外部容量605表示作为对象卷的内部容量中的实际提供的容量的外部容量(例如,计算节点150展示的容量)。状态标志606表示对象卷有效还是无效。
如图6所示,对于与状态标志606“无效”对应的卷,外部容量605为空白(“-”)。其原因在于,没有提供容量。
图7是表示操作请求历史表130的结构的图。
操作请求历史表130表示卷结构变更的历史。“卷结构变更”是指变更卷容量和卷个数中的至少一个,其一例为上述创建变更。例如,操作请求历史表130按每个操作请求具有条目。各条目存储请求源IP701、请求种类702、卷容量703、卷个数704、卷ID705和接收日期时间706等信息。下面,以一个操作请求为例(在图7的说明中为“对象操作请求”)。
请求源IP701表示对象操作请求的发送源的计算节点150的IP地址(节点IP)。请求种类702表示由对象操作请求指定的卷变更操作的种类(例如,“卷创建”、“卷删除”)。卷容量703表示由对象操作请求指定的卷容量。卷个数704表示由对象操作请求指定的卷个数。卷ID705表示由对象操作请求指定的卷ID。接收日期时间706表示接收对象操作请求的日期时间。
图8是表示上限管理表511的结构的图。
上限管理表511表示对于各存储节点250可能存在的卷的个数的上限即存在上限。存在上限被规定,由此,能够限制包含像卷结构表140那样的表的管理信息500的大小(例如,存储器的消耗量)。例如,上限管理表511按每个存储节点250具有条目。各条目保存节点ID801、节点IP802、存储器量803和上限804等信息。下面,以一个存储节点250为例(在图8的说明中为“对象存储节点250”)。
节点ID801表示对象存储节点250的ID。节点IP802表示对象存储节点250的IP地址。存储器量803表示对象存储节点250具有的存储器量(存储部420内的存储器部的容量)。上限804表示对象存储节点250中可能存在的卷的个数的上限即存在上限。对于对象存储节点250,可以基于存储器量803自动决定存在上限。
下面,对本实施例中进行的处理的一例进行说明。
图9是卷结构变更的操作请求的一例即卷创建请求的处理的流程图。
操作请求接收部113接收卷创建请求(S901)。结构变更执行部112将该卷创建请求的内容记录到操作请求历史表130(S902)。
结构变更执行部112决定根据该卷创建请求的卷的创建目标的存储节点250(S903)。该决定可以按照规定的策略(例如,随机或循环(Round Robin))进行。
对于S903中决定出的存储节点250(下面,在图9的说明中为决定节点250),结构变更执行部112基于卷结构表140,取得无效卷的一览(例如,内部容量和卷个数的组的一览)(S904)。
结构变更执行部112基于S904中取得的一览,对是否需要将根据上述卷创建请求的卷创建到决定节点250进行判定(S905)。在此,如果该一览中没有关于无效卷的信息,即,如果决定节点250中没有无效卷,则S905的判定结果为真(S905:YES)。另一方面,如果决定节点250中有无效卷,则S905的判定结果为假(S905:NO)。下面,为了使图9的说明简单,如果卷创建请求中指定的卷个数为“2”或比2大,且决定节点250中无效卷不足,则对于该指定的卷个数的至少一部分,S905:YES。即,在指定的卷个数为“2”或比2大的情况下,该指定的卷个数有时为S905:YES、S905:NO或这两者。
在S905的判定结果为真的情况下(S905:YES),结构变更执行部112将与所指定的卷容量相同的内部容量的卷创建到决定节点250(S906),将关于该创建的卷的条目追加到卷结构表140(S907)。
另一方面,在S906的判定结果为假的情况下(S905:NO),跳过S906和S907。
结构变更执行部112进行关于上述指定的卷容量而决定出的无效卷的有效化,具体而言,将与该卷对应的状态标志606从“无效”变更为“有效”(S908)。下面,为了使图9和图10的说明简单,在图9和图10的说明中,将决定出的有效化后的卷称为“对象卷”。
操作请求接收部113返回针对上述卷创建请求的响应(S909)。该响应为表示进行新建所需卷容量的无效卷、或进行具有与所需卷容量不同的卷容量的无效卷的卷容量的变更等创建变更之后,进行该卷的有效化的创建完成的响应。
根据以上流程,无论与所指定的卷容量相同的内部容量的无效卷存在与否,只要有无效卷,作为该卷创建请求的发送源的计算节点150就能够在发送卷创建请求之后在短时间内接收响应。其原因在于,跳过了S906和S907。而且,在后述的预测准备处理中预先基于操作请求历史表130准备无效卷的可能性高。作为结果,根据卷创建请求的处理成为高速的可能性增加。
在S909之后,结构变更执行部112对对象卷进行卷大小调整处理(图9)(S910)。
此外,在S905:YES的情况下,创建出的卷的外部容量605与内部容量604相同,该内部容量604表示与所指定的卷容量相同的容量。
在S905:NO的情况下,如果有与所指定的卷容量一致的与内部容量604对应的无效卷,则这种无效卷在S908中被有效化,且该卷的外部容量605被设为与该内部容量604相同的值。另一方面,如果没有与所指定的卷容量一致的与内部容量604对应的无效卷,则任一无效卷(例如,与所指定的卷容量最近的与内部容量604对应的无效卷)在S908中被有效化,且该卷的外部容量605被设为与所指定的卷容量相同的值(因此,对于该卷,外部容量605与内部容量604不同)。另外,关于卷创建请求的处理,所执行的操作请求接收部113和结构变更执行部112可以存在于同一存储节点250,也可以存在于不同的存储节点250。
图10是卷大小调整处理的流程图。
对于对象卷,结构变更执行部112参照卷结构表140,计算外部容量605和内部容量604的差值(S1001)。结构变更执行部112对计算的差值是否为0进行判定(S1002)。在S1002的判定结果为真的情况下(S1002:YES),处理结束。
在S1002的判定结果为假的情况下(S1002:NO),结构变更执行部112对内部容量604是否比外部容量605大进行判定(S1003)。在S1003的判定结果为真的情况下(S1003:YES),结构变更执行部112进行卷缩小(即,将对象卷的内部容量缩小到与外部容量一致的程度的处理)(S1004)。在S1003的判定结果为假的情况下(S1003:NO),结构变更执行部112进行卷扩展(即,将对象卷的内部容量增大到与外部容量一致的程度的处理)(S1005)。在S1004或S1005之后,结构变更执行部112将内部容量604更新为表示变更后的内部容量的值(S1006)。
图11是预测准备处理的流程图。预测准备处理定期或不定期开始。在图11中,S1101和S1102属于预测准备处理中的预测处理,S1103~S1109属于预测准备处理中的准备处理。
结构变更设定部111从操作请求历史表130取得在某一定期间(例如,从上次的图11的预测准备处理到这次的图11的预测准备处理为止的期间)接收日期时间706所属的历史部分(所有条目)(S1101)。结构变更设定部111按每个所取得的历史部分表示的卷容量,基于所取得的历史部分,对卷个数(NE)进行统计(S1102)。对于各卷容量,该卷容量和对该卷容量统计的卷个数的组为预测出的卷容量和预测出的卷个数的组的一例。此外,卷容量和卷个数的组的预测可以基于以历史部分为规定的学习模型的输入而得到的输出。
结构变更执行部112从卷结构表140确定无效卷(S1103),按每个卷容量(具体而言,例如,针对与S1102中的各卷容量相同的内部容量),在S1103中对确定出的无效卷的个数(NR)进行统计(S1104)。
结构变更执行部112按每个卷容量,计算NDIF=NE-NR(S1105)。NE为S1102中计算出的卷个数。NR为S1104中计算出的卷个数。
如果有NDIF为负的卷容量,则结构变更执行部112将该卷容量的所有无效卷中最大且NDIF的绝对值量的无效卷删除(S1106)。由此,对于具有该删除后的卷的存储节点250,对应于该存储节点250的存在上限(上限804表示的值)与既存的卷的个数之间出现更大的差。换言之,可新建的卷的个数增加。
结构变更执行部112将正的NDIF降序排列(S1107)。结构变更执行部112进行卷创建处理(图12)(S1108)。结构变更执行部112进行S1107中创建的各卷的无效化(将各卷的状态标志606设为“无效”)(S1109)。
图12是预测准备处理中的卷创建处理的流程图。
结构变更执行部112对于正的NDIF的所有卷容量,从NDIF大的卷容量开始依次进行循环B(循环A)。在由卷创建请求指定的情况下,NDIF为正的卷容量中越是NDIF大的卷容量,卷存在的可能性越低,但根据图12,越是NDIF大的卷容量,卷越被优先设为创建对象。因此,在卷创建请求的处理中,能够提高具有与所指定的卷容量相同的内部容量的卷存在的可能性。下面,以一个卷容量为例(在图12的说明中为“对象容量”)。
对于对象容量,循环B反复进行下述S1201~S1203,直到创建出的卷(与对象容量相同的内部容量的卷)的个数达到NDIF。
即,结构变更执行部112决定作为卷的创建目标的存储节点250(S1201)。在S1201中,例如,结构变更执行部112参照卷结构表140和上限管理表511,决定存在上限与存在的卷的个数之差最大的存储节点250为创建目标。
结构变更执行部112将与对象容量相同的内部容量的卷创建到S1201中决定出的存储节点250,将与该卷相关的条目追加到卷结构表140(S1202)。
结构变更执行部112参照卷结构表140和上限管理表511,对所有存储节点250中存在的卷的个数是否达到所有存储节点250的存在上限的合计进行判定(S1203)。
在S1203的判定结果为假的情况下(S1203:NO),对于对象容量,创建出的卷的个数递增,如果递增后的卷个数未达到NDIF,则处理返回S1201。
另一方面,在S1203的判定结果为真的情况下(S1203:YES),卷创建处理结束。
参照图13,对预测准备处理的一个具体例进行说明。此外,在图13的具体例中,为了使说明简单,将卷容量设为1TB、2TB、3TB、4TB、5TB和6TB这六种。
对于各卷容量,在S1102中计算NE,在S1104中计算NR,在S1105中计算NDIF。根据图13的例,存储系统100中存在的卷的个数为150,存储系统100的存在上限(所有存储节点250的存在上限的合计)为250,所以可创建的卷的个数为100(=250-150)。另一方面,不足量(正的NDIF的合计)为170(=80+80+10)。因此,不能创建所有的不足量的卷。
为了即使在这种情况下,也能尽量多地创建不足量的卷,结构变更执行部112在S1106中对于NDIF为负的各卷容量,将最大且NDIF的绝对值量的无效卷删除。根据图13的例,对于NDIF为负的各卷容量,将NDIF的绝对值量的无效卷,即,60(=20(对于1TB)+20(对于2TB)+20(对于6TB))的卷删除。因此,存储系统100中存在的卷的个数为90(150-60)。因此,能够新建160(=250-90)的卷。即,可创建的卷的最大数为160。
之后,在S1108中,对于NDIF为正的各卷容量,越是NDIF大的卷容量,越优先以卷为创建对象。根据图13的例,首先,创建80(=NDIF)个5TB的卷。作为结果,可创建的卷的最大数为80(=160-80)。接着,创建80(=NDIF)个4TB的卷。作为结果,可创建的卷的个数为0(=80-80)。因此,对于3TB,NDIF=10,但不能创建3TB的卷。因此,在创建80个4TB的卷时,图12的S1203:YES。
图14是指令处理的流程图。
指令处理部502从计算节点150接收指令(S1401),对该指令进行解析(S1402),确定与由该指令指定的卷ID对应的卷即指令对象卷(S1403)。
指令处理部502对指令对象卷是否为有效卷进行判定,具体而言,对与指令对象卷对应的状态标志606是否为“有效”进行判定(S1404)。在S1404的判定结果为假的情况下(S1404:NO),指令处理部502生成规定的响应(例如错误)(S1410),返回该响应(S1411)。
在S1404的判定结果为真的情况下(S1404:YES),指令处理部502对接收到的指令是否为取得卷容量的指令进行判定(S1405)。
在S1405的判定结果为真的情况下(S1405:YES),指令处理部502确定与指令对象卷对应的外部容量605(S1406)。指令处理部502生成包含表示确定出的容量的信息的响应(S1410),返回该响应(S1411)。
在S1405的判定结果为假的情况下(S1405:NO),指令处理部502对接收到的指令是否为I/O指令进行判定(S1407)。在S1407的判定结果为假的情况下(S1407:NO),指令处理部502生成规定的响应(例如错误)(S1410),返回该响应(S1411)。
在S1407的判定结果为真的情况下(S1407:YES),指令处理部502对由I指令指定的访问范围(例如,起始LBA(Logical Block Address)和数据长度)是否为与指令对象卷的外部容量对应的范围进行判定(S1408)。在S1408的判定结果为假的情况下(S1408:NO),指令处理部502生成规定的响应(例如错误)(S1410),返回该响应(S1411)。
在S1408的判定结果为真的情况下(S1408:YES),指令处理部502进行根据I/O指令的I/O,生成响应(例如完成)(S1410),返回该响应(S1411)。此外,在本实施例中,“同步处理”为S1401~S1411中除S1406外的处理。
(实施例2)
对实施例2进行说明。此时,主要对与实施例1的不同点进行说明,省略或简述与实施例1的共同点(之后的实施例3和4也同样)。
在实施例2中,代替响应于卷结构变更的操作请求而进行卷结构变更,或者在此基础上,按照卷创建计划表表示的卷创建计划进行卷结构变更。
图15是表示卷创建计划表的结构的图。
卷创建计划表1500为上述管理信息500中包含的表的一个。卷创建计划表1500表示的一个以上的卷创建计划可以包含用户经由像GUI(Graphical User Interface)那样的用户接口输入的计划,也可以包含根据规定的策略自动创建的计划。卷创建计划表1500例如按每个卷创建计划具有条目。各条目保存日期时间1501、卷容量1502和卷个数1503等信息。下面,以一个卷创建计划为例(在图15的说明中为“对象计划”)。
日期时间1501表示创建根据对象计划的卷容量和卷个数的卷的日期时间。卷容量1502表示根据对象计划的卷容量。卷个数1503表示根据对象计划的卷个数。
图16是实施例2的预测准备处理的流程图。
首先,进行图11所示的预测准备处理(S1601)。此外,该预测准备处理中参照的操作请求历史表130表示的历史包含根据卷创建计划的卷创建的历史。在与根据卷创建计划的卷创建对应的条目中,请求源IP701可以为表示卷创建计划的值,接收日期时间706可以为与对应于卷创建计划的日期时间1501相同的值。
结构变更执行部112参照卷创建计划表1500(S1602)。结构变更执行部112可以参照卷创建计划表1500整体,也可以参照属于规定的期间(例如,从现在到一定时间前的日期时间为止)的条目。下面,将S1602中参照的一个以上的卷创建计划称为“参照计划组”。
结构变更执行部112参照卷结构表140,对参照计划组表示的卷容量和卷个数的无效卷存在与否进行判定(S1603)。在即使缺少一个无效卷的情况下,S1603的判定结果也为假。在图16的说明中,将缺少的无效卷称为“不足卷”。
在S1603的判定结果为真的情况下(S1603:YES),结构变更执行部112将与参照计划组对应的所有条目从卷创建计划表1500中删除(S1609)。
在S1603的判定结果为假的情况下(S1603:NO),结构变更执行部112对可否追加不足卷进行判定(S1604)。如果存储系统100中存在的卷的个数未达到存储系统100的存在上限,则S1604的判定结果为真。
在S1604的判定结果为真的情况下(S1604:YES),结构变更执行部112创建不足卷(S1605),进行表更新(S1606)。在S1606中,将与该不足卷对应的条目追加到卷结构表140。另外,在S1606中,也可以将与该卷创建对应的条目追加到操作请求历史表130。与该不足卷对应的状态标志606为“无效”。在S1606之后,结构变更执行部112进行S1609。
在S1604的判定结果为假的情况下(S1604:NO),结构变更执行部112参照卷结构表140和操作请求历史表130,确定不足卷的个数的创建出的卷的个数相对较少(尽量少)的卷容量的无效卷,将确定出的无效卷的内部容量变更为不足卷的容量(S1607)。由此,在成为参照计划组表示的日期时间时,该参照计划组表示的卷容量和卷个数的无效卷存在的可能性变高。在S1607之后,结构变更执行部112至少更新卷结构表140(S1608),进行S1609。在S1608中,更新卷结构表140中的对象条目(与变更内部容量后的无效卷对应的条目)的内部容量604。另外,在S1608中,可以将与内部容量的变更对应的条目追加到操作请求历史表130。
(实施例3)
在实施例3中,作为卷,除提供给计算节点150的前端的卷外,还有作为分配给前端的卷的存储区域的源的逻辑存储空间即结构池的后端的卷。在实施例3中,前端的卷为根据Thin Provisioning的虚拟卷,后端的卷为成为池的构成要素的池卷。作为卷结构变更的操作请求,有虚拟卷的创建、删除或容量变更等虚拟卷操作请求、和像将卷追加到池或从池中将卷删除那样的池操作请求。
图17是表示池操作历史表的结构的图。
池操作历史表1700为上述管理信息500中包含的表之一。操作请求历史表130为第1子历史的一例,而池操作历史表1700为第2子历史的一例。池操作历史表1700表示池操作请求的历史。池操作历史表1700例如按每个池操作请求具有条目。各条目保存请求源IP1701、请求种类1702、池ID1703、卷ID1704、卷容量1705和接收日期时间1706等信息。下面,以一个池操作请求为例(在图17的说明中为“对象操作请求”)。
请求源IP1701表示对象操作请求的发送源的计算节点150的IP地址。请求种类1702表示由对象操作请求指定的池操作的种类(例如,“池扩展”、“池缩小”)。池ID1703表示进行了由对象操作请求指定的池操作的池的ID。卷ID1704表示根据由对象操作请求指定的池操作进行追加或去除后的卷的ID。卷容量1705表示根据由对象操作请求指定的池操作进行追加或去除后的卷的容量。接收日期时间706表示接收对象操作请求的日期时间。
此外,在与请求种类1702“池缩小”对应的池操作中,存储于从池中去除了的卷的个数据移动到该池中存在的其它的卷,映射发生变更。映射是指虚拟卷中的区域和池中的区域的对应关系。映射的变更是指在分配了移动源的区域的虚拟区域(虚拟卷中的区域)中,分配移动目标的区域来替代移动源的区域。
图18是实施例3的预测准备处理的流程图。
首先,进行图11所示的预测准备处理(S1801)。
接着,进行基于池操作历史表1700的预测准备处理(图19)(S1802)。
结构变更执行部112参照卷结构表140,对池中是否存在最新需要的卷容量和卷个数的无效卷进行判定(S1803)。在哪怕只缺少一个无效卷的情况下,S1803的判定结果为假。在图18的说明中,将缺少的无效卷称为“不足卷”。不足卷为追加到池中的卷。不足卷的个数和容量分别为在基于池操作历史表1700的预测准备处理(S1802)中预测出的(计算出的)数值。
在S1803的判定结果为假的情况下(S1803:NO),结构变更执行部112对能否追加不足卷进行判定(S1804)。如果存储系统100中存在的卷的个数未达到存储系统100的存在上限,则S1804的判定结果为真。在S1804的判定结果为假的情况下(S1804:NO),处理结束。
在S1804的判定结果为真的情况下(S1804:YES),结构变更执行部112创建不足卷(S1805),进行表更新(S1806)。在S1806中,将与该不足卷对应的条目追加到卷结构表140。另外,在S1806中,将与该卷创建对应的条目追加到操作请求历史表130和池操作历史表1700。与该不足卷对应的状态标志606为“无效”。
在S1803的判定结果为假的情况下(S1803:NO),结构变更执行部112参照卷结构表140和操作请求历史表130,确定不足卷的个数的创建出的卷的个数相对较少(尽量少)的卷容量的无效卷,将确定出的无效卷的内部容量变更为不足卷的容量(S1807)。由此,将来的池操作中池中最新可能需要的卷容量和卷个数的无效卷在该将来的池操作中存在的可能性增加。在S1807之后,结构变更执行部112至少更新卷结构表140(S1808)。在S1808中,更新卷结构表140中的对象条目(与变更内部容量后的无效卷对应的条目)的内部容量604。另外,在S1808中,可以将与内部容量的变更对应的条目追加到操作请求历史表130。
图19是基于池操作历史表1700的预测准备处理的流程图。
结构变更设定部111在池操作历史表1700中的某一定期间(例如,从上次的图19的预测准备处理到这次的图19的预测准备处理为止的期间)取得接收日期时间1706所属的历史部分(所有条目)(S1901)。结构变更设定部111按每个所取得的历史部分表示的卷容量,基于所取得的历史部分,对卷个数(PE)进行统计(S1902)。对于各卷容量,该卷容量和对该卷容量统计的卷个数(追加到池中的卷的个数)的组为基于池操作历史表1700预测出的卷容量和预测出的卷个数的组的一例。此外,对于池的卷容量和卷个数的组的预测7也可以基于以历史部分为规定的学习模型的输入而得到的输出。
结构变更执行部112从卷结构表140确定无效卷(S1903),按每个卷容量(具体而言,例如,针对与S1902中的各卷容量相同的内部容量),在S1903中对确定出的无效卷的个数(PR)进行统计(S1904)。此外,对于各卷容量,S1904中统计的卷个数也可以去掉图18的S1801中所需的无效卷的个数。
结构变更执行部112按每个卷容量,计算PDIF=PE-PR(S1905)。PE为S1902中计算的卷个数。PR为S1904中计算的卷个数。
如果有PDIF为负的卷容量,则结构变更执行部112将该卷容量的所有无效卷中最大且PDIF的绝对值量的无效卷(S1906)删除。
结构变更执行部112将正的PDIF降序排序(S1907)。结构变更执行部112对正的PDIF进行合计(S1908)。如果该合计与存储系统100中存在的卷的个数之和低于存储系统100的存在上限,则图18的S1803的判定结果为真。
(实施例4)
图20是表示实施例4的概要的示意图。在以下说明中,在不区别同种类的要素进行说明的情况下,使用附图标记中的共同部分,在区别同种类的要素进行说明的情况下,有时使用附图标记。例如,在不特别区别存储节点进行说明的情况下,记载为“存储节点250”,在区别各个存储节点250进行说明的情况下,有时记载为“存储节点250A”、“存储节点250B”。另外,在以下说明中,为了容易理解任一要素是否为任一存储节点250的要素,在存储节点250x(x=A或B)中的要素的附图标记的末尾标注x。
各存储节点250除结构变更部110外,还具有存储器镜像I/O部2000。存储器镜像I/O部2000为通过处理器部430执行一个以上的程序而实现的功能之一。存储器镜像I/O部2000进行存储器镜像的输入输出。“存储器镜像(memory image)”是指存储器部的镜像。
在本实施例中,进行如下处理。
包含表示追加存储节点250B(第2存储节点的一例)前的存储系统100的卷结构变更的操作请求的历史的操作请求历史表130的管理信息500保存于存储节点250A(第1存储节点的一例)的存储器部2002A。存储节点250A的存储器镜像I/O部2000A将包含保存于存储节点250A的存储器部2002A的管理信息500的存储器镜像2001输出。
所输出的存储器镜像2001经由例如后端的网络202,通过追加到存储系统100的存储节点250B的存储器镜像I/O部2000B,被输入到存储节点250B。存储器镜像I/O部2000B将该存储器镜像2001内的管理信息500部署到存储节点250B的存储器部2002B。由此,即使存储节点250B中没有卷结构变更的实绩,也可以存储卷结构变更的历史。存储节点250B的结构变更设定部111B基于部署在存储节点250B的存储器部2002B中的管理信息500中包含的操作请求历史表130,进行卷容量和卷个数的预测。
以上对一些实施例进行了说明,但这些仅是用于说明本发明的例示,并非旨在将本发明的范围仅限定于这些实施例中。本发明可以以其它的各种方式执行。例如,能够对上述说明进行如下总结。
一种存储系统100,其具有处理器部330,提供作为I/O(Input/Output)请求的对象的卷,接收I/O请求而执行I/O,其具有作为I/O请求的对象提供的有效卷、和没有进行提供的无效卷。在多个无效卷中包含多种容量的无效卷。处理器部330在接收到卷创建请求的情况下,基于该卷创建请求的容量,选择无效卷,将选择出的无效卷转换为有效的有效卷(例如,图1的B5),提供有效化后的有效卷(例如,图1的B6)。
处理器部330能够具有(例如,能够实现):设定无效卷的卷容量和卷个数的组的结构变更设定部111;和进行准备根据所设定的卷容量和卷个数的组的卷结构的准备处理的结构变更执行部112。
结构变更执行部112也可以按每个卷容量,计算所设定的无效卷个数与当前的无效卷个数的差值,基于该差值规定卷容量的创建优先级来创建无效卷。在上述实施例中,正的NDIF的大小相当于创建优先级的高低。创建优先级也可以不限于正的NDIF越大创建优先级越高。此外,结构变更执行部112也可以将比上述设定的数多的无效卷删除。
处理器部330在接收到卷创建请求的情况下,也可以选择与该卷创建请求的容量不同的容量的无效卷,将选择出的无效卷转换为有效卷来提供,在该提供开始后,将该有效卷的容量变更为卷创建请求的容量。
上述准备处理也可以基于表示日期时间、卷容量和卷个数的计划即卷创建计划来进行。
结构变更设定部111也可以基于关于卷的结构变更的历史,设定无效卷的卷容量和卷个数的组。存储系统100中包含的计算节点250(存储节点的一例)也可以分别具有存储器部和结构变更设定部111。也可以在多个计算节点250共享上述历史,各计算节点250的结构变更设定部111设定无效卷的卷容量和卷个数的组。
Claims (9)
1.一种存储系统,其具有处理器,提供作为I/O(Input/Output)请求的对象的卷,接收I/O请求而执行I/O,所述存储系统的特征在于:
具有作为所述I/O请求的对象来提供的有效卷、和没有进行所述提供的无效卷,
在多个所述无效卷中包含多种容量的无效卷,
所述处理器,在接收到卷创建请求的情况下,基于所述卷创建请求的容量,选择所述无效卷,将选择出的无效卷转换为有效的有效卷,提供所述有效卷,
所述处理器,设定所述无效卷的卷容量和卷个数的组,进行准备卷结构的准备处理,其中所述卷结构是根据所述设定的卷容量和卷个数的组形成的,
所述处理器,按每个所述卷容量,计算所设定的无效卷个数与当前的无效卷个数的差值,基于所述差值确定卷容量的创建优先级来创建所述无效卷。
2.如权利要求1所述的存储系统,其特征在于:
所述处理器将比所述设定的个数多的所述无效卷删除。
3.如权利要求1所述的存储系统,其特征在于:
所述处理器在接收到卷创建请求的情况下,
选择与所述卷创建请求的容量不同容量的所述无效卷,将选择出的无效卷转换为有效卷来提供,
在所述提供开始后,将所述有效卷的容量变更为所述卷创建请求的容量。
4.如权利要求1所述的存储系统,其特征在于:
基于卷创建计划进行所述准备处理,其中所述卷创建计划是表示日期时间、卷容量和卷个数的计划。
5.如权利要求1所述的存储系统,其特征在于:
作为卷,有池卷和虚拟卷,所述池卷为构成池的后端的一个以上的各个卷,所述虚拟卷为从所述池动态地被分配存储区域的前端的卷,
关于所述卷的结构变更的历史包括第1子历史和第2子历史,所述第1子历史为关于变更虚拟卷的卷容量和卷个数中的至少一者的历史,所述第2子历史为关于变更池的卷容量和卷个数中的至少一者的历史,
在具有与所设定的卷容量相同的卷容量的无效卷的所述准备处理后的个数为对该卷容量设定的卷个数以上的情况下,所述处理器从所述历史中确定创建出的卷的个数相对较少的卷容量,
且将具有该确定出的卷容量的至少一个无效卷的卷容量变更为基于所述第2子历史设定的卷容量。
6.如权利要求1所述的存储系统,其特征在于:
所述处理器基于关于所述卷的结构变更的历史,设定所述无效卷的卷容量和卷个数的组。
7.如权利要求6所述的存储系统,其特征在于:
所述存储系统中包含的存储节点分别具有存储器部和所述处理器,
在多个存储节点共享所述历史,各存储节点的所述处理器设定所述无效卷的卷容量和卷个数的组。
8.一种存储系统的存储控制方法,所述存储系统提供作为I/O(Input/Output)请求的对象的卷,接收I/O请求而执行I/O,所述存储系统的存储控制方法的特征在于:
具有作为所述I/O请求的对象提供的有效卷、和没有进行所述提供的无效卷,在多个所述无效卷中包含多种容量的无效卷,
在接收到卷创建请求的情况下,基于所述卷创建请求的容量,选择所述无效卷,将选择出的无效卷转换为有效的有效卷,提供所述有效卷,
设定所述无效卷的卷容量和卷个数的组,进行准备卷结构的准备处理,其中所述卷结构是根据所述设定的卷容量和卷个数的组形成的,
按每个所述卷容量,计算所设定的无效卷个数与当前的无效卷个数的差值,基于所述差值确定卷容量的创建优先级来创建所述无效卷。
9.一种存储有使计算机执行的计算机程序的计算机存储介质,所述计算机为作为存储系统的构成要素的计算机或与该存储系统连接的计算机,所述存储系统提供作为I/O(Input/Output)请求的对象的卷,接收I/O请求而执行I/O,所述计算机存储介质的特征在于:
在接收到卷创建请求的情况下,基于所述卷创建请求的容量,选择无效卷,将选择出的无效卷转换为有效的有效卷,
所述存储系统具有作为所述I/O请求的对象提供的有效卷、和没有进行所述提供的所述无效卷,在多个所述无效卷中包含多种容量的无效卷,提供所述有效卷,
设定所述无效卷的卷容量和卷个数的组,进行准备卷结构的准备处理,其中所述卷结构是根据所述设定的卷容量和卷个数的组形成的,
按每个所述卷容量,计算所设定的无效卷个数与当前的无效卷个数的差值,基于所述差值确定卷容量的创建优先级来创建所述无效卷。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018162201A JP6851350B2 (ja) | 2018-08-30 | 2018-08-30 | ストレージシステム及び記憶制御方法 |
JP2018-162201 | 2018-08-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110874189A CN110874189A (zh) | 2020-03-10 |
CN110874189B true CN110874189B (zh) | 2023-05-16 |
Family
ID=69641144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910137500.2A Active CN110874189B (zh) | 2018-08-30 | 2019-02-25 | 存储系统和存储控制方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11379130B2 (zh) |
JP (1) | JP6851350B2 (zh) |
CN (1) | CN110874189B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7225190B2 (ja) * | 2020-12-10 | 2023-02-20 | 株式会社日立製作所 | 計算機システム |
JP7429214B2 (ja) * | 2021-10-07 | 2024-02-07 | 株式会社日立製作所 | ストレージシステム及びストレージシステムにおけるデータ複製方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104808954A (zh) * | 2009-12-24 | 2015-07-29 | 株式会社日立制作所 | 提供虚拟卷的存储系统及其控制方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4492084B2 (ja) * | 2003-10-07 | 2010-06-30 | 株式会社日立製作所 | ストレージパス制御方法 |
JP2005276017A (ja) * | 2004-03-26 | 2005-10-06 | Hitachi Ltd | ストレージシステム |
JP2006331158A (ja) | 2005-05-27 | 2006-12-07 | Hitachi Ltd | ストレージシステム |
US7584340B1 (en) * | 2005-06-13 | 2009-09-01 | Symantec Operating Corporation | System and method for pre-provisioning storage in a networked environment |
JP2007156667A (ja) * | 2005-12-02 | 2007-06-21 | Hitachi Ltd | ストレージ装置及びその容量管理方法 |
JP4940738B2 (ja) * | 2006-04-12 | 2012-05-30 | 株式会社日立製作所 | 記憶領域動的割当方法 |
JP2009043055A (ja) * | 2007-08-09 | 2009-02-26 | Hitachi Ltd | 計算機システム、ストレージ装置及びデータ管理方法 |
US7904690B2 (en) * | 2007-12-14 | 2011-03-08 | Netapp, Inc. | Policy based storage appliance virtualization |
JP2009238114A (ja) * | 2008-03-28 | 2009-10-15 | Hitachi Ltd | ストレージ管理方法、ストレージ管理プログラム、ストレージ管理装置およびストレージ管理システム |
JP5302582B2 (ja) * | 2008-07-09 | 2013-10-02 | 株式会社日立製作所 | 上位装置から指定されるデバイスに関する記憶容量を変更するストレージシステム及び方法 |
JP2010170411A (ja) * | 2009-01-23 | 2010-08-05 | Hitachi Ltd | 計算機システム、ストレージプール管理方法 |
WO2010097961A1 (en) * | 2009-02-25 | 2010-09-02 | Hitachi, Ltd. | Storage apparatus and its control method |
US8281091B2 (en) * | 2009-03-03 | 2012-10-02 | International Business Machines Corporation | Automatic selection of storage volumes in a data storage system |
CA2674402C (en) * | 2009-07-31 | 2016-07-19 | Ibm Canada Limited - Ibm Canada Limitee | Optimizing on demand allocation of virtual machines using a stateless preallocation pool |
WO2011096014A1 (ja) * | 2010-02-05 | 2011-08-11 | 株式会社日立製作所 | 仮想マシンと連携したThin-Provisioning容量管理を行う計算機システム、計算機、及び方法 |
US8843724B2 (en) * | 2010-04-30 | 2014-09-23 | Hitachi, Ltd. | Computer system and storage control method of the same |
CN102754090B (zh) | 2010-06-17 | 2015-09-16 | 株式会社日立制作所 | 包括多个微处理器的存储系统以及用于在该存储系统中分担处理的方法 |
JP5602564B2 (ja) * | 2010-09-29 | 2014-10-08 | 株式会社日立製作所 | 計算機システム及び計算機システムの管理方法 |
US20120191929A1 (en) * | 2011-01-21 | 2012-07-26 | Hitachi, Ltd. | Method and apparatus of rapidly deploying virtual machine pooling volume |
WO2012147133A1 (en) * | 2011-04-27 | 2012-11-01 | Hitachi, Ltd. | Information storage system and storage system management method |
US9804993B1 (en) * | 2012-05-07 | 2017-10-31 | Amazon Technologies, Inc. | Data volume placement techniques |
US9823840B1 (en) * | 2012-05-07 | 2017-11-21 | Amazon Technologies, Inc. | Data volume placement techniques |
US10506026B1 (en) * | 2013-03-13 | 2019-12-10 | Amazon Technologies, Inc. | Resource prestaging |
US9311019B2 (en) * | 2013-07-29 | 2016-04-12 | Infinidat Ltd. | Storage system and method for accessing logical volumes |
WO2015063859A1 (ja) * | 2013-10-29 | 2015-05-07 | 株式会社日立製作所 | 計算機システム及び制御方法 |
US9965334B1 (en) * | 2014-06-09 | 2018-05-08 | VCE IP Holding Company LLC | Systems and methods for virtual machine storage provisioning |
US10324643B1 (en) * | 2015-09-30 | 2019-06-18 | EMC IP Holding Company LLC | Automated initialization and configuration of virtual storage pools in software-defined storage |
US9916110B2 (en) * | 2016-02-23 | 2018-03-13 | Red Hat, Inc. | Size adjustable volumes for containers |
-
2018
- 2018-08-30 JP JP2018162201A patent/JP6851350B2/ja active Active
-
2019
- 2019-02-25 CN CN201910137500.2A patent/CN110874189B/zh active Active
- 2019-03-11 US US16/297,979 patent/US11379130B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104808954A (zh) * | 2009-12-24 | 2015-07-29 | 株式会社日立制作所 | 提供虚拟卷的存储系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
JP6851350B2 (ja) | 2021-03-31 |
CN110874189A (zh) | 2020-03-10 |
US11379130B2 (en) | 2022-07-05 |
US20200073566A1 (en) | 2020-03-05 |
JP2020035243A (ja) | 2020-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10972542B2 (en) | Data storage method and apparatus | |
CN109948017B (zh) | 一种信息处理方法及装置 | |
CN110554909A (zh) | 任务的调度处理方法、装置及计算机设备 | |
US20220391260A1 (en) | Method and Apparatus for Creating Container, Device, Medium, and Program Product | |
EP2921957A1 (en) | Method and apparatus for allocating core resource, and many-core system | |
CN109451540B (zh) | 一种网络切片的资源分配方法和设备 | |
WO2012026034A1 (ja) | スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法 | |
WO2012056731A1 (ja) | リソース管理サーバ、リソース管理方法及びリソース管理プログラムが格納された記憶媒体 | |
EP2843560A1 (en) | Database management system, computer, and database management method | |
CN111859027B (zh) | 图计算方法及装置 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
CN110874189B (zh) | 存储系统和存储控制方法 | |
US10521381B2 (en) | Self-moderating bus arbitration architecture | |
CN107211003A (zh) | 分布式存储系统及管理元数据的方法 | |
CN112000285A (zh) | 强一致存储系统、数据强一致存储方法、服务器及介质 | |
CN115004168A (zh) | 数据推送方法、装置、服务器及存储介质 | |
CN108595251B (zh) | 动态图更新方法、装置、存储引擎接口和程序介质 | |
CN113886086A (zh) | 云平台计算资源分配方法、系统、终端及存储介质 | |
CN115470303B (zh) | 一种数据库访问方法、装置、系统、设备及可读存储介质 | |
JP5776813B2 (ja) | マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法および制御プログラム | |
CN111831451A (zh) | 云主机内存分配方法及云主机、设备及存储介质 | |
CN116974465A (zh) | 数据加载方法、装置、设备及计算机存储介质 | |
CN115495248A (zh) | 一种推理卡的内存分配方法、装置、电子设备及存储介质 | |
CN114090234A (zh) | 请求的调度方法、装置、电子设备和存储介质 | |
CN113849273A (zh) | 接入处理的方法、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |