CN110955487A - Hci环境下的vm/容器和卷配置决定方法及存储系统 - Google Patents
Hci环境下的vm/容器和卷配置决定方法及存储系统 Download PDFInfo
- Publication number
- CN110955487A CN110955487A CN201910123837.8A CN201910123837A CN110955487A CN 110955487 A CN110955487 A CN 110955487A CN 201910123837 A CN201910123837 A CN 201910123837A CN 110955487 A CN110955487 A CN 110955487A
- Authority
- CN
- China
- Prior art keywords
- node
- container
- volume
- virtual machine
- nodes
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 238000013468 resource allocation Methods 0.000 claims abstract description 9
- 238000007726 management method Methods 0.000 claims description 83
- 238000012545 processing Methods 0.000 claims description 76
- 230000015654 memory Effects 0.000 claims description 66
- 230000008569 process Effects 0.000 claims description 43
- 238000013500 data storage Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 35
- 230000006870 function Effects 0.000 description 11
- 238000010977 unit operation Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
- G06F9/4856—Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明的技术问题是在HCI环境中,不超过节点的计算机资源的上限地提供新VM/容器、卷生成的VM/容器和卷等的资源配置决定方法。关于超融合架构环境的系统中的虚拟机、容器和卷中的至少一者的配置的决定,在各节点上工作的虚拟机和存储控制器对共用的计算机资源的使用状况进行管理,基于使用状况,以使得不超过配置目标节点的计算机资源的上限的方式,决定新的虚拟机、容器或卷的配置目标节点。
Description
技术领域
本发明是涉及超融合架构(HCI)环境下的VM/容器和数据配置决定的技术。
背景技术
近年来,广泛应用这样的虚拟化技术,通过追加软件(例如,OS)的层,将硬件(例如,CPU及周边设备)虚拟化,“隐藏”与来自用户的硬件的接口方法的详细情况。
该虚拟化技术能够使多个虚拟化计算机(例如,VM,容器)共享物理资源,在1个虚拟化计算机的待机期间其他虚拟计算机使用共享资源,能够高效地使用物理设备,改善资源管理成本。但是,在搭载了VM的诸多存储网络(storage network)环境中,由于VM或虚拟服务器共享SAN内的相同文件系统,隐藏存在发生阻塞、瓶颈的可能性。专利文献1中公开了这样的技术,在由多个服务器构成的系统中,存储(storage)IO负载分散方法通过使VM移动至不同的物理服务器,使负载分散。
现有技术文献
专利文献
[专利文献1]米国专利申请公开第2009/0172666号说明书
发明内容
发明要解决的课题
专利文献1中,关于VM与存储OS共享计算机资源的、所谓超融合(HCI)环境下的计算机资源的有效使用没有言及。即,考虑到用于在VM工作的应用处理数据的计算机资源、和用于存储OS(存储控制器)对来自应用的数据的读/写进行处理的计算机资源双方,没有言及将VM、卷等配置在哪个节点。
此外,对于在多个节点间进行数据的冗余化的情况下,为了对来自其他节点的存储控制器的冗余化数据进行写处理而由存储控制器使用的计算机资源,没有言及考虑了这样的计算机资源的VM、卷的配置。
于是,本发明的目的是,提供在HCI环境下,不会超过节点的计算机资源的上限地生成新VM/容器、卷的VM/容器和卷配置决定方法和存储系统。
用于解决课题的方法
作为用于解决上述的技术问题的资源配置决定方法的一例,本发明提供超融合架构环境的系统中决定虚拟机、容器和卷的至少一者的配置的资源配置决定方法,上述超融合架构环境的系统具有多个节点,上述多个节点各自的虚拟机和容器的至少一者工作,虚拟机的至少一个成为存储OS工作的存储控制器,上述超融合架构环境的系统控制对于成为数据的存储区域的卷进行的数据的读写,具有计算机资源,该计算机资源包括处理数据的CPU、存储器、以及存储程序、控制信息和数据的存储装置,在上述各节点上工作的上述虚拟机和上述存储控制器,对共用的上述计算机资源的使用状况进行管理,管理部基于上述使用状况,以不超过配置目标节点的计算机资源的上限的方式决定新的虚拟机、容器或卷的配置目标节点。
发明效果
依照本发明,能够基于VM/容器、卷的条件,不超过节点的计算机资源的上限地生成新VM/容器、卷。
即使在不存在满足新生成的VM/容器、卷的条件的节点的情况下,当将现存的VM/容器、卷移动的结果,存在能够确保满足条件的计算机资源的节点时,也能够以满足条件的方式移动现存的VM/容器、卷,能够不超过节点的计算机资源的上限地新生成VM/容器、卷。
在节点发生了故障时,能够不超过节点的计算机资源地计算新生成的VM/容器、卷的配置目标,对配置在发生了故障的节点上的VM、容器、卷进行再冗余化。
在多节点结果的存储系统中,基于数据的冗余度考虑到来自其他节点的IO,能够计算在节点发生的IO量,计算VM/容器、卷的配置目标。
附图说明
图1是系统的整体结构的概要说明图。
图2是系统的整体结构图。
图3是节点的硬件结构图。
图4是表示使用了多个节点的簇的逻辑结构的图。
图5是表示存储在节点的存储器中的各种程序和控制信息的图。
图6是表示存储在节点的存储器中的存储节点物理结构表的图。
图7是表示存储在节点的存储器中的VM管理表的图。
图8是表示存储在节点的存储器中的容器管理表的图。
图9是表示存储在节点的存储器中的应用管理表的图。
图10是表示存储在节点的存储器中的存储节点结构表的图。
图11是表示存储在节点的存储器中的容量运行信息的图。
图12是表示存储在节点的存储器中的IO量管理表的图。
图13是表示存储在节点的存储器中的性能运行信息的图。
图14是表示存储在节点的存储器中的节点单位运行信息的图。
图15是对新生成VM/容器和卷进行配置决定的处理流程图。
图16是计算满足VM/容器生成条件的节点组的流程图。
图17对通过现存VM/容器的移动而是否满足条件进行计算的流程图。
图18是实施例2中决定节点故障时的VM/容器和卷配置的流程图。
图19是表示实施例3中利用不同的2个节点内的2个存储控制器组成对而得到的结构的图。
图20是表示实施例3的存储控制器的构成信息的图。
图21是实施例3中对满足VM/容器生成条件的节点组进行计算的流程图。
图22是实施例3中对通过现存VM/容器的移动是否满足条件进行计算处理的流程图。
图23是表示实施例4中节点故障时的VM/容器和卷的配置决定处理的流程图。
图24是实施例5的新生成VM/容器和卷的配置决定的处理流程图。
图25是实施例5中对满足VM/容器生成条件的节点组进行计算的流程图。
图26是实施例5中对通过现存VM/容器的移动而是否满足条件进行计算的流程图。
图27是实施例6的系统的整体结构图。
附图标记说明
100:节点
101:CPU
102:存储器
103:驱动器
104:虚拟化监视器
105:VM
200:客户节点(client node)
201:前端网络(frontend network)
202:后端网络(backend network)
203:簇(cluster)
301:网络接口
402:数据存储部(data store)
403:卷(volume)
404:池(pool)
501:存储IO控制程序(storage IO control program)
502:存储管理程序
503:VM管理程序
504:容器管理程序
505:运行信息收集程序
506:性能运行信息
507:存储节点物理结构表
508:存储节点逻辑结构表
509:VM管理表
510:容器管理表
511:IO量管理表
512:容量运行信息
513:节点单位运行信息
514:应用管理程序
515:应用管理表。
具体实施方式
<说明书中的词语的定义>
下面,使用附图对本发明的实施方式进行说明。在各附图中,对于相同的结构赋予相同的附图标记。
下面,参照附图对发明的实施方式进行详细说明。下面的记载和附图,是用于说明本发明的例示,为了使说明清楚明白,适当地进行了省略和简化。本发明在其他各种方式中也能够实施。只要没有特别限定,各构成要素既可以是单个,也可以是多个。
附图中表示的各构成要素的位置、大小、形状、范围等,为了使发明容易理解,存在为表示实际的位置、大小、形状、范围等的情况。因此,本发明并不限定于附图中记载的位置、大小、形状、范围等。
在下面的说明中,存在用“表”、“目录”、“队列”等表述说明各种信息的情况,但是各种信息也可以由这些以外的数据结构表现。为了表示不依赖于数据结构,存在将“XX表”、“XX目录”等称为“XX信息”的情况。在对识别信息进行说明时,使用“识别信息”、“识别符”、“名称”、“ID”、“序号”、“Region(区)”等表述,这些表述也能彼此置换。
在具有同一或同样的功能的构成要素有多个的情况下,存在对于同一附图标记赋予不同的下标进行说明的情况。但是,在没有必要区别这多个构成要素的情况下,存在省略下标进行说明的情况。
在下面的说明中,存在说明执行程序进行的处理的情况,通过由处理器(例如CPU、GPU)执行程序,而适当地使用存储资源(例如存储装置)和/或接口器件(例如通信端口)等进行决定的处理,因此处理的主体也可以是处理器。同样地,执行程序进行的处理的主体,也可以是具有处理器的控制器、装置、系统、计算机、节点。执行程序进行的处理的主体,既可以是控制部,也可以包括进行特定的处理的专用电路(例如FPGA、ASIC)。
程序可以从程序源安装在计算机这样的装置中。程序源例如也可以为程序发布服务器或计算机可读取的存储介质。在程序源为程序发布服务器的情况下,也可以是,程序发布服务器包括处理器和存储发布对象的程序的存储资源,程序发布服务器的处理器将发布对象的程序发布给其他计算机。另外,以下说明中,可以将2个以上的程序作为1个程序实现,也可以将1个程序作为2个以上的程序实现。
<虚拟化的概要>
下面,对应用本发明的“虚拟化”进行说明。
“虚拟化”这个词语,在计算机、操作系统(OS)的区域,存储和网络的区域具有诸多的意思。通过追加软件(例如,OS)的层,将硬件(例如,CPU和周边设备)虚拟化,能够“隐藏”与来自用户的硬件的接口方法的详情。同样地,OS通过追加软件的层(例如,虚拟化监视器),能够以“隐藏”与OS的接口方法的详情的方式进行虚拟化。用户不用强力地依赖特定的OS、特定的供应商(vendor)、硬件的特定的结构等成为基础的架构,能够写出用于执行几个功能的代码。
“虚拟机”或“VM”是指,将实际的计算机(例如,CPU,存储器等)的硬件资源虚拟化或转换为虚拟化环境的、虚拟化环境下的特定的基于软件的机器的安装。在本说明书中,有时将“虚拟机”简写为“VM”。与实际的计算机相同地支持,能够在基本的物理资源上执行独自的OS和应用的完全发挥功能的虚拟机。虚拟化,通过在计算机硬件或主机OS上直接插入软件的薄层而发挥作用。该软件层包括动态且透过地分配硬件资源的虚拟机监视器或“虚拟化监视器(Hypervisor)”。能够在单个物理计算机上同时执行多个OS,彼此共享硬件资源。
近年来,基于容器的虚拟化技术得到普及。生成能够在主机的OS上执行的虚拟机与模仿独立的物理机的虚拟机相比较,容器在OS的核心部分上将能够在用户空间直接执行的应用虚拟化。在能够从容器内执行的Web服务器、数据库等的应用中,在与物理机的接口不需要仿真层(Emulation layer)或虚拟化监视层(Hypervisor layer)。相反,“容器化”的应用能够使用OS的通常的系统调用发挥作用。这样,由于容器不需要虚拟化的客户OS,因此容器提供比虚拟机一般较快(例如,传输速率快,启动或加载快)的OS水平的虚拟化。
虚拟机、容器等虚拟化技术被广泛采用的一个理由是,为了获得通过虚拟架构提供的资源的优点。如果没有虚拟化,则在物理机被限定为单个专用OS的情况下,在专用OS的非活动期间,物理机不会被用于执行有益的作业。在有等待当前计算机资源的其他物理机上的用户的情况下,这会造成浪费,没有效率。与此相对照,虚拟化能够使得多个虚拟化计算机(例如,VM,容器)共享物理资源,在1个虚拟化计算机处于非活动期间,其他虚拟计算机使用共享资源,能够有效地使用物理设备,改善资源管理成本。
(实施例1)
在实施例1中,对基本结构的处理进行说明。基本结构是指,使用虚拟化监视器将各节点的CPU、存储器等计算机资源逻辑地分割而得到的超融合结构。
<系统概要>
图1是系统的整体结构的概要说明图。在各节点100中,虚拟化监视器104工作,在物理的节点中,创建虚拟计算机(Virtual machine:VM),在相同物理节点100内并行地执行多个不同的OS。
首先,对实施例1中工作的系统的结构进行说明。系统由多个节点100构成,各节点100具有CPU101、存储器102、作为存储装置的驱动器103等计算机资源。实施例1所能实施的环境是,作为在一般的服务器中统合了计算功能和存储功能、实现了简单的结构的虚拟化基础而已知的、所谓超融合架构(HCI)环境。在HCI环境中,使应用工作的应用VM、容器与使存储控制器工作的存储VM处于同一节点,共享计算机资源(CPU、存储器等)。在本说明书中,将作为如一般服务器那样发出IO命令的应用VM、存储控制器工作的存储VM和容器称为虚拟化软件。
因此,各节点100中,虚拟机(VM)和容器的至少一者工作,虚拟机的至少一个成为存储OS工作的存储控制器,控制对成为数据的存储区域的卷进行的数据的读写。
存在将应用VM和容器简写为VM/容器的情况,也存在与作为存储控制器工作的存储VM(存储控制器)对比而将应用VM和容器简写为VM等的情况。
各VM105上的OS经由存储控制器提供的卷访问存储装置驱动器。在包括多个节点100的多节点结构中,为了将数据冗余化,利用存储控制器的功能向由驱动器构成的卷写入的数据,进行执行向其他节点的驱动器写入的冗余化处理。冗余化处理,例如使用镜像(Mirroring)、ErasureCoding技术而被执行。在图1中,实线表示的写工作,表示利用存储控制器的功能向由驱动器构成的卷写入的工作,虚线表示的写工作,表示执行向其他节点的驱动器的写入的冗余化处理。
为了执行对卷的输入/输出(IO),物理上为了对驱动器写入数据或从驱动器读取数据的工作,存储控制器使用节点的CPU。如虚线所示,在从其他节点写入为了冗余化而输送的数据的情况下的IO处理中,作为存储控制器也使用CPU。
因此,在各节点中,由于应用VM的IO量,在存储控制器中所需的CPU使用量的变动一般较大。
在HCI环境中,应用VM和存储控制器VM需要考虑共享的计算机资源来配置各VM、卷,在本发明中提出了这样的技术,例如以使得应用VM和存储VM所需的计算机资源处于各节点的计算机资源内的方式,配置应用VM和存储VM、卷。此外,在实施例1中,说明作为应用VM包括容器的方式。
存储控制器侧所需的CPU使用量,基于应用VM的数据R/W的IO量,计算存储控制器所需的CPU资源。此时还需要考虑冗余化程度(镜像、ErasureCoding的用户数据与用于数据保护的奇偶校验数据的比率),但是在实施例1中,不进行冗余化的IO量的计算的说明。关于冗余化的IO量的计算,在实施例3及其之后的内容中进行说明。
在配置(Deploy)卷和应用VM时,以使得全部VM使用的CPU的CPU使用量之和不超过节点的CPU使用量的上限的方式配置VM和卷。在不能配置的情况下,将现存的应用VM和卷移动至其他节点,以使得能够配置卷和应用VM的方式,将节点的计算机资源的使用在系统内均衡化。
以上所述的是CPU使用量的例子,关于应用VM和存储控制器VM共享的全部资源(存储器、drive(驱动器)容量,NW带宽等),同样为了使得各资源的使用量不超过各节点的上限值,以使得对于各资源能够配置卷和应用VM的方式,将节点的计算机资源的使用在系统内均衡化。
图1表示,在各节点100中应用VM对于节点内的驱动器执行数据的写入和读取(IO)处理107的状态。
在节点100a中2个应用VM执行IO处理,驱动器执行来自2个应用VM的IO处理。在节点100b中,1个应用VM执行IO处理,在驱动器执行IO处理。在节点100c中未对驱动器执行IO处理。
应用VM侧与驱动器侧的IO处理的合计是,在节点100a为“2”,在节点100b为“1”,在节点100c为“0”,为在节点之间负载不均的状态。
在图1中,作为实施例1,各节点100收集驱动器CPU101、存储器102、各VM105、驱动器103等的计算机资源的运行信息,节点100a基于运行信息,进行用于以使节点间的负载均衡的方式将卷和应用VM配置于节点100c的配置计算,实际上在节点100c生成新的VM、卷,对这样进行配置执行处理108的方法进行说明。
图2是系统的整体结构图。如图2所示,通常由多个节点100构成簇203,通过前端网络201与客户节点200连接,通过后端网络202连接有构成簇的多个节点100。其中,前端网络201与后端网络202可以由同一网络构成,也可以是这样的结构,即,除了前端网络201和后端网络202之外还通过管理用网络连接多个节点。
在各节点100中,虚拟化监视器工作,在虚拟化监视器上生成的VM上,存储控制器、应用、容器工作。
图3是节点100的节点的硬件结构图。如图3所示,各节点100的结构与普通的通用服务器的结构相同,各节点100由CPU101、存储器102、作为存储装置的NVMe驱动器103a、SAS驱动器103b、SATA驱动器103c以及连接它们的内部总线302构成。还包括用于与外部装置进行数据的发送接收等的网络I/F301。此外,CPU101、存储器102也可以设置多个。此外,驱动器也可以是非易失性存储器(SCM)、光驱动器。此外,网络I/F301既可以使用光纤通道(FC)、以太网络(Ethernet)(注册商标),也可以使用无限带宽(InfiniBand)等不同种类的网络。
图4是表示使用多个节点的簇的逻辑结构的图。簇内有1个以上的池(pool)404。池虚拟地管理物理驱动器103的容量。池包括:仅对节点内的驱动器进行处置的节点内池404a和还管理不同节点的驱动器的跨池404b。此外,为了使得容易管理,也可以构成为,例如将多个节点内池组合作为一个跨池,作为阶层结构进行管理。
池的物理存储区域将驱动器103分割为规定的小区域,以分割了的单位进行管理。卷403被从池切出而被生成。在使用ThinProvisioning技术的情况下,响应对卷403的写请求,从池404对卷分配物理存储区域,执行写处理。此外,卷也能够构成为,不定义池地对卷分配直接驱动器103的物理存储区域。
数据存储部402被从卷403生成。数据存储部402是存储虚拟机(VM)的数据的卷,存储VM的构成信息和OS。VM401被从数据存储部402生成。
卷、数据存储部、VM的个数的关系没有特别决定,例如可以是(可以是卷:数据存储部:VM=1:1:1,也可以是卷:数据存储部:VM=1:1:N(N为正整数))。它们的关系由后述的存储管理程序502管理。
图5是表示节点100的存储器102中存储的各种程序和控制信息的图。
作为各种程序,有存储控制程序501、存储管理程序502、VM管理程序503、容器管理程序504、应用管理程序514和运行信息收集程序505。
作为各种控制信息,有存储节点物理结构表507、存储节点逻辑结构表508、VM管理表509、容器管理表510、IO量管理表511、应用管理表515、性能运行信息506、容量运行信息512和节点单位运行信息513。
存储IO控制程序501进行对提供给VM/容器的卷的IO的控制(存在称为存储VM、存储控制器的情况)。此外,还控制存储控制器之间、节点间的IO。此外,对存储IO控制程序控制的IO量进行测量。
存储管理程序502实现池404、卷403的生成,管理存储资源。
VM管理程序503生成数据存储部402、VM401,将VM移动至不同节点。
容器管理程序504对容器进行生成、管理。存在对Linux(注册商标)赋予其功能的情况。
应用管理程序514管理在VM上工作的应用。
存储节点物理结构表507对表示各节点100的CPU、存储器、驱动器、端口等物理资源的信息进行管理。详情利用图6加以说明。
存储逻辑结构表508对表示节点的池、卷等逻辑存储结构的信息进行管理。详情利用图10加以说明。
VM管理表509是管理节点、卷和VM的结构以及分配给VM的物理资源的信息。详情利用图7加以说明。
容器管理表510是管理VM与容器的关联以及分配给容器的资源的信息。详情利用图8加以说明。
运行信息收集程序505实现定期地收集IO量、性能、容量这样的各种运行信息的功能。关于VM的性能、IO量收集处理,使用VM管理的普通的虚拟化监视器和虚拟化监视器管理软件的功能,关于节点使用OS附属的普通的功能(sar等)。容量收集处理使用普通的存储管理的信息取得功能。
IO量管理表511是以时间序列管理各VM的读/写量的信息。详情利用图12加以说明。
应用管理表515是关于在VM上工作的应用的信息。图9表示详情。
性能运行信息506表示按每个节点和VM使用的资源的使用量。
图13表示详情。
容量运行信息512以时间序列表示存储资源和VM的容量。图11表示详情。
节点单位运行信息513表示关于节点单位的VM/容器等的CPU、存储器等计算机资源的使用状况。图14表示详情。
作为控制信息,为了确保节点间的数据的冗余性,也可以包含不能陪在在同一节点的存储控制器等的配置条件表。
关于这些表,可以在全部节点经常复制而保持相同信息,也可以仅保持在事先决定的1个以上的节点。此外,也可以将关于各节点的信息分散至各节点加以保持。可以是存储管理程序502、VM管理程序503、容器管理程序504,在各节点协调地工作,也可以是,全簇中的一个代表程序工作,执行所有簇的管理。此外,通过在与节点不同的管理服务器(未图示)存储节点单位运行信息513、存储节点逻辑结构表508,使存储管理程序502、VM管理程序503、容器管理程序504、应用管理程序514工作,能够决定VM、容器、卷等的配置目标节点。在本说明书中,基于节点单位运行信息513、存储节点逻辑结构表508,由存储管理程序502、VM管理程序503、容器管理程序504、应用管理程序514实现管理部,通过该管理部决定VM、容器、卷等的配置目标节点。即,管理部安装于管理服务器或多个节点中的至少一个节点。
在实施例1中说明1个节点的代表程序工作的例子。
<各种控制信息>
图6是表示存储在节点100的存储器102中的存储节点物理结构表507的内容的图。存储节点物理结构表507通过存储管理程序502被管理,通过存储IO控制程序501被参照。
存储节点物理结构表507包含节点物理资源表601、CPU物理资源表602、drive物理资源表603和端口物理资源表604。
节点物理资源表601,对于唯一地识别节点的识别符即节点ID6011,管理唯一地识别各节点具有的CPU的识别符即CPU_IDs6012、表示存储器量的存储器6013、唯一地识别构成驱动器的盘的盘_ID6014、唯一地识别节点的端口的端口_IDs6015。例如,节点ID“1”具有:CPU_ID利用“1”被确定的CPU、存储器量“100”的存储器、盘_ID“1”的驱动器和端口_ID“1”的端口。通过采用这样的方式,管理各节点(存储)的物理结构。
CPU物理资源表602,对于唯一地识别CPU的CPU_ID6021、CPU_ID,管理各CPU的核数6022、频率6023、表示与节点的关联的节点_ID6025。此外,CPU也可以按照每个核利用其他ID进行管理。例如,由CPU_ID“1”表示的CPU,表示核数“1”、频率“1”GHz,配置在节点“1”。
drive物理资源表603,对于唯一地识别盘的盘_ID6031,管理各盘的容量6032、驱动器的种別6033、与节点的关联信息即节点_ID6035等。
端口物理资源表604,对于唯一地识别端口的端口_ID6041,管理各端口的种类(FC、iSCSI等)6042、速度6043、与节点的关联信息即节点_ID6045等。此外,上述的各ID可以是数字,也可以是字符串。在图6中用表形式进行了说明,但是只要能够管理各项的关系,也可以用文档形式等其他形式保持值。
图7是表示存储在节点的存储器中的VM管理表509的内容的图。该控制信息由VM管理程序503管理。
VM管理表509,对于唯一地识别VM的识别符VM_ID7011,管理表示配置有VM的节点的节点ID7012、唯一地识别与VM对应的数据存储部的数据存储部_ID7013等的对应。任务7014表示对VM的任务。例如能够取“存储控制·管理用”、“VM管理用”、“容器管理用”、“用户应用”等的值。“存储控制·管理用”、“VM管理用”、“容器管理用”,也可以汇总成一个,例如作为“簇管理用”。
此外,在7015~7019的各个栏管理作为分配给VM的计算机资源的CPU、存储器量,进而根据需要管理构成drive的盘、端口、卷的ID。
例如,由VM_ID“1”表示的VM,配置在节点_ID“1”,其任务是“存储控制·管理”,CPU_ID7015为“1”。
CPU也可以按照每个核以其他栏进行管理。计算机资源的信息,除了ID之外,也可以具体地保持分配给各VM的值。也可以不用图7那样的表形式而用文档形式等其他形式保持值。VM_ID等ID可以是数字,也可以是字符串。
图8是表示存储在节点的存储器中的容器管理表510的图。容器管理表510,对于唯一地识别容器的识别符容器ID8011,管理识别VM的VM_ID8012、IP地址8013、分配给容器的计算机资源即CPU的ID、存储器量。IP地址可以是IPv4,也可以是IPv6。也可以不是IP地址,而是用于以FC通信的WWN,或者是用于按其他协议进行通信的识别信息。容器管理表510可以不是图8所示那样的表形式,以文档形式等其他形式保持值。此外,容器ID可以是数字,也可以是字符串。例如,对于容器ID“1”,VM_ID“1”、CPU_ID“3”、存储器量“50”对应。
图9是表示应用管理表515的内容的图。该信息由应用管理程序514管理。对于唯一地识别应用的App_ID901,管理识别VM(容器)的VM_ID902、节点ID903、用途904。也可以不用图9所示的表形式,而用文档形式等其他形式保持值。此外,容器ID可以是数字,也可以是字符串。例如,对于App_ID“1”,VM_ID“1”、节点_ID“1”、用途“存储控制器”对应地被管理。
图10是表示存储在节点的存储器中的存储节点逻辑管理表508的图。存储节点逻辑管理表508中包含池的构成信息1001和卷的构成信息1002。存储节点逻辑管理表508是表示池、卷这样的存储的逻辑资源的表。在各资源中存在表。这里作为代表性的示例,说明池、卷的例子。
在池的构成信息1001中,对于在系统内唯一地识别池的池ID10011、池的容量10012、池的名称10013、配置有池的节点的ID10014、镜像、EC(ErasureCoding:纠删码)的池的冗余度10015、冗余目标的节点ID10016对应地被管理。
卷的构成信息1002,对于识别卷的卷ID10021,表示卷的名称10022、卷的容量10023、块(block)数10024、卷所属的池的ID10025、池所属的节点的ID10026、与卷关联的数据存储部的ID10027、从数据存储部生成的VM的ID10028、关联的容器的ID10029等信息。如图9所示,也可以不用表形式,而用文档形式等其他形式保持值。
图11是表示存储在节点的存储器中的容量运行信息512的图,表示在存储资源和VM之中具有容量的资源的时间序列的信息。容量运行信息512管理由存储装置构成的存储容量的使用状况。
在管理对象为池的情况下,利用池的容量运行信息1101管理。池的容量运行信息1101,对于在系统内唯一地识别池的池的ID11011,管理池自身的总容量11012、时刻11013、每个时刻的使用量11014的信息等。
在管理对象为卷的情况下,利用卷的容量运行信息1102管理。卷的容量运行信息1102,管理在系统内唯一地识别卷的卷ID11021、卷的容量11022、时刻11023、每个时刻的使用量11024等信息。
在管理对象为VM的情况下,利用VM的容量运行信息1103管理。VM的容量运行信息1103,管理在系统内唯一地识别VM的VM_ID11031、VM的容量11032、时刻11033、每个时刻的使用量11034等信息。此外,各信息也可以不用图示的表形式,而用文档形式等其他形式保持值。
在管理对象为应用的情况下,利用应用的容量运行信息1104管理。管理在系统内唯一地识别应用的应用_ID11041、容量11042、时刻11043、每个时刻的使用量11044等信息。
图12是表示存储在节点的存储器中的每个VM的IO量管理表511的图,表示VM的Read(读)/Write(写)的IO量的时间序列的信息。每个VM的IO量管理表511,对于唯一地识别VM的VM_ID1201,使表示IO是读还是写的IO种类1202与时刻1203、每一定时间的IO量1204对应地加以管理。IO种类中,也可以有Sequential R/W、Random R/W的区别。通过作为普通的VM的管理软件而提供的VM管理程序503被记录。在图12中说明了按照每个VM管理IO量的例子,也可以按容器单位管理IO量。此外,也可以不用图12所示的表形式而用文档形式等其他形式保持值。
图13是表示存储在节点的存储器中的性能运行信息506的图,表示节点和按每个VM使用的资源的使用量。通过运行信息收集程序505参照、更新。节点的性能运行信息1301,对于唯一地识别节点的节点ID13011,管理CPU使用率、存储器使用量、使用通信带宽等的公制(metric)13012、时刻13013、每一定时间的CPU使用率、存储器使用量、使用通信带宽13014。
此外,VM的性能运行信息1302,对于唯一地识别VM的VM_ID13021,管理CPU使用率、存储器使用量、使用通信带宽等的公制(metric)13022、时刻13023、每一定时间的CPU使用率、存储器使用量、使用通信带宽13024。节点的性能运行信息1301和VM的性能运行信息1302,也可以保持其他信息(存储器Write Pending Rate(写入挂起率)等)。此外,也可以按照每个容器、每个应用管理同样的性能运行信息。此外,也可以不用图13所示的表形式,而用文档形式等其他形式保持值。
作为其他控制信息,还能够包含配置条件表。例如,作为每个VM的配置条件,对于VM_ID,管理用于识别VM的类型的类型ID、表示NoSQL DB等应用的种类的类型、与卷相同的节点、同一类型且相同但不同居等条件。类型的信息,例如基于条件是类型ID相同的不在同一节点生成这样的目的而使用。在该条件中,设定这样的条件,即,需要使VM和卷一定存在于同一节点(或者,卷与VM可以不在同一节点)、使类型相同的存在于不同节点这样的条件。这些条件,可以是在VM展开(Deploy)时由用户经由VM管理程序设定,也可以按照可由应用自动地设定的方式记载在设定文件中。
图14是表示存储在节点的存储器中的节点单位运行信息表513的图。以节点单位管理VM/容器和每个应用的CPU、存储器、NW带宽等计算机资源的使用状况。图14中,作为VM的例子,管理VM_ID,但是也可以以容器为对象管理容器_ID,以应用为对象管理应用_ID。
节点单位运行信息表513,是管理在各节点上工作的所述虚拟机和所述存储控制器共用的所述计算机资源的使用状况的信息。
根据图6的存储节点物理结构表507、图11的容量运行信息512、图12的IO管理表511、图13的性能运行信息506、图7的VM管理表509(在为容器的情况下是图8的容器管理表,在为应用的情况下是图9的应用管理表)的信息,定期地生成存储管理程序502。这里例示从图11、图12、图13的运行信息的履历提取最新的时刻的信息加以保存的例子,但是也可以不仅保存最新的信息,还保存履历信息。该例子记载每个VM的信息,但是也可以管理每个容器、每个应用的信息。
例如,能够从图6的存储节点物理结构表507确定各节点的CPU_ID等物理的计算机资源。由此,能够掌握每个节点的CPU的上限1402、存储器上限1404、NW带宽上限1406。能够根据图7的VM管理表509掌握各VM与节点、CPU_ID等物理的计算机资源的对应。通过采用这样的方式,节点_ID1401与VM_ID1410的对应变得明显。
由于能够根据图11的容量运行信息512确定各VM的容量和各时刻的使用量,因此能够根据相对于VM_ID的容量上限11032和使用量11034掌握每个VM的容量使用量1414。利用管理VM与卷的对应的图10的卷构成信息1002,能够掌握分配给每个VM的卷容量。根据图12的IO量管理表511,能够掌握每个VM的IO量1415。此外,根据图13的VM的性能运行信息1302,能够掌握每个VM的CPU使用率1411、存储器使用量1412、NW带宽使用量1414。
即,能够掌握按照每个节点管理的计算机资源的上限1402、1404、1406和容量上限1408,以及按照每个VM管理的使用状况1411-1415。此外,也能够根据图10的卷构成信息掌握按照每个VM分配的卷容量。关于配置在各节点的VM,能够利用图7的VM管理表掌握配置在各节点的VM。
因此,通过将配置在各节点的计算机资源(CPU,存储器,带宽,容量)的上限值与VM使用的计算机资源、卷容量的总和相比较,能够管理图14所示的对应表,能够掌握在各节点使用的CPU、存储器、NW带宽等计算机资源、由存储装置构成的存储容量的使用状况(容量的使用量(率))。
在图14中记载了每个VM的信息,也可以管理每个容器、每个应用的信息。此外,也可以不用表(table)形式,而用文档(document)形式等其他形式保持值。
<VM/容器和卷的配置决定处理>
图15是新生成VM/容器和卷的配置决定的处理流程图。该处理是,由作为管理者的用户不考虑IO的冗余度,输入新生成VM/容器的设想IO量和卷的条件,配置VM/容器的事例。图15所示的处理,主要由管理部的存储管理程序502进行处理,步骤1508和1504的处理,在生成新VM的情况下由VM管理程序503处理,在生成新容器的情况下由容器管理程序504处理。
首先,在步骤1501中,由用户输入新生成VM/容器的设想IO量、容量、生成个数。
接着,在步骤1502中,根据输入信息计算满足VM/容器生成条件的节点组。使用图16说明该处理的详情。
接着,在步骤1503中,判断是否有满足条件的节点组,在有的情况下前进至步骤1504,在满足条件的节点组生成新卷和新VM/容器。
在步骤S1503的判断的结果是,没有满足条件的节点组的情况下,前进至步骤S1505,通过现存VM/容器的移动,计算能否满足条件。使用图17说明该步骤的详情。
在步骤S1506中,根据步骤S1505中计算的内容判断是否有满足条件的移动方法。在有满足条件的移动方法的情况下,前进至步骤S1508,将现存卷和现存VM/容器移动至其他节点。在步骤S1508中满足了生成条件的情况下,执行步骤S1504的新卷和新VM/容器的生成处理。
在步骤S1506中判断没有满足条件的移动方法的情况下,送回错误(S1507),结束处理。
在图15中,作为用户的输入信息,不仅输入IO量,作为设想负载也可以输入存储器使用量等其他值。
图16是表示对满足VM/容器生成条件的节点组进行计算的处理的流程图。图16所示的处理,与图15的步骤S1502的处理相当,由管理部的存储管理程序502执行。
首先,存储管理程序502,通过参照图14所示的节点单位运行信息1400的容量上限1408和容量使用量1409,判断是否存在具有面向新VM/容器的空闲容量(存储区域的容量)的节点组(S1601)。在该处理中,在没有节点组的情况下,判断不存在满足容量条件的节点组(S1607)。
接着,根据CPU处理单价和IO量计算在各节点所需的CPU量(CPU时间)(S1602)。这里,CPU处理单价是IO处理所需的CPU时间除以IO量而得的值,定义为处理一个IO所需的CPU使用时间。
接着,除了生成新VM/容器而增加的CPU量(CPU时间)之外还加上节点单位运行信息的CPU使用率1403,检索(查找)不超过节点的CPU上限1402的节点组(S1603)。检索的结果是,如果有满足步骤S1603的CPU条件的节点,则前进至步骤1606,判断为有满足条件的节点组。如果没有满足步骤S1603的CPU条件的节点,则前进至步骤S1605,判断为没有满足CPU条件的节点组。
通过采用以上方式,能够在容量和作为计算机资源的CPU有余力的节点生成新VM等。
此外,在卷为Thin Provisioning(虚拟地使用容量)的情况下,也可以省略容量条件的核对。CPU处理单价可以为固定值,也可以根据节点的CPU核频率计算。在该例中使用CPU处理单价×IO量,通过CPU量(CPU时间)的计算来计算CPU使用量,但也可以采用其他方法。检索处理,可以使用动态编程输出所求得的一个解,反复执行条件核对处理,或者也可以进行全检索,检测出使用率最少的节点组,通过核对处理来缩小范围。
不仅可以对CPU条件进行核对,也可以进行IO处理所需的存储器量的核对、通信带宽的核对。
图17是对是否通过现存VM/容器的移动而满足条件进行计算的流程图。图17所示的处理,与图15的步骤S1505的处理相当,由管理部的存储管理程序502执行。
在图16的处理中判断为有满足容量条件的节点组的情况下,前进至步骤S1702,从节点单位运行信息表的信息获取现存VM/容器的IO1405量。接着,根据CPU处理单价和IO量计算现存和新VM/容器的CPU量(CPU时间)(S1703)。这里,CPU处理单价是,IO处理所需的CPU时间除以IO量而得的值,定义为处理一个IO所需的CPU使用时间。
接着,在考虑现存VM/容器的移动的基础上对是否有不超过CPU性能上限的组合进行检索(S1704),判断是否有满足CPU条件的节点组(S1707)。在判断的结果是,有满足CPU条件的节点组的情况下,返送移动对象的VM/容器、卷及其移动目标节点、新生成时使用的节点的信息(S1709)。
在图16的处理中判断为没有满足容量条件的节点组的情况下,前进至步骤S1705,判断当移动与VM/容器关联的卷时,是否满足容量条件(S1705)。在S1705的判断结果为否定的情况下,返送回这样的意思,即,即使移动,也没有足够的资源生成新VM/容器(S1708)。在S1705的判断结果是,判断为当移动与VM/容器关联的卷时满足容量条件的情况下,假定移动VM/容器和卷,再次计算图16的计算处理(S1706)。之后前进至步骤S1707,判断CPU条件,按照判断结果,执行步骤S1708、步骤S1709的处理。
这样,图17的处理展示了这样的方法,即使在计算机资源或容量没有生成新VM等的余力的情况下,通过移动现存的VM等而适当地分配节点间的计算机资源、容量,通过移动现存VM等而在计算机资源产生了余力的节点上生成新VM等。
在图17中,在再次进行图16的计算处理时,考虑对移动对象的VM/容器和卷以及要生成的VM/容器和卷全部新生成并进行计算。此外,移动VM/容器/卷的量的使用资源,从当前的使用量减去而计算。在考虑了移动的组合检索了多个的情况下,也可以考虑到当前的系统影响,使当前的IO量较少的现存VM/容器移动,这样实施追加的缩小范围检索。不仅进行CPU条件的核对,也可以进行处理IO所需的存储器量的核对、NW带宽的核对。
如图15~图17所示,基于现存的VM/容器的信息,不用超过节点的CPU量的上限,就能够满足配置条件生成新VM/容器。此外,关于新卷,也可以按照满足节点的CPU量、配置条件、容量条件的方式进行生成。此外,即使在没有满足新生成的VM/容器、卷的条件的节点的情况下,在将现存的VM/容器、卷移动的结果是,在有能够确保满足条件的计算机资源的节点的情况下,能够以满足条件的方式执行现存的VM/容器、卷的移动。
上述VM/容器、卷的生成,现存的VM/容器、卷的移动,由管理服务器、代表节点的管理部执行。
在图15的处理中最终返送回错误(信号)的情况下,系统的管理者,为了增加计算机的物理资源,能够进行将新的节点追加至系统的处理。仅在为了增加计算机的物理资源而需要追加节点的情况下进行节点的追加即可,能够实现效率高的系统运行。
(实施例2)
图18是实施例2中发生了节点故障时决定VM/容器和卷配置的流程图。图18所示的处理,由管理部的存储管理程序502执行,能够理解为实施例1的图15的处理的变形例。该处理是,在因某节点故障而再次对在发生了故障的节点工作的VM/容器进行冗余化的事例。作为例子,在5个节点(N1,N2,N3,N4,N5)中的3个节点(N1,N2,N3)有进行了冗余化的应用工作的VM/容器,在N1发生了故障的情况下,考虑在N2~N5中的某个再次进行冗余化的事例。
在实施例1的图15的处理中,在S1501中,由用户输入新生成VM/容器的设想IO量、容量、生成个数,而在实施例2中,通过检测节点故障(S1801),确定在故障节点工作的VM/容器的ID(S1802),掌握产生了故障的节点的设想IO量、容量、生成个数,这点与实施例1不同。之后,步骤S1803~步骤S1808的处理,由于与图15中说明了的步骤S1502~步骤S1507相同,因此省略说明。故障节点从选择候选除外,实施满足条件的节点选择处理。
依照实施例2,在发生了节点故障时,对于配置在发生了故障的节点上的VM、容器、卷,计算不用超过节点的计算机资源地应当配置在何处,能够再次进行冗余化。
(实施例3)
图19是表示在实施例3的不同的2个Node(节点)内的2个存储VM(在一个存储VM构成2台存储控制器1901、1902),在各Node由2台存储控制器(1901,1903)组成对的结构。
存储控制器(1901,1904)在Node间组成冗余结构(Active(活动)与Standby(备用)之间的冗余结构)。经常至少在1个Node,Active存储控制器(1901)工作。该例表示Active/Standby的例子。
当在某节点发生故障时,与Active存储控制器对应的Standby存储控制器升格为Active存储控制器,继续进行IO处理(将这称为Failover(故障切换))。在图19的例中,当在Node2(100b)发生故障时,Active存储控制器2停止,Node3(100c)的Standby存储控制器2升格为Active,继续实施Active存储控制器2的处理。在此情况下,由于在Node3中存在2个Active存储控制器,因此与其他节点相比,处理量增加。
经由某Active存储控制器访问的数据被其他节点冗余化,故障切换(Failover)后,在Standby存储控制器升格后也能够访问数据。
即,节点100a具有存储控制器1901和卷(未图示),关于存储控制器1901,Active的存储控制器1901对IO进行处理。即,存储控制器1901,作为处理对来自应用VM等的虚拟机的卷发出的IO请求的活动模式(Active mode)工作,将数据写入卷。
此外,节点100b具有存储控制器1904和卷(未图示),存储控制器1904,作为称为存储控制器1901的冗余结构的备用模式(Standby mode),从存储控制器1901接受冗余数据,将冗余数据写入节点2(100b)的卷。
图20是在实施例1的图10的信息的基础上,表示每个存储控制器的状态等的存储控制器的构成信息的图。与图10相同,存储在节点的存储器中,由存储管理程序502管理。
存储控制器的构成信息2000,对于用于识别存储控制器的识别符2001,Active/Passive(被动的)/Standby等的状态2002、作为成对的识别符的组ID2003、配置有存储控制器的运行节点ID2004、VM_ID2005对应地被管理。状态2002中也可以保持表示故障的状态(例:Dead(死))。
图21是实施例3的新生成VM/容器和卷的配置决定的处理流程图。实施例1成为使用图19的结构,进行管理部的数据的冗余化的例。与实施例1的图16对应的结构成为图21,与实施例1的图17对应的结构成为图22。
基本的流程,与实施例1的图16所示的处理对应。在图16的步骤S1601与步骤S1602之间,增加根据步骤S2102的存储控制器的冗余度计算在本节点以外发生的IO量的处理。其他步骤由于与图16的步骤对应,因此省略说明。该处理是,为了确保数据的冗余性,为了在不同节点存储数据的复制,除了考虑来自本节点的应用VM的IO之外,还考虑来自其他节点的存储VM的IO的步骤。
图22是由管理部执行,对通过实施例3的现存VM/容器的移动是否满足条件进行计算的处理的流程图。图22与实施例1的图17对应,在图17的步骤1702与步骤S1703之间,设置了步骤S2203,在步骤S2203中,根据存储控制器的冗余度计算在本节点以外发生的IO量。
其他节点的信息,根据图20,确定同一组ID取同一值的存储控制器。例如可知,对于节点ID“1”,作为其他节点的IO考虑的存储控制器是,与节点“1”的存储控制器“26”为同一组_ID“3”,即,作为对而管理的节点“3”的存储控制器“20”。存储控制器“20”是VM上动作的应用,可根据App_ID识别。因此,通过按照每个应用管理图13的应用的性能管理信息,能够掌握来自其他节点的IO量。
依照实施例3,为多节点结构的存储系统,考虑到来自其他节点的IO,能够计算在节点发生的IO量。即,本节点的存储控制器与其他节点的存储控制器成对,在其他节点的存储控制器为活动(active)状态进行来自应用VM的IO处理,在本节点的存储控制器成为备用状态,将冗余数据存储于本节点的情况下,确定来自其他节点的IO量,能够计算在本节点使用的CPU、容量等计算机资源。
(实施例4)
图23是表示实施例4中发生节点故障时的VM/容器和卷的配置决定处理的流程图。与实施例2的图18对应,图23的处理是,在Active存储控制器因节点故障而切换(Failover)至其他节点时,计算应当将在故障节点动作的用户VM/容器配置在何处,由管理部的VM/容器管理程序进行的处理。
首先,检测节点故障(S2301)。接着,根据存储节点逻辑结构表的存储控制器的关系切换Active存储控制器工作的节点(S2302)。接着,参照VM管理表509,确定在故障节点工作的VM/容器的ID(S2303)。接着,根据VM/容器的ID获取性能运行信息506、IO量管理表511、容量运行信息512(S2304)。
接着,将发生了故障节点的VM/容器配置在升格为了Active的节点,判断资源(容量,性能)是否没问题而满足要求(S2306),在资源满足要求的情况下,在Active升格节点生成新卷和新VM/容器(S2308)。在资源不满足要求的情况下,考虑新生成发生了故障节点的VM/容器,实施图15的处理。
通过图23所示的处理,在因节点故障而使得Active存储控制器故障切换(Failover)至其他节点时,能够计算在节点的计算机资源的上限的范围内,应当将在故障节点动作的用户VM/容器配置在何处。
(实施例5)
图24是实施例5的新生成VM/容器和卷的配置决定的管理部的处理流程图。图24的处理与图15的处理对应,除了S2407和S2408,由存储管理程序502执行。与实施例3的不同之处在于,根据所指定的冗余度、利用图10的池的构成信息保持的冗余度和冗余化目标节点ID的信息,确定其他节点的IO量,计算在本节点使用的CPU、容量等计算机资源。
在最初的步骤,由用户输入新生成VM/容器的设想IO量、容量、数据的冗余度、生成个数(S2401)。增加了数据的冗余度之处,与图15不同。接着,根据输入信息计算满足VM/容器生成条件的节点组(S2402)。该处理,由于加入了冗余度,因此进行图25的处理。此外,冗余度与图10的构成信息中记载的冗余度对应。
在步骤S2403中没有满足条件的节点的情况下,计算通过现存VM/容器的移动是否满足条件(S2404),但是由于加入了冗余度,因此进行图26的处理。这以外与图15的处理相同。
图25是计算满足实施例5的VM/容器生成条件的节点组的管理部的处理流程图。该处理与实施例1的图16和实施例3的图21的处理对应。追加了根据所输入的冗余度计算在本节点以外发生的IO量的计算步骤S2502,还追加了步骤S2504,在步骤S2504中,对于生成新VM/容器而增加的CPU量(CPU时间)和节点的性能管理信息的CPU使用率不超过节点的CPU上限的节点组,在具有能生成所指定的冗余度的区域的池的节点的条件下,进行检索。
图26是对通过实施例5的现存VM/容器的移动是否满足条件进行计算的、管理部的处理流程图。图26与实施例1的图17和实施例3的图22所示的处理对应。根据所输入的冗余度计算在本节点以外发生的IO量的步骤S2603,考虑到现存VM/容器的移动,对于不超过CPU性能上限的组合是否在具有满足冗余度条件的池的节点的条件下进行检索的步骤S2605,不同。
依照实施例5,能够根据池的构成信息判断冗余化的对方节点,考虑到在其他节点发生的IO量,不超过节点的计算机资源的上限值地决定VM、卷的配置目标。
(实施例6)
图27是实施例6的系统的整体结构图。与实施例1的图2、实施例3的图19的不同之处在于,不是利用Hypervisor的VM上OS生成容器,而是在不经由Hypervisor的OS上生成容器的结构。
在该结构的情况下,对用户数据的访问,经由存储控制器提供的卷。在经由容器的情况下,能够不经由Hypervisor地进行IO。与实施例1的不同之处在于,在确定容器时不需要VM(在VM管理表、容器管理表、存储节点逻辑结构表不具有容器ID与VM_ID的关系。容器管理表的VM_ID栏变为节点ID栏)。
本发明的观点是,仅结构改变,处理流程不变。作为变形例,也可以是在最下层的OS的上直接存储控制器工作的结构。
Claims (12)
1.一种超融合架构环境的系统中决定虚拟机、容器和卷的至少一者的配置的资源配置决定方法,所述超融合架构环境的系统具有多个节点,所述多个节点各自的虚拟机和容器的至少一者工作,虚拟机的至少一个成为存储OS工作的存储控制器,所述超融合架构环境的系统控制对于成为数据的存储区域的卷进行的数据的读写,所述资源配置决定方法的特征在于:
所述多个节点中的各节点,
具有计算机资源,该计算机资源包括处理数据的CPU、存储器、以及存储程序、控制信息和数据的存储装置,
在所述各节点上工作的所述虚拟机和所述存储控制器,对共用的所述计算机资源的使用状况进行管理,
管理部基于所述使用状况,以不超过配置目标节点的计算机资源的上限的方式决定新的虚拟机、容器或卷的配置目标节点。
2.如权利要求1所述的资源配置决定方法,其特征在于:
所述计算机资源的使用状况,是由所述各节点的存储装置构成的存储容量的使用状况、所述各节点的CPU的使用状况、所述节点的存储器的使用状况和网络带宽的使用状况的至少一者。
3.如权利要求2所述的资源配置决定方法,其特征在于:
在基于所述计算机资源的使用状况,不存在应成为新的虚拟机或卷的配置目标的节点的情况下,使所述多个节点中的第1节点上的虚拟机、容器、卷和所述存储控制器中的任意者移动至其他节点,所述第1节点成为所述新的虚拟机或卷的配置目标。
4.如权利要求1所述的资源配置决定方法,其特征在于:
在所述多个节点中的第2节点发生了故障的情况下,确定在第2节点上工作的虚拟机或容器,
计算所述确定出的虚拟机或容器使用的存储区域的容量、CPU量,
基于所述计算机资源的使用状况,在具有所述计算出的存储区域的容量和CPU量的节点中,在第3节点生成在所述第2节点上工作的虚拟机、容器和卷的至少一者。
5.如权利要求3所述的资源配置决定方法,其特征在于:
在所述多个节点中的第2节点发生了故障的情况下,确定在第2节点上工作的虚拟机或容器,
计算所述确定出的虚拟机或容器使用的存储区域的容量、CPU量,
基于所述计算机资源的使用状况,在具有所述计算出的存储区域的容量和CPU量的节点中,在第3节点生成在所述第2节点上工作的虚拟机、容器和卷的至少一者。
6.一种超融合架构环境的系统中决定虚拟机、容器和卷的至少一者的配置的资源配置决定方法,所述超融合架构环境的系统具有多个节点,所述多个节点各自的虚拟机和容器的至少一者工作,虚拟机的至少一个成为存储OS工作的存储控制器,所述超融合架构环境的系统控制对于成为数据的存储区域的卷进行的数据的读写,所述资源配置决定方法的特征在于:
所述多个节点中的各节点,
具有计算机资源,该计算机资源包括处理数据的CPU、存储器、以及存储程序、控制信息和数据的存储装置,
所述多个节点中的第4节点具有第1存储控制器、第1卷和第1驱动器,所述第1存储控制器对来自所述虚拟机的对所述卷的IO请求进行处理,在所述第1驱动器中写入数据,
所述多个节点中的第5节点具有第2存储控制器、第2卷和第2驱动器,所述第2存储控制器作为所述第1存储控制器的冗余目标的存储控制器进行工作,从所述第1存储控制器接受冗余数据,在所述第2驱动器中写入冗余数据,
在所述各节点上工作的所述虚拟机和所述存储控制器,除了共用的所述计算机资源的使用状况之外,还一并对用于写入所述冗余数据的计算机资源进行管理,
管理部基于所述使用状况,以不超过配置目标节点的计算机资源的上限的方式决定新的虚拟机、容器或卷的配置目标节点。
7.如权利要求6所述的资源配置决定方法,其特征在于:
在基于所述计算机资源的使用状况,不存在应成为新的虚拟机或卷的配置目标的节点的情况下,使所述多个节点中的特定节点的虚拟机、容器、卷和所述存储控制器中的任意者移动至其他节点,所述多个节点中的特定节点成为所述新的虚拟机或卷的配置目标。
8.如权利要求7所述的资源配置决定方法,其特征在于:
在所述多个节点中的第6节点发生了故障的情况下,确定在第6节点上工作的虚拟机或容器,
计算所述确定出的虚拟机或容器使用的存储区域的容量、CPU量,
基于所述计算机资源的使用状况,在具有所述计算出的存储区域的容量和CPU量的第7节点,生成在所述第6节点上工作的虚拟机、容器和卷的至少一者。
9.一种超融合架构环境的系统中决定虚拟机、容器和卷的至少一者的配置的资源配置决定方法,所述超融合架构环境的系统具有多个节点,所述多个节点各自的虚拟机和容器的至少一者工作,虚拟机的至少一个成为存储OS工作的存储控制器,所述超融合架构环境的系统控制对于成为数据的存储区域的卷进行的数据的读写,所述资源配置决定方法的特征在于:
所述多个节点中的各节点,
具有计算机资源,该计算机资源包括处理数据的CPU、存储器、以及存储程序、控制信息和数据的存储装置,
管理所述多个节点中的用于进行数据的冗余化的冗余结构,
所述存储控制器执行:经由成为数据的存储区域的卷对于本节点的驱动器进行的数据的读写控制;和基于所述冗余结构对于其他节点的驱动器的冗余化处理,
在所述各节点上工作的所述虚拟机和所述存储控制器,在考虑所述冗余结构的基础上对共用的所述计算机资源的使用状况进行管理,
管理部基于所述使用状况,以不超过配置目标节点的计算机资源的上限的方式决定新的虚拟机、容器或卷的配置目标节点。
10.如权利要求9所述的资源配置决定方法,其特征在于:
在基于所述计算机资源的使用状况,不存在应成为新的虚拟机或卷的配置目标的节点的情况下,使所述多个节点中一个节点上的虚拟机、容器和所述存储控制器中任意者移动至其他节点,所述多个节点中的特定节点成为所述新的虚拟机或卷的配置目标。
11.如权利要求9所述的资源配置决定方法,其特征在于:
在所述多个节点的第8节点发生了故障的情况下,确定在第8节点上工作的虚拟机或容器,
计算所述确定出的虚拟机或容器使用的存储区域的容量、CPU量,
基于所述计算机资源的使用状况,在具有所述计算出的存储区域的容量和CPU量的第9节点,生成在所述第8节点上工作的虚拟机或容器。
12.一种存储系统,其是超融合架构环境的系统,所述超融合架构环境的系统具有多个节点,所述多个节点各自的虚拟机和容器的至少一者工作,虚拟机的至少一个成为存储OS工作的存储控制器,所述超融合架构环境的系统控制对于成为数据的存储区域的卷进行的数据的读写,所述存储系统的特征在于:
所述多个节点中的各节点,
具有计算机资源,该计算机资源包括处理数据的CPU、存储器、以及存储程序、控制信息和数据的存储装置,
所述存储控制器执行:经由成为数据的存储区域的卷对于本节点的驱动器进行的数据的读写控制;和对于其他节点的驱动器的冗余化处理,
在所述各节点上工作的所述虚拟机和所述存储控制器,对共用的所述计算机资源的使用状况进行管理,
具有管理部,其基于所述使用状况,以不超过配置目标节点的计算机资源的上限的方式决定新的虚拟机、容器或卷的配置目标节点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018181418A JP6957431B2 (ja) | 2018-09-27 | 2018-09-27 | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム |
JP2018-181418 | 2018-09-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110955487A true CN110955487A (zh) | 2020-04-03 |
Family
ID=69946975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910123837.8A Pending CN110955487A (zh) | 2018-09-27 | 2019-02-19 | Hci环境下的vm/容器和卷配置决定方法及存储系统 |
Country Status (3)
Country | Link |
---|---|
US (3) | US11080080B2 (zh) |
JP (2) | JP6957431B2 (zh) |
CN (1) | CN110955487A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022222975A1 (zh) * | 2021-04-20 | 2022-10-27 | 华为云计算技术有限公司 | 负载处理方法、计算节点、计算节点集群及相关设备 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7035858B2 (ja) * | 2018-07-03 | 2022-03-15 | 富士通株式会社 | マイグレーション管理プログラム、マイグレーション方法およびマイグレーションシステム |
US11249852B2 (en) | 2018-07-31 | 2022-02-15 | Portwonx, Inc. | Efficient transfer of copy-on-write snapshots |
US11354060B2 (en) | 2018-09-11 | 2022-06-07 | Portworx, Inc. | Application snapshot for highly available and distributed volumes |
JP6957431B2 (ja) * | 2018-09-27 | 2021-11-02 | 株式会社日立製作所 | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム |
WO2020081512A1 (en) * | 2018-10-15 | 2020-04-23 | Netapp, Inc. | Improving available storage space in a system with varying data redundancy schemes |
US11681278B2 (en) * | 2019-06-19 | 2023-06-20 | Honeywell International Inc. | High availability for container based control execution |
US10992526B1 (en) * | 2019-10-15 | 2021-04-27 | Dell Products L.P. | Hyper-converged infrastructure networking configuration system |
US11494128B1 (en) | 2020-01-28 | 2022-11-08 | Pure Storage, Inc. | Access control of resources in a cloud-native storage system |
JP7122332B2 (ja) * | 2020-02-26 | 2022-08-19 | 株式会社日立製作所 | 情報処理システム及び方法 |
US11762742B2 (en) | 2020-03-31 | 2023-09-19 | Honeywell International Inc. | Process control system with different hardware architecture controller backup |
US11513830B2 (en) * | 2020-04-02 | 2022-11-29 | Vmware, Inc. | Introspection into workloads running within virtual machines |
JP7163341B2 (ja) | 2020-06-10 | 2022-10-31 | 株式会社日立製作所 | 計算機システム及び計算機システムの制御方法 |
US11989084B2 (en) | 2020-09-23 | 2024-05-21 | Honeywell International Inc. | Self-healing process control system |
JP7154261B2 (ja) * | 2020-09-25 | 2022-10-17 | 株式会社日立製作所 | 複合型ストレージシステム |
US11874938B2 (en) | 2020-11-03 | 2024-01-16 | Honeywell International Inc. | Admittance mechanism |
CN112468458B (zh) * | 2020-11-12 | 2022-04-12 | 鹏城实验室 | 一种基于neutron分层机制的调度方法 |
US20220197701A1 (en) * | 2020-12-22 | 2022-06-23 | Red Hat, Inc. | Managing resource allocation in a software-defined system |
US11531467B1 (en) | 2021-01-29 | 2022-12-20 | Pure Storage, Inc. | Controlling public access of resources in a secure distributed storage system |
US11520516B1 (en) | 2021-02-25 | 2022-12-06 | Pure Storage, Inc. | Optimizing performance for synchronous workloads |
US11733897B1 (en) | 2021-02-25 | 2023-08-22 | Pure Storage, Inc. | Dynamic volume storage adjustment |
US11726684B1 (en) | 2021-02-26 | 2023-08-15 | Pure Storage, Inc. | Cluster rebalance using user defined rules |
JP7473522B2 (ja) * | 2021-12-22 | 2024-04-23 | 株式会社日立製作所 | ストレージ管理システム、及びストレージ管理方法 |
US20230362234A1 (en) * | 2022-05-04 | 2023-11-09 | Microsoft Technology Licensing, Llc | Method and system of managing resources in a cloud computing environment |
JP2024055158A (ja) * | 2022-10-06 | 2024-04-18 | 富士通株式会社 | 情報処理プログラム、情報処理方法及び情報処理装置 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210527A1 (en) * | 2006-05-24 | 2009-08-20 | Masahiro Kawato | Virtual Machine Management Apparatus, and Virtual Machine Management Method and Program |
US20100211829A1 (en) * | 2009-02-18 | 2010-08-19 | Vmware, Inc. | Failure detection and recovery of host computers in a cluster |
CN102640120A (zh) * | 2010-01-28 | 2012-08-15 | 株式会社日立制作所 | 计算增设/减设的存储容量的管理系统 |
US20130159997A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
JP2014021847A (ja) * | 2012-07-20 | 2014-02-03 | Mitsubishi Electric Corp | リソース管理装置及びリソース管理方法及びプログラム |
US20140082165A1 (en) * | 2012-09-20 | 2014-03-20 | Michael David Marr | Automated profiling of resource usage |
US20140207944A1 (en) * | 2013-01-24 | 2014-07-24 | Hitachi, Ltd. | Method and system for managing cloud computing environment |
CN104506589A (zh) * | 2014-12-10 | 2015-04-08 | 上海爱数软件有限公司 | 一种基于超融合存储的资源迁移调度方法 |
CN104781783A (zh) * | 2012-08-28 | 2015-07-15 | 云思易有限责任公司 | 在现有计算环境中部署的集成计算平台 |
CN104956327A (zh) * | 2013-07-31 | 2015-09-30 | 株式会社日立制作所 | 计算机系统及计算机系统控制方法 |
US20160203080A1 (en) * | 2015-01-12 | 2016-07-14 | Avago Technologies General Ip (Singapore) Pte. Ltd | Multi-node cache coherency with input output virtualization |
US20160359955A1 (en) * | 2015-06-05 | 2016-12-08 | Nutanix, Inc. | Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines |
WO2018029820A1 (ja) * | 2016-08-10 | 2018-02-15 | 株式会社日立製作所 | 計算機システム |
CN107894913A (zh) * | 2016-09-30 | 2018-04-10 | 华为技术有限公司 | 一种计算机系统和存储访问装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8554981B2 (en) * | 2007-02-02 | 2013-10-08 | Vmware, Inc. | High availability virtual machine cluster |
JP4906686B2 (ja) | 2007-11-19 | 2012-03-28 | 三菱電機株式会社 | 仮想マシンサーバサイジング装置及び仮想マシンサーバサイジング方法及び仮想マシンサーバサイジングプログラム |
US8117495B2 (en) * | 2007-11-26 | 2012-02-14 | Stratus Technologies Bermuda Ltd | Systems and methods of high availability cluster environment failover protection |
WO2009088435A1 (en) | 2007-12-31 | 2009-07-16 | Netapp, Inc. | System and method for automatic storage load balancing in virtual server environments |
JP2010212807A (ja) * | 2009-03-06 | 2010-09-24 | Nec Corp | フェイルオーバー方法、そのシステム、ノード及びプログラム |
US8429449B2 (en) * | 2010-03-01 | 2013-04-23 | International Business Machines Corporation | Optimized placement of virtual machines in a network environment |
US8447850B2 (en) * | 2011-02-28 | 2013-05-21 | Hitachi, Ltd. | Management computer and computer system management method |
US9158578B1 (en) * | 2011-12-30 | 2015-10-13 | Emc Corporation | System and method for migrating virtual machines |
US20140101279A1 (en) * | 2012-10-04 | 2014-04-10 | Hitachi, Ltd. | System management method, and computer system |
WO2015049789A1 (ja) * | 2013-10-04 | 2015-04-09 | 株式会社日立製作所 | リソース管理システムおよびリソース管理方法 |
US10552272B2 (en) * | 2016-12-14 | 2020-02-04 | Nutanix, Inc. | Maintaining high availability during N-node failover |
US10891162B2 (en) * | 2018-01-25 | 2021-01-12 | Vmware, Inc | Methods and apparatus to improve external resource allocation for hyper-converged infrastructures based on costs analysis |
JP6878369B2 (ja) * | 2018-09-03 | 2021-05-26 | 株式会社日立製作所 | ボリューム配置管理装置、ボリューム配置管理方法、及びボリューム配置管理プログラム |
JP6957431B2 (ja) * | 2018-09-27 | 2021-11-02 | 株式会社日立製作所 | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム |
-
2018
- 2018-09-27 JP JP2018181418A patent/JP6957431B2/ja active Active
-
2019
- 2019-02-19 CN CN201910123837.8A patent/CN110955487A/zh active Pending
- 2019-03-11 US US16/298,584 patent/US11080080B2/en active Active
- 2019-05-10 US US16/409,481 patent/US11080081B2/en active Active
-
2021
- 2021-07-30 US US17/389,679 patent/US11663029B2/en active Active
- 2021-10-06 JP JP2021164588A patent/JP7118230B2/ja active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090210527A1 (en) * | 2006-05-24 | 2009-08-20 | Masahiro Kawato | Virtual Machine Management Apparatus, and Virtual Machine Management Method and Program |
US20100211829A1 (en) * | 2009-02-18 | 2010-08-19 | Vmware, Inc. | Failure detection and recovery of host computers in a cluster |
CN102640120A (zh) * | 2010-01-28 | 2012-08-15 | 株式会社日立制作所 | 计算增设/减设的存储容量的管理系统 |
US20130159997A1 (en) * | 2011-12-14 | 2013-06-20 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
JP2014021847A (ja) * | 2012-07-20 | 2014-02-03 | Mitsubishi Electric Corp | リソース管理装置及びリソース管理方法及びプログラム |
CN104781783A (zh) * | 2012-08-28 | 2015-07-15 | 云思易有限责任公司 | 在现有计算环境中部署的集成计算平台 |
US20140082165A1 (en) * | 2012-09-20 | 2014-03-20 | Michael David Marr | Automated profiling of resource usage |
US20140207944A1 (en) * | 2013-01-24 | 2014-07-24 | Hitachi, Ltd. | Method and system for managing cloud computing environment |
CN104956327A (zh) * | 2013-07-31 | 2015-09-30 | 株式会社日立制作所 | 计算机系统及计算机系统控制方法 |
CN104506589A (zh) * | 2014-12-10 | 2015-04-08 | 上海爱数软件有限公司 | 一种基于超融合存储的资源迁移调度方法 |
US20160203080A1 (en) * | 2015-01-12 | 2016-07-14 | Avago Technologies General Ip (Singapore) Pte. Ltd | Multi-node cache coherency with input output virtualization |
US20160359955A1 (en) * | 2015-06-05 | 2016-12-08 | Nutanix, Inc. | Architecture for managing i/o and storage for a virtualization environment using executable containers and virtual machines |
WO2018029820A1 (ja) * | 2016-08-10 | 2018-02-15 | 株式会社日立製作所 | 計算機システム |
CN107894913A (zh) * | 2016-09-30 | 2018-04-10 | 华为技术有限公司 | 一种计算机系统和存储访问装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022222975A1 (zh) * | 2021-04-20 | 2022-10-27 | 华为云计算技术有限公司 | 负载处理方法、计算节点、计算节点集群及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
US11080081B2 (en) | 2021-08-03 |
JP7118230B2 (ja) | 2022-08-15 |
JP2020052730A (ja) | 2020-04-02 |
US20210357248A1 (en) | 2021-11-18 |
US20200104153A1 (en) | 2020-04-02 |
US20200104151A1 (en) | 2020-04-02 |
JP6957431B2 (ja) | 2021-11-02 |
US11663029B2 (en) | 2023-05-30 |
US11080080B2 (en) | 2021-08-03 |
JP2022003577A (ja) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7118230B2 (ja) | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム | |
US10082972B2 (en) | Method and system for pooling, partitioning, and sharing network storage resources | |
JP5830599B2 (ja) | 計算機システム及びその管理システム | |
US8463995B2 (en) | Storage control apparatus and storage system comprising multiple storage control apparatuses | |
WO2017072933A1 (ja) | 計算機システムの管理システム及び管理方法 | |
US9733989B1 (en) | Non-disruptive load-balancing of virtual machines between data centers | |
US10013196B2 (en) | Policy based provisioning of storage system resources | |
US9286344B1 (en) | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure | |
US9772784B2 (en) | Method and system for maintaining consistency for I/O operations on metadata distributed amongst nodes in a ring structure | |
US10437642B2 (en) | Management system for computer system | |
US9348515B2 (en) | Computer system, management computer and storage management method for managing data configuration based on statistical information | |
US20140143391A1 (en) | Computer system and virtual server migration control method for computer system | |
US20200301748A1 (en) | Apparatuses and methods for smart load balancing in a distributed computing system | |
JP2021026659A (ja) | ストレージシステム及びリソース割当て制御方法 | |
US20220206871A1 (en) | Techniques for workload balancing using dynamic path state modifications | |
WO2016174739A1 (ja) | 複合計算機システム、管理計算機、およびデータ連携管理方法 | |
US11768744B2 (en) | Alerting and managing data storage system port overload due to host path failures | |
US11550613B2 (en) | Computer system | |
US11803425B2 (en) | Managing storage resources allocated to copies of application workloads | |
US11392459B2 (en) | Virtualization server aware multi-pathing failover policy | |
US20220308794A1 (en) | Distributed storage system and management method | |
JP2023094302A (ja) | 情報処理システム及び構成管理方法 |
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 |