CN113312139B - 信息处理系统和方法 - Google Patents
信息处理系统和方法 Download PDFInfo
- Publication number
- CN113312139B CN113312139B CN202010861401.1A CN202010861401A CN113312139B CN 113312139 B CN113312139 B CN 113312139B CN 202010861401 A CN202010861401 A CN 202010861401A CN 113312139 B CN113312139 B CN 113312139B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- node
- storage controller
- storage
- information processing
- 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
- 238000000034 method Methods 0.000 title claims abstract description 74
- 230000010365 information processing Effects 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 76
- 238000003672 processing method Methods 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 65
- 230000015654 memory Effects 0.000 claims description 26
- 238000007726 management method Methods 0.000 description 156
- 230000005012 migration Effects 0.000 description 28
- 238000013508 migration Methods 0.000 description 28
- 230000006870 function Effects 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 17
- 238000013500 data storage Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 239000008186 active pharmaceutical agent Substances 0.000 description 12
- 230000008859 change Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 12
- 230000006872 improvement Effects 0.000 description 10
- 238000012546 transfer Methods 0.000 description 8
- 230000001495 anti-association Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- BNPSSFBOAGDEEL-UHFFFAOYSA-N albuterol sulfate Chemical compound OS(O)(=O)=O.CC(C)(C)NCC(O)C1=CC=C(O)C(CO)=C1.CC(C)(C)NCC(O)C1=CC=C(O)C(CO)=C1 BNPSSFBOAGDEEL-UHFFFAOYSA-N 0.000 description 3
- 239000000835 fiber Substances 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2041—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with more than one idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2046—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2089—Redundant storage control functionality
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0617—Improving the reliability of storage systems in relation to availability
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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/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/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/5033—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 data affinity
-
- 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/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task 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/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/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/45583—Memory management, e.g. access or allocation
-
- 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/45591—Monitoring or debugging support
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/815—Virtual
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)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种高度可靠和高度可用的信息处理系统和方法。在使虚拟机和存储控制器在处理器上运行的信息处理系统和由该信息处理系统执行的信息处理方法中,构成在配置于不同的节点上的存储控制器之间能够接管处理的存储控制器组,虚拟机能够通过部署而转移至不同的节点,虚拟机和处理虚拟机所输入输出的数据的存储控制器配置于同一个节点,不能配置于同一个节点的虚拟机的组合以限制条件来确定,管理部将不能配置于同一个节点的虚拟机中的一个虚拟机配置于下述节点,在该节点中没有配置不能配置于同一个节点的虚拟机中的另一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的存储控制器。
Description
技术领域
本发明涉及一种信息处理系统和方法,其具有构成集群的多个节点,并且对在各节点中部署的虚拟机(VM:Virtual Machine)的配置施加一定的限制条件。
背景技术
近年来,用于在一台物理服务器上运行多个虚拟机的虚拟化技术已经得到广泛普及,并且已经提出了许多关于虚拟机冗余化的发明。例如,专利文献1公开了一种在多个物理服务器上配置多个现用系虚拟机和分别与这些现用系虚拟机相对应地设置的备用系虚拟机的技术。
现有技术文献
专利文献
专利文献1:日本特开2014-75027号公报
发明内容
另外,在包括构成集群的多个物理服务器的信息处理系统中,当将虚拟机和卷等的资源部署到物理服务器时,有时会施加称为关联性规则(Affinity Rule)的某些限制条件。
作为这样的关联性规则包括:以减少例如许可证方面的问题、物理服务器之间的通信量为目的而限定虚拟机运行的物理服务器的关联性规则;和以高可用性为目的而将现用系和备用系的虚拟机的配置目的地限定为不同的物理服务器的反关联性规则等。
在这种情况下,如果仅考虑正常时来确定各虚拟机的配置目的地,则在虚拟机和该虚拟机在其上运行的物理服务器中发生故障而通过故障转移使处理从现用系虚拟机切换到备份系统虚拟机时,可能会违反关联性规则(尤其是反关联性规则)。
本发明是考虑到上述各点而做出,旨在提出一种具有高度可靠且高度可用的信息处理系统和方法,即使发生由于故障引起的故障转移,也能够遵守针对各虚拟机指定的限制条件。
用于解决问题的技术方案
为了解决上述问题,本发明的信息处理系统包括具有处理器的多个节点和用于存储数据的存储装置,在所述处理器上运行虚拟机和存储控制器,构成在配置于不同的节点上的存储控制器之间能够接管处理的存储控制器组,所述虚拟机能够通过部署而转移至不同的节点,所述虚拟机和处理所述虚拟机所输入输出的数据的存储控制器配置于同一个节点,不能配置于同一个节点的虚拟机的组合以限制条件来确定,管理部将所述不能配置于同一个节点的虚拟机中的一个虚拟机配置于下述节点,在该节点中没有配置所述不能配置于同一个节点的虚拟机中的另一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的存储控制器。
此外,根据本发明,提供了一种由信息处理系统执行的信息处理方法,其中该信息处理系统包括具有处理器的多个节点和用于存储数据的存储装置,在所述处理器上运行虚拟机和存储控制器,在所述信息处理方法中,构成在配置于不同的节点上的存储控制器之间能够接管处理的存储控制器组,所述虚拟机能够通过部署而转移至不同的节点,所述虚拟机和处理所述虚拟机所输入输出的数据的存储控制器配置于同一个节点,不能配置于同一个节点的虚拟机的组合以限制条件来确定,管理部将所述不能配置于同一个节点的虚拟机中的一个虚拟机配置于下述节点,在该节点中没有配置所述不能配置于同一个节点的虚拟机中的另一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的存储控制器。
根据本发明的信息处理装置和方法,即使由于发生故障而发生故障转移,也可以遵守为各虚拟机分别指定的限制条件。
发明效果
根据本发明,能够实现高度可靠且高度可用的信息处理系统和方法。
附图说明
图1是示出第一和第二实施例的信息处理系统的整体结构的框图。
图2是示出节点的硬件结构的框图。
图3是示出节点的逻辑结构的框图。
图4是用于说明第一实施例的存储在节点的存储器中的程序和控制信息的框图。
图5A是示出池结构管理表的结构例的图表。
图5B是示出卷结构管理表的结构例的图表。
图5C是示出节点结构管理表的结构例的图表。
图6是示出虚拟机管理表的结构例的图表。
图7是示出关联性规则管理表的结构例的图表。
图8是示出存储控制器管理表的结构例的图表。
图9是示出新虚拟机配置处理的处理步骤的流程图。
图10A是示出虚拟机配置布局计算处理的处理步骤的流程图。
图10B是示出虚拟机配置布局计算处理的处理步骤的流程图。
图11是示出虚拟机转移处理的处理步骤的流程图。
图12是示出第一虚拟机配置检查处理的处理步骤的流程图。
图13是示出第二虚拟机配置检查处理的处理步骤的流程图。
图14是用于说明根据第一实施例的存储在节点的存储器中的程序和控制信息的框图。
图15是示出追加资源管理表的结构例的图表。
图16是示出新虚拟机配置目的地决定处理的处理步骤的流程图。
图17A是示出改进方案提示处理的处理步骤的流程图。
图17B是示出改进方案提示处理的处理步骤的流程图。
图18是用于说明另一实施例的框图。
具体实施方式
下面将参考附图详细描述本发明的实施例。
(1)第一实施例
(1-1)本实施例的信息处理系统的结构
在图1中,附图标记1整体上示出了本实施例的信息处理系统。该信息处理系统1构成为包括一个以上的客户终端2、管理服务器3和构成集群4的多个节点5。尽管图1示出了在信息处理系统1中仅设定一个集群4的情况,但是可以在信息处理系统1中设置多个集群4。
客户终端2经由前端网络6连接到各节点5。前端网络6是用于在客户终端2和节点5之间交换命令和数据的网络,并且包括例如光纤通道,以太网(注册商标),InfiniBand,有线LAN(Local Area Network)或无线LAN等等。
各个节点间经由管理网络7和后端网络8连接。管理网络7是用于在管理服务器3与节点5之间以及在节点5彼此之间交换控制信息和命令的网络,并且由例如有线LAN或无线LAN等构成。后端网络8是用于在节点5之间交换数据的网络,并且和前端网络6一样,包括光纤通道,以太网(注册商标)InfiniBand,有线LAN或无线LAN等等。
尽管图1示出了其中前端网络6、管理网络7和后端网络8分别形成为单独的网络的示例,但是前端网络6、管理网络7和后端网络8也可以由一个网络构成。
客户终端2是响应来自用户操作或安装的应用程序的请求,将必要的命令和/或数据发送给对应的节点5的通用计算机装置。客户终端2可以是虚拟机那样的虚拟计算机装置。
管理服务器3是系统管理员对各节点5执行必要的设定和维护的节点,由通用计算机装置构成。但是,管理服务器3也可以是虚拟机那样的虚拟计算机装置。
如图2所示,节点5由包括一个以上的CPU(中央处理单元)10、一个以上的存储器11、多个存储装置12以及一个以上的通信装置13的通用服务器装置构成。
CPU10是控制节点5整体的动作的处理器。存储器11由SRAM (Static RAM(RandomAccess Memory))或DRAM(Dynamic RAM)等易失性半导体存储器或非易失性半导体存储器构成,作为CPU10的工作存储器用于临时保存所需的程序和数据。通过CPU10执行被存储在存储器11中的程序,执行后述的作为节点5整体的各种处理。
存储装置12由SAS(串行连接的SCSI(小型计算机系统接口))磁盘或SATA(串行ATA(高级技术附件))磁盘等的HDD(硬盘驱动器)装置,以及SSD(固态驱动器)和/或SCM(存储级存储器)等的大容量非易失性存储装置构成,提供用于读写数据的存储区域。
通信装置13是用于节点5经由前端网络6或管理网络7与客户终端2或管理服务器3通信,或者经由管理网络7或后端网络8与另一节点5通信的接口,由例如光纤通道卡、以太网(注册商标)卡、InfiniBand卡、有线LAN卡或无线LAN卡等构成。也可以与前端网络6、管理网络7和后端网络8分别对应地设置通信装置13。
(1-2)节点和存储区域的逻辑结构
接下来将说明节点5的逻辑结构。本实施例的节点5是向客户终端2提供被称为虚拟化平台的超融合基础设施(HCI:Hyper Converged Infrastructure)环境的服务器装置,该HCI环境具有集成了计算功能和存储功能的简单结构。
在HCI环境中,如图1所示,在同一节点5上存在有:使应用程序20运行的虚拟机(以下,适当地称为应用程序虚拟机)VM,和使存储控制器21和容器动作的虚拟机(以下,适当地称为存储虚拟机)VM,并且共享CPU10和存储器11等计算机资源。利用存储虚拟机VM而动作的存储控制器21响应于利用应用程序虚拟机VM而动作的应用程序20的请求,执行数据相对于本节点5内或另一节点5内的存储区域的读写(IO:输入输出)。其中,图1是各虚拟机VM在监管器24上运行的示例。
使存储控制器21冗余以提高可用性。形成冗余结构的各存储控制器21被配置在不同的节点5中,并且作为存储控制器组被管理。然后,响应于来自应用程序虚拟机VM的请求,将构成存储控制器组的存储控制器21之一作为现用系(curre据相对于节点5内的存储区域的读写的激活状态,将其他存储控制器21作为备用系设定为待机状态。
当在设定为激活状态的现用系的存储控制器(以下适当地称其为激活存储控制器)21或该激活存储控制器21所配置的节点5中发生故障时,使与该激活存储控制器21属于同一存储控制器组、并且到此为止都被设定为待机状态的备用系的存储控制器(以下,适当地称其为待机存储控制器)21之一的状态从待机状态切换到激活状态。
同时,将该应用程序虚拟机VM转移到其中配置了此时切换为激活状态的存储控制器21的节点5。由此,由先前配置有激活存储控制器21的节点5执行了的处理,被配置有升级为新的激活存储控制器21的存储控制器(原来的待机存储控制器)21的节点5接管而执行(故障转移功能)。
另一方面,应用程序虚拟机VM要经由激活存储控制器21在存储区域中读写的数据,存储在配置有该应用程序虚拟机VM和控制该应用程序虚拟机VM的数据的读写的激活存储控制器21的节点5内的存储区域中。
这是因为,在应用程序虚拟机VM和该应用程序虚拟机VM所要读写的数据存在于不同的节点5的情况下,当激活存储控制器21在该存储区域中读写数据时,会在配置有该应用程序虚拟机VM的节点5与具有该存储区域的节点5之间发生通信,响应性能变差,这是为了防止上述情况的发生。在以下,将虚拟机VM和该虚拟机VM进行读写的数据存在于同一节点5中的情况称为“局部性(locality)”。
此外,应用程序虚拟机VM要在存储区域中读写的数据也通过由存储虚拟机VM操作的数据冗余化部23而冗余化,由于如上所述的相同原因,即使在故障转移之后也需要保持局部性,冗余化的数据被存储在其中配置有与该激活存储控制器21属于同一存储控制器组的待机存储控制器21的节点5内的存储区域中。由此,即使发生故障转移,也可以保持与发生故障转移之前相同的IO性能。
图3示出集群4中的虚拟机VM与存储区域之间的对应关系。如图3所示,在集群4中,分别由同一节点5内的一个或多个存储装置12提供的存储区域,或者由多个节点5内的各存储装置12分别提供的存储区域集中为一个,作为池PL管理。
尽管图3例示了分别生成一个节点5内的一个池PL和跨多个节点5的一个池PL的情况,但是也可以生成多个这些池PL。此外,可以组合由在同一节点5内或多个节点5内具有不同响应速度的多个存储装置12分别提供的存储区域,来生成具有分层结构的池PL。
在这些池PL上,根据经由管理服务器3来自系统管理员的指示,生成一个或多个卷VOL。然后,将这些卷VOL分配给应用程序虚拟机VM作为用于读写数据的存储区域。通过与该应用程序虚拟机VM相关联对应的激活存储控制器21,由应用程序虚拟机VM对卷VOL进行数据读写。
在图3的示例中,从相应池PL的存储区域分配各卷VOL的存储区域(从池PL中分切出卷VOL),但是也可以不定义池PL,而是从一个或多个存储装置12直接对卷VOL分配存储区域。
数据存储区DS是用于保存虚拟机VM的数据的卷,保存虚拟机VM的结构信息和存储有OS的文件。虚拟机VM是从数据存储区DS部署的。因此,“确定虚拟机VM的配置”是指“确定部署虚拟机VM的数据存储区DS的位置”。
卷VOL、数据存储区DS和虚拟机VM的数量之间的关系不是固定的,例如,构成比可以为1:1:1,也可以是1:1:N(N为正整数)。卷VOL、数据存储区DS和虚拟机VM之间的关系由稍后参考图4说明的存储管理程序32使用稍后参考图5A至5C说明的节点结构管理表组34来管理。
(1-3)虚拟机配置确定功能
(1-3-1)与虚拟机配置确定功能相关的程序和控制信息
接下来,说明该信息处理系统1中安装的虚拟机配置确定功能。该虚拟机配置确定功能是确定虚拟机VM的配置目的地的功能,以使得即使在新生成虚拟机VM或将虚拟机VM转移到另一个节点5时由于故障而导致发生了故障转移时,也能维持在虚拟机VM和该虚拟机VM分配给自身的卷VOL中读写的数据存在于同一节点5中这样的局部性,同时不违反虚拟机VM的关联性规则(尤其是反关联性规则)。
在说明上述本实施例的虚拟机配置确定功能时,首先,参考图4至图8说明与该虚拟机配置确定功能相关地存储在节点5的存储器11(图2)中的各种程序和各种控制信息。
如图4所示,在各节点5的存储器11中,存储IO控制程序30、存储数据冗余化程序31、存储管理程序32和虚拟机管理程序33被存储为程序,节点结构管理表组34、虚拟机管理表45、关联性规则管理表36和存储控制器管理表37被存储为控制信息。
存储IO控制程序30是具有控制从虚拟机VM到卷VOL的数据的读写的功能的程序。图1的存储控制器21由存储虚拟机(更确切地说是节点5的CPU10)执行存储IO控制程序30而实现。存储IO控制程序30(存储控制器21)还控制存储控制器21之间以及节点5之间的数据输入输出。
存储数据冗余化程序31是具有使写入卷VOL中的数据在节点5之间冗余化的功能的程序。图1的数据冗余化部23通过存储虚拟机VM(更确切地说是节点5的CPU10)执行存储数据冗余化程序31而实现。节点5之间的数据冗余化通过由对应的节点5内的存储数据冗余化程序31(数据冗余化部23)进行通信、使用镜像(复制)或擦除编码等技术来进行。
存储管理程序32是具有基于响应系统管理员的操作或来自所安装的应用程序的请求而从管理服务器3给出的指示,来生成并提供池PL和卷VOL,或者使本节点5内的卷VOL转移到另一节点5的功能的程序。卷VOL的转移通过在转移目的地的节点5中生成数据转移目的地的卷VOL,并将转移源的卷VOL中存储的数据复制到转移目的地的卷VOL中来执行。
虚拟机管理程序33是具有基于与系统管理员的操作或来自安装在管理服务器3中的应用程序的请求相应地从管理服务器3给出的指示,来生成数据存储区DS和虚拟机VM,或者将虚拟机VM转移到另一节点5的功能的程序。虚拟机VM的转移通过如下方式进行:以通过该卷VOL的转移将该虚拟机VM的数据(包括由该虚拟机VM执行的应用程序和软件的数据)复制到转移目的地的节点5的方式向存储管理程序32发出指令并进行复制,利用所复制的数据将该虚拟机VM部署到转移目的地节点5。
另一方面,节点结构管理表组34是用于管理集群4中的各节点5的存储结构的表组。由图5A所示的池结构管理表34A、图5B所示的卷结构管理表34B和图5C所示的节点结构管理表34C构成。按各集群4生成池结构管理表34A、卷结构管理表34B和节点结构理表34C。
池结构管理表34A是用于管理在相应集群4中生成的池PL的表,如图5A所示,包括:池ID栏34AA、名称栏34AB、总容量栏34AC、总可用容量栏34AD、节点ID栏34AE、容量栏34AF和可用容量栏34AG。在池结构管理表34A中,一行对应于在相应集群4中生成的一个池PL。
池ID栏34AA中存储赋予对应的池PL的该池PL所固有的标识符(池ID),名称栏34AB中存储赋予该池PL的名称。总容量栏34AC中存储对应的池PL的总容量的值,总可用容量栏34AD中存储该池PL的总可用容量的当前值。
节点ID栏34AE中存储在其中生成了相应的池PL的节点5的标识符(节点ID),容量栏34AF中存储该节点5中的相应的池PL的容量值。可用容量栏34AG中存储该节点5内的该池PL的可用容量的值。
当跨多个节点5生成对应的池PL时,节点ID栏34AE、容量栏34AF和可用容量栏34AG分别与该池PL所跨的节点5相关联地被划分,所划分的各节点ID栏34AE、各容量栏34AF和各可用容量栏34AG中分别存储对应节点5的节点ID、对应节点5内的存储装置12分配给对应节点PL的总存储容量的值和该总存储容量中的可用容量的值。
因此,在图5A的示例的情况下示出了:被赋予池ID“1”的池PL的名称是“Pool1”,总容量是“3000”,总可用容量是“1000”。该池PL是跨节点ID为“1”的节点5和节点ID为“2”的节点5而生成的,节点ID为“1”的节点5中的该池PL的容量为“1000”,可用容量为“500”,节点ID为“2”的节点5中的该池PL的容量为“2000”,可用容量为“500”。
卷结构管理表34B是用于管理在相应集群4中生成的卷VOL的表,如图5B所示,至少包括卷ID栏34BA、名称栏34BB、容量栏34BC、池ID栏34BD和存储控制器组ID栏34BE。在卷结构管理表34B中,一行对应于在相应集群4中生成的一个卷VOL。
卷ID栏34BA中存储被赋予对应的卷VOL的该卷VOL所固有的标识符(卷ID),名称栏34BB中存储赋予该卷VOL的名称。容量栏34BC中存储对应的卷VOL的容量,池ID栏34BD中存储从该卷VOL中分切出的池PL的池ID。此外,存储控制器组ID栏34BE中存储被提供有该卷VOL的存储控制器组的标识符(存储控制器组ID)。
因此,在图5B的示例的情况下示出了:被赋予卷ID“1”的卷VOL的名称是“Volume1”,容量是“100”,分切源的池PL的池ID是“1”,提供给被赋予存储控制器组ID“1”的存储控制器组。
此外,节点结构管理表34C是用于管理结构对应集群4的节点5的表,如图5C所示,至少包括节点ID栏34CA、名称栏34CB和物理容量栏34CC。在节点结构管理表34C中,一行对应于结构相应集群4的一个节点5。
节点ID栏34CA中存储对应节点5的节点ID,名称栏34CB中存储节点5的名称。物理容量栏34CC中存储对应节点5内的各存储装置12的总物理容量。因此,在图5C的示例中,被赋予了节点ID“1”的节点5的名称是“node1”,并且总物理容量是“1000”。
另一方面,虚拟机管理表35是用于管理对应集群4中的虚拟机VM的表,并且分别针对各集群4生成。如图6所示,虚拟机管理表35包括虚拟机ID栏35A、数据存储区ID栏35B、作用栏35C、卷ID栏35D和关联性规则ID栏35E。在虚拟机管理表35中,一行对应于对应集群4中的一个虚拟机VM。
虚拟机ID栏35A中存储被赋予对应的虚拟机VM的该虚拟机VM所固有的标识符(虚拟机ID),数据存储区ID栏35B中存储其中存储有该虚拟机VM的文件的数据存储区DS的标识符(数据存储区ID)。
作用栏35C中存储对应的虚拟机VM的作用。虚拟机VM的作用包括“存储控制/数据冗余化/管理”,“VM(虚拟机)管理”和“用户应用程序OS”等。具有“存储控制/数据冗余化/管理”和“VM(虚拟机)管理”角色的虚拟机VM对应于上述存储虚拟机,具有“用户应用程序OS”角色的虚拟机VM对应于上述应用程序虚拟机。“存储控制/数据冗余化/管理”和“VM(虚拟机)管理”可以组合为一个“集群管理用”。
卷ID栏35D中存储分配给该虚拟机VM的卷VOL的卷ID。此外,关联性规则ID栏35E中存储要应用于该虚拟机VM的预设关联性规则的标识符(关联性规则ID)。
因此,在图6的示例的情况下示出了:例如,分别被赋予了虚拟机ID“3”~“5”的各虚拟机VM由存储在数据存储区ID为“2”~“4”的数据存储区DS中的文件生成(部署),其角色是“用户应用程序OS”,并且分别被分配了卷ID为“2”~“4”的卷VOL,并预先设定应适用关联性规则ID为“1”的关联性规则。
关联性规则管理表36是用于管理由系统管理员预先生成的关联性规则的表,并且如图7所示,至少包括:关联性规则ID栏36A、规则类型栏36B、节点IDs栏36C、虚拟机IDs栏36D、条件满足/不满足栏36E和容错等级栏36F。在关联性规则管理表36中,一行对应于由系统管理员生成的一个关联性规则。
关联性规则ID栏36A中存储被赋予对应的关联性规则的该关联性规则所固有的标识符(关联性规则ID),规则类型栏36B中存储该关联性规则的类型(以下称为规则类型)。在本实施例的情况下,作为规则类型,有以下两种:指定可以启动虚拟机VM的节点5或该节点5的范围的“VM-节点关联性规则”;和用于指定不能在同一节点5上启动的虚拟机VM组的“VM-VM关联性规则”。但是,也可以应用除这两个关联性规则以外的关联性规则。
当对应的关联性规则的规则类型是“VM-节点关联性规则”时,节点IDs栏36C中存储能够启动作为对象的虚拟机VM的所有节点5的节点ID。然而,也可以在节点ID栏36D中存储指向其它表的链接,并且可以在该其它表中记载所有对应节点5的节点ID。可以针对各对应的节点5改变该行,使得在节点IDs栏36C中仅存储一个节点ID。
此外,在虚拟机IDs栏36D中,当对应的关联性规则的规则类型是“VM-节点关联性规则”时,存储所有作为对象的虚拟机VM的虚拟机ID,当对应的关联性规则的规则类型是“VM-VM反关联性规则”时,存储不能在同一节点5上启动的所有虚拟机VM的虚拟机ID。然而,可以在虚拟机IDs栏36D中存储指向其它表的链接,并且可以在其它表中记载所有对应的虚拟机VM的虚拟机ID。此外,可以针对各对应的虚拟机VM改变该行,使得在虚拟机IDs栏36D中仅存储一个虚拟机ID。
此外,条件满足/不满足栏36E中存储表示在集群4中的对应虚拟机VM的配置是否满足对应的关联性规则的信息。在图7中示出了如下示例,当对应虚拟机VM的配置满足对应的关联性规则时,在条件满足/不满足栏36E中存储“满足”,而当该配置不满足时,则存储“不满足”。
在容错等级栏36F中,在对应虚拟机VM的配置满足对应的关联性规则的情况下,存储该虚拟机VM的配置的可用性级别。例如,当在正常时虽然满足对应的关联性规则,但是由于因故障发生而发生引起的故障转移,对应虚拟机VM转移到另一个节点5时,不再满足该关联性规则的情况下,在容错等级栏36F中存储“中”,如果即使由于因故障发生而发生引起的故障转移,对应虚拟机VM转移到另一个节点5时,也满足该关联性规则的情况下,则在容错等级栏36F中存储“高”。
存储控制器管理表37是用于管理在对应的集群4中存在的存储控制器21(图1)的配置布局的表,并且针对各集群4分别生成。如图8所示,存储控制器管理表37包括存储控制器ID栏37A、状态栏37B、存储控制器组ID栏37C、节点ID栏37D和虚拟机ID栏37E。在存储控制器管理表37中,一行对应于对应的集群4中存在的一个存储控制器21。
在存储控制器ID栏37A中,存储被赋予对应的存储控制器21的该存储控制器21所固有的标识符(存储控制器ID),状态栏37B中存储该存储控制器21的当前状态。存储在状态栏37B中的存储控制器21的状态包括:表示上述激活状态的“激活”(Active),表示上述待机状态的“待机”(Standby)和表示故障状态的“失效”(Dead)。
存储控制器组ID栏37C中存储对应的存储控制器21所属的存储控制器组的存储控制器ID,节点ID栏37D中存储其中配置有该存储控制器21的节点5的节点ID。此外,虚拟机ID栏37E中存储对应的存储控制器5对其执行IO控制(对应于该存储控制器5)的虚拟机VM的虚拟机ID。
因此,在图8的示例的情况下示出了:由被赋予了存储控制器ID“1”的“激活”状态下的存储控制器21、和被赋予了存储控制器ID“2”的“待机”状态下的存储控制器21,构成被赋予了存储控制器组ID“1”的存储控制器组。此外,在图8中示出了:被赋予了存储控制器ID“1”的存储控制器21在节点ID为“1”的节点5中与虚拟机ID为“1”的虚拟机VM相关联,被赋予了存储控制器ID“2”的存储控制器21在节点ID为“2”的节点5中与虚拟机ID为“2”的虚拟机VM相关联。
池结构管理表34A(图5A)、卷结构管理表34B(图5B)、节点结构管理表34C(图5C)、虚拟机管理表35(图6)、关联性规则管理表36(图7)和存储控制器管理表37(图8),可以同步地保持以使得所有节点5总是具有相同的内容,也可以使各节点5仅保持关于其本节点的信息。
也可以使分别存储在池结构管理表34A、卷结构管理表34B、节点结构管理表34C、虚拟机管理表35、关联性规则管理表36和存储控制器管理表37中的信息的形式不采取上述的表格形式,而是使用文档格式等其它形式。
(1-3-2)与虚拟机配置确定功能有关的处理的流程
接下来,将参考图9~13说明关于虚拟机配置确定功能在本信息处理系统1的集群4中执行的各种处理的流程。在以下说明中,各种处理的处理主体被说明为“程序”,但是不言而喻,对应节点5的CPU10(图2)实际上基于该“程序”执行该处理。
(1-3-2-1)新的虚拟机配置处理
图9示出了与系统管理员的操作或来自在管理服务器3上运行的应用程序的请求相应地从管理服务器3将应生成一个或多个新的虚拟机VM的指令(以下称为新虚拟机生成指令)给予节点5时,由该节点5内的虚拟机管理程序33执行的新虚拟机配置处理的流程。
在新虚拟机生成指令中,将分配给此时应生成的虚拟机VM的卷VOL的容量和应适用于该虚拟机VM的关联性规则的内容指定为条件。这里的“关联性规则的内容”是指该关联性规则的规则类型和虚拟机VM的虚拟机ID,其中,在该关联性规则不是反关联性规则的情况下,该虚拟机VM的虚拟机ID不应该配置于应该配置预定生成的虚拟机VM的节点5,在该关联性规则是反关联性规则的情况下,该虚拟机VM的虚拟机ID不应该配置于与预定生成的虚拟机VM为同一节点的节点5;等等。
此外,新虚拟机生成指令被给予集群4中的任何节点5或先前被定义为集群4中的代表的节点(以下适当地称为代表节点)5。无论如何,已经接收到该新虚拟机生成指令的节点5的虚拟机管理程序33根据图9所示的处理步骤来生成满足指定条件的新的虚拟机VM。
返回图9的说明,当被给予新虚拟机生成指令时,虚拟机管理程序33开始该图9所示的新的虚拟机配置处理,首先执行用于计算虚拟机VM的配置布局的虚拟机配置布局计算处理(S1),该虚拟机VM的配置布局即使在由于因故障发生而发生引起故障转移时也不违反在新虚拟机生成指令中指定的关联性规则。
具体地,虚拟机管理程序33根据图10A和图10B所示的处理步骤执行虚拟机配置布局计算处理,首先在由新虚拟机生成指令指示的预定生成的虚拟机(以下将其称为预定生成虚拟机)VM中,选择在步骤S11以后未处理的一个预定生成虚拟机VM(S10),并且从池结构管理表34A(图5A)分别获取各节点5内的池PL的可用容量(S11)。
随后,虚拟机管理程序33基于在步骤S11中获取的各节点内的池PL的可用容量,判断在步骤S10中选择的预定生成虚拟机(下文中,在对图10A和图10B的说明中将其称为预定选择生成虚拟机)VM中,是否存在满足要分配给由新虚拟机生成指令所指定的该预定选择生成虚拟机VM的卷VOL的容量的对应节点5(S12)。
具体地,在由新虚拟机生成指令针对预定选择生成虚拟机VM指定的关联性规则不是反关联性规则的情况下,虚拟机管理程序33从由新虚拟机生成指令针对预定选择生成虚拟机VM指定的节点5中判断是否存在满足该容量条件(要分配给由新虚拟机生成指令所指定的该预定选择生成虚拟机VM的卷VOL的容量的条件,以下将其称为容量条件)的节点5。
此外,在由新虚拟机生成指令针对预定选择生成虚拟机VM指定的关联性规则是反关联性规则的情况下,虚拟机管理程序33从集群4中的所有节点5中判断是否存在满足该容量条件的节点5。
当在该判断中获得否定结果时,虚拟机管理程序33向管理服务器3通知错误,该错误指示不可生成预定选择生成虚拟机VM(S13),此后,终止该虚拟机配置布局计算处理和新虚拟机配置处理(图9)。
另一方面,当在步骤S12的判断中获得肯定结果时,虚拟机管理程序33判断由新虚拟机生成指令针对预定选择生成虚拟机VM指定的关联性规则是否是反关联性规则(S14)。
当在该判断中获得肯定结果时,虚拟机管理程序33参考存储控制器管理表37(图8),确认是否可以在满足预定选择生成虚拟机VM的容量条件的节点5之中的、存在存储控制器(激活存储控制器)21的节点5中配置预定选择生成虚拟机VM(S15),其中该存储控制器21是指无论是正常时还是发生故障转移之后的情况下都能遵守关联性规则(反关联性规则),并且可与预定选择生成虚拟机VM相关联对应的被设定为激活状态的存储控制器。
具体地,虚拟机管理程序33确认在满足预定选择生成虚拟机VM的容量条件的对应节点5中,是否存在满足以下条件(A)和(B)两者的节点5。
(A)与不应配置在与由新虚拟机生成指令指示的预定选择生成虚拟机VM相同的节点5上的虚拟机VM相关联对应的激活存储控制器21,以及与该存储控制器21属于同一存储控制器组的待机存储控制器21均未被配置。
(B)存在可以与预定选择生成虚拟机VM相关联对应的激活存储控制器21,与该激活存储控制器21属于同一存储控制器组的待机存储控制器21被配置于如下节点5,即,与不应配置在与由新虚拟机生成指令指示的预定选择生成虚拟机VM相同的节点5上的虚拟机VM相关联的激活存储控制器21、和与该存储控制器21属于同一存储控制器组的待机存储控制器21均未被配置的节点5。
如果在步骤S12的判断中获得否定结果,虚拟机管理程序33参考存储控制器管理表37(图8),确认是否可以在存在激活存储控制器21的节点5中配置预定选择生成虚拟机VM,其中该激活存储控制器21是指无论是正常时还是发生故障转移之后的情况下都能遵守关联性规则,满足针对预定选择生成虚拟机VM指定的容量条件的激活存储控制器(S16)。
具体地,虚拟机管理程序33判断在应配置由新虚拟机生成指令指示的预定选择生成虚拟机VM的节点5中,是否存在被配置在:存在可与预定选择生成虚拟机VM相关联对应的激活存储控制器21、与该激活存储控制器21属于同一存储控制器组的待机存储控制器21也被配置于应配置由新虚拟机生成指令指示的预定选择生成虚拟机VM的节点5上的节点5。
此后,虚拟机管理程序33在步骤S15或步骤S16中判断是否可以确认“可以配置”(S17)。当在此判断中获得肯定结果时,虚拟机管理程序33将预定选择生成虚拟机VM配置在步骤S15或步骤S16中已被确认可以配置的任一节点5中,将关于预定选择生成虚拟机VM的必要信息登记于虚拟机管理表35(图6)中(S18)。然后,虚拟机管理程序33进入步骤S25。
另一方面,当在步骤S17的判断中获得否定结果时,虚拟机管理程序33参考节点结构管理表组34(图4)和存储控制器管理表37(图8),确认是否能在满足预定选择生成虚拟机VM的容量条件的节点5之中的、仅在正常时能遵守为新选择生成虚拟机VM指定的关联性规则、并且可与预定选择生成虚拟机VM相关联对应的激活存储控制器21所存在的任一节点5中配置预定选择生成虚拟机VM(S19)。
具体地,虚拟机管理程序33确认在满足预定选择生成虚拟机VM的容量条件的对应节点5之中,是否存在满足以下条件(E)和(F)两者的节点5。
(E)未配置与不应配置在与由新虚拟机生成指令指示的预定选择生成虚拟机VM相同的节点5上的虚拟机VM相关联对应的激活存储控制器21。
(F)存在能与预定选择生成虚拟机VM相关联对应的激活存储控制器21。
随后,虚拟机管理程序33判断在步骤S17中是否确认了“可以配置”(S20)。如果在该判断中获得肯定的结果,虚拟机管理程序33将预定选择生成虚拟机VM配置在步骤S19中已被确认可以配置的任一节点5中,将关于预定选择生成虚拟机VM的必要信息登记于虚拟机管理表35(S21)。
此外,虚拟机管理程序33在关联性规则管理表36(图7)的每一行中的、与应适用于预定选择生成虚拟机VM的关联性规则相对应的行的容错等级栏36F(图7)中,设定意味着虽然在正常时可以遵守关联性规则、而在发生故障时却违反的“中”(S22),然后处理进入步骤S25。
另一方面,当在步骤S20的判断中获得否定结果时,虚拟机管理程序33从满足预定选择生成虚拟机VM的容量条件的节点5之中选择任一节点5,将预定选择生成虚拟机VM配置在该节点5,将关于预定选择生成虚拟机VM的必要信息登记于虚拟机管理表35(S23)。
此外,虚拟机管理程序33在关联性规则管理表36的每一行中的、与应适用于预定选择生成虚拟机VM的关联性规则相对应的行的条件满足/不满足栏36E(图7)中,保存意味着在正常时和发生故障时都违反关联性规则的“不满足”(S24),然后处理进入步骤S25。
当处理前进到步骤S25时,虚拟机管理程序33判断是否针对所有预定生成虚拟机VM都已执行完成了步骤S12~S24的处理(S25)。如果在此判断中获得否定结果,则虚拟机管理程序33返回到步骤S10,此后,将在步骤S10中选择的预定生成虚拟机VM依次替换为在步骤S12以后未处理的另一个预定生成虚拟机VM,同时重复步骤S10~S25的处理。
当通过针对所有预定生成虚拟机VM都已执行完成了步骤S12~S24的处理而最终在步骤S25中获得肯定结果时,虚拟机管理程序33在关联性规则管理表36中的空白的所有条件满足/不满足栏36E中分别保存“满足”,并且将条件满足/不满足栏36E中保存有“满足”的行中容错等级栏36F为空白的所有行的容错等级栏36F中分别设定“高”(S26)。此后,虚拟机管理程序33结束该虚拟机配置布局计算处理,并返回到新虚拟机配置确定处理(图9)。
当返回到新虚拟机配置确定处理时,虚拟机管理程序33参考关联性规则管理表36,判断在步骤S1中计算出的各预定生成虚拟机VM的配置布局是否都满足对这些预定生成虚拟机VM分别要求的条件(S2)。
如果在该判断中获得否定结果,则虚拟机管理程序33将在步骤S1中计算出的各预定生成虚拟机VM的配置布局以及该配置布局是否不满足哪些预定生成虚拟机VM的条件(这里为关联性规则)的信息发送给管理服务器3(S3),然后处理进入步骤S5。
另一方面,当在步骤S2的判断中获得肯定结果时,虚拟机管理程序33将预定生成虚拟机的容错等级、这些预定生成虚拟机以与该容错等级相应的内容满足关联性规则的情况(即,在容错级别为“高”的情况下,在正常时和发生故障时都满足关联性规则,而在“中”的情况下,仅在正常时满足关联性规则的情况)、和在步骤S1中计算出的各预定生成虚拟机VM的配置布局通知给管理服务器3(S4),然后处理进入步骤S5。
此后,虚拟机管理程序33根据在步骤S1中计算出的配置布局,执行用于将各预定生成虚拟机VM分别部署在对应的节点5中、并且在部署有对应的预定生成虚拟机VM的节点5中分别生成分别分配给这些预定生成虚拟机VM的卷VOL的处理(S5)。
具体地,当应该在本节点5中生成预定生成虚拟机VM时,虚拟机管理程序33部署该虚拟机VM,而应在另一个节点5中生成预定生成虚拟机VM时,对该节点5的虚拟机管理程序33给出要部署该虚拟机VM的指示。
此外,当在本节点5中部署了新的虚拟机VM时,虚拟机管理程序33对本节点5内的存储管理程序32(图4)给出要生成分配给该虚拟机VM的卷VOL的指示,而当在另一个节点5中部署了新的虚拟机VM时,对该节点5内的存储管理程序32给出要生成分配给该虚拟机VM的卷VOL的指示。
然后,虚拟机管理程序33结束该新虚拟机配置处理。
(1-3-2-2)虚拟机转移处理
另一方面,图11示出响应系统管理员的操作或来自安装在管理服务器3中的应用程序的请求,从管理服务器3给出了应将一个或多个虚拟机VM转移到另一节点5的指令(以下称为虚拟机转移指令)时,由虚拟机管理程序33执行的虚拟机转移处理的流程。
作为从管理服务器3向节点5给出虚拟机转移指令的实例,可列举以下例子:在节点5之间产生负载不均、特定节点5的负载相比其他节点5的负载过大的情况下,通过使在该特定节点5上运行的一部分的虚拟机VM转移到另一个节点5,以平衡集群4中节点5之间的负载。虚拟机的转移不仅是为了实现负载平衡,也可以是为了消除运行中任何项目(卷VOL的数量,使用容量等)的偏差。
可以与新虚拟机生成指令一样,将虚拟机转移指令给予集群4中的任何节点5或代表节点5。在任何情况下,接收到该虚拟机转移指令的节点5的虚拟机管理程序33根据图11所示的处理步骤,执行用于将指定的虚拟机VM转移到另一节点5的处理。
实际上,在从管理服务器3接收到指定了要转移的一个或多个虚拟机VM(以下称为转移对象虚拟机)的虚拟机转移指令时,虚拟机管理程序33开始图11中所示的虚拟机转移处理,并且首先从关联性规则管理表36(图7)获取在虚拟机转移指令中指定的各转移对象虚拟机VM的关联性规则(S30)。
然后,针对各转移对象虚拟机VM,虚拟机管理程序33执行用于分别计算即使因故障发生而发生而引起故障转移也不会违反为各转移对象虚拟机VM设定的关联性规则的再配置目的地的虚拟机再配置布局计算处理(S31)。而且,该虚拟机再配置布局计算处理具有与以上参考图10A和图10B说明的虚拟机配置布局计算处理相同的处理内容,只是将在上述的虚拟机配置布局计算处理中的“预定生成虚拟机”改称“转移对象虚拟机”即可,因此将省略其详细说明。
此后,虚拟机管理程序33以与图9的步骤S2~S4相同的方式执行步骤S32~S34的处理。然后,根据在步骤S31中计算出的再配置布局,执行用于将转移对象的各虚拟机VM和分配给该虚拟机VM的卷VOL转移到另一节点5的处理(S35)。
具体地,当应将转移对象虚拟机VM从另一节点5转移到本节点5时,虚拟机管理程序33以对分配给转移对象虚拟机VM的卷VOL中保存的数据进行复制的方式,对本节点5内的存储管理程序32(图4)发出如下指示:在本节点5中生成卷VOL,并且将分配给该转移对象虚拟机VM的卷VOL中保存的数据复制到所生成的卷VOL中。此后,将数据复制后的卷VOL识别为本节点5的DS,作为本节点5的虚拟机VM进行部署。
当应将转移对象虚拟机VM从本节点5或另一个节点5转移到另一节点5时,虚拟机管理程序33对本节点5内的存储管理程序32(图4)发出如下指示:在本节点5中生成卷VOL,并且将分配给该转移对象虚拟机VM的卷VOL中保存的数据复制到所生成的卷VOL中。此后,对转移目的地的虚拟机管理程序33发出如下指示:将数据复制后的卷VOL识别为另一节点5的DS,作为另一节点5的虚拟机VM进行部署。
然后,虚拟机管理程序33结束该虚拟机转移处理。
(1-3-2-3)第一虚拟机配置检查处理
另一方面,图12示出了当通过增加或减少集群4中的节点5的数量来改变集群4的结构时,响应系统管理员的操作或来自安装在管理服务器3中的应用程序的请求,从管理服务器3发出旨在检查各虚拟机VM的配置的第一虚拟机配置检查处理指令时,由虚拟机管理程序33执行的第一虚拟机配置检查处理的流程。
当集群4的结构由于增加或减少节点5的数量等而改变时,即使在结构改变之前处于某一虚拟机VM不满足关联性规则的状态,也有可能在结构改变之后满足该关联性规则,或在相反的情况下,在结构改变之后某一虚拟机VM不再满足关联性规则。因此,在改变了集群4的结构的情况下,需要检查各虚拟机VM的配置,为此执行该第一虚拟机配置检查处理。
与上述新虚拟机生成指令或虚拟机转移指令一样,可以向集群4中的任何节点5或代表节点5发出第一虚拟机配置检查指令。在任何情况下,接收到该第一虚拟机配置检查指令的节点5的虚拟机管理程序33根据图12所示的处理步骤,检查集群4中的各虚拟机VM的当前配置。如有必要,执行用于将一些或所有虚拟机VM转移到另一个节点5的处理。
在以下的说明中,第一虚拟机配置检查指令包含结构改变后的新集群4的结构信息(结构改变后的节点5的数量,各节点5的可用容量等信息),但也可以由接收到了该虚拟机配置检查指令的节点5与集群4中的各节点5通信来获取集群4的新结构信息。
在第一虚拟机配置检查指令包含结构改变后的新集群4的结构信息的情况下,虚拟机管理程序33根据包含在第一虚拟机配置检查指令中的新集群4的结构信息更新本节点5内的节点结构管理表组34(图4),并且在对另一个节点5给出使该节点5保持的节点结构管理表组34以相同的方式改变的指示之后,执行图12的第一虚拟机配置检查处理。然而,也可以在系统管理员更新了各节点5内的节点结构管理表组34之后,根据系统管理员的操作,从管理服务器3向对应节点5给出第一虚拟机配置检查指令。
返回到图12的说明,当从管理服务器3接收到上述第一虚拟机配置检查指令时,虚拟机管理程序33开始图12所示的第一虚拟机配置检查处理。首先,从在关联性规则管理表36(图7)中登记的关联性规则中,选择一个从步骤S42以后未处理的关联性规则(S40)。
随后,虚拟机管理程序33参考虚拟机管理表35(图6),以即使在集群4中的任何存储控制器组中发生故障转移时,也不会违反在步骤S40中选择的关联性规则(在下文中,在图12的说明中将其称为选择关联性规则)的方式,计算出新集群结构下的各虚拟机VM的再配置布局(S41)。
由于可以以与以上参考图10A和10B说明的虚拟机配置布局计算处理相同的方式来计算该再配置布局,因此这里将省略步骤S41的详细说明。然而,与上述不同之处在于,在第一虚拟机配置检查处理的步骤S41中执行的虚拟机再配置布局计算处理中,在图10A的步骤S10中,选择集群4中的现有虚拟机VM之中的从步骤S12以后未处理的虚拟机VM。
然后,虚拟机管理程序33以与图11的步骤S32~S34相同的方式处理步骤S42~S44的处理。
此后,虚拟机管理程序33与图11的步骤S35同样地,根据在步骤S41中计算出的再配置布局,执行用于将要转移的各虚拟机VM和分配给该虚拟机VM的卷VOL转移到另一节点5的处理(S45),并且终止该第一虚拟机配置检查处理。
还可以在实际改变集群4的结构之前为了判断是否应该改变集群结构而执行该第一虚拟机配置检查处理。在这种情况下,省略步骤S45的处理。
(1-3-2-4)第二虚拟机配置检查处理
在图13中示出了,关于某一个关联性规则,在进行了作为对象的节点5或虚拟机VM的数量的增加或减少等改变的情况下,响应系统管理员的操作或来自安装在管理服务器3中的应用程序的请求,从管理服务器3发出旨在检查各虚拟机VM的配置的第二虚拟机配置检查处理指令时,由虚拟机管理程序33执行的第二虚拟机配置检查处理的流程。
当任何关联性规则发生了改变时,即使在改变前存在不满足该关联性规则的虚拟机VM,该虚拟机VM也有可能会在改变后满足该关联性规则。在相反的情况下,在改变之后某一虚拟机VM有可能不再满足该关联性规则。为此,在改变了关联性规则的情况下,必须检查各虚拟机VM的配置,为此,执行该第二虚拟机配置检查处理。
与上述新虚拟机生成指令或虚拟机转移指令一样,第二虚拟机配置检查指令可以被给予集群4中的任意节点5或代表节点5。在任何情况下,接收到了该第二虚拟机配置检查指令的节点5的虚拟机管理程序33根据图13所示的处理步骤,来检查集群4中的各虚拟机VM的当前配置。如有必要,执行用于将一些或所有虚拟机VM转移到另一个节点5的处理。
在下文中,假定第二虚拟机配置检查指令中包括改变后的新关联性规则。当改变后的新关联性规则包含在第二虚拟机配置检查指令中时,虚拟机管理程序33将本节点5内的关联性规则管理表36(图7)根据包含在第二虚拟机配置检查指令中的新关联性规则进行更新,进而在对另一节点5给出要将该节点5所保持的关联性规则管理表36同样地改变的指示之后,执行图13中的第二虚拟机配置检查处理。然而,也可以在系统管理员更新了各节点5内的关联性规则管理表36之后,根据系统管理员的操作,从管理服务器3向对应节点5发出第二虚拟机配置检查指令。
返回图13的说明,当从管理服务器3接收到上述第二虚拟机配置检查指令时,虚拟机管理程序33开始图13中所示的第二虚拟机配置检查处理,首先参考更新后的关联性规则管理表36,从关联性规则管理表36获取受改变后的关联性规则影响的节点5的节点ID和受影响的虚拟机VM的虚拟机ID(S50)。
然后,虚拟机管理程序33以与以上参考图12说明的第一虚拟机配置检查处理的步骤S41~S44相同的方式处理步骤S51~S54的处理。然而,与上述不同之处在于,在第二虚拟机配置检查处理的步骤S51中执行的虚拟机再配置布局计算处理中,在图10A的步骤S10中,选择在步骤S50中获取了虚拟机ID的虚拟机VM之中的从步骤S12以后未处理的虚拟机VM。
此后,虚拟机管理程序33与图11的步骤S37同样地,根据在步骤S51中计算出的再配置布局,执行用于将要转移的各虚拟机VM和分配给该虚拟机VM的卷VOL转移到另一节点5的处理(S55),并且终止该第二虚拟机配置检查处理。
还可以在实际改变关联性规则之前为了判断是否应当改变关联性规则而执行该第二虚拟机配置检查处理。在这种情况下,省略步骤S55的处理。
(1-4)本实施例的效果
如上所述,在本实施例的信息处理系统1中,参照保存有存储控制器5的配置布局信息的存储控制器管理表37(图8),来确定各虚拟机VM的配置目的地和转移目的地,使得即使由于故障发生而发生故障转移,也能在维持局部性的同时不违反为各虚拟机VM分别指定的关联性规则(反关联性规则)。
因此,根据该信息处理系统1,可以实现可以始终遵守为各虚拟机VM指定的关联性规则的高可靠性和高可用性的信息处理系统。
(2)第二实施例
在以上参考图9说明的第一实施例的新虚拟机配置处理中,有时虽然在当前集群结构中不满足为某一生成对象虚拟机VM指定的卷VOL的容量和配置目的地的节点5等条件,但若例如将存储装置12追加到节点5或增设节点5本身,则会满足所有生成对象虚拟机VM的条件。
因此,在以下说明将用于提示将存储装置追加到节点5或增设节点等的集群结构改进方案的改进方案提示功能追加于根据第一实施例的信息处理系统1的示例。
在图1中,附图标记40整体上表示该实施例的信息处理系统。该信息处理系统40除了在构成集群4的各节点41或代表节点41中搭载有上述改进方案提示功能以外,具有与根据第一实施例的信息处理系统1相同的结构。
图14中,与图4中的对应部分被赋予了相同的附图标记,示出了搭载有改进方案提示功能的节点41的存储器11中的程序和控制信息的结构。如图14所示,在本实施例的节点41的存储器11中,除了上述的存储ID控制程序30、存储数据冗余化程序31、存储管理程序32、节点结构管理表组34、虚拟机管理表35、关联性规则管理表36和存储控制器管理表37之外,还存储了虚拟机管理程序42和追加资源管理表43。
虚拟机管理程序42是具有基于与系统管理员的操作或来自安装在管理服务器3上的应用程序的请求相应地从管理服务器3给出的指示,来生成数据存储区DS和虚拟机VM,或者将生成的虚拟机VM转移到另一节点5的功能的程序。虚拟机管理程序42除了具有后述的改进方案提示功能以外,具有与第一实施例的虚拟机管理程序33(图4)相同的功能。
追加资源管理表43是用于管理在执行稍后参考图17A和图17B说明的改进方案提示处理时计算出的、为满足各关联性规则的关联性规则而需要追加的资源的表,如图15所示,包括关联性规则ID栏43A、节点ID栏43B和追加驱动容量栏43C。在追加资源管理表43中,每一行分别对应于一条关联性规则。
关联性规则ID栏43A中存储对应的关联性规则的关联性规则ID。此外,在节点ID栏43B中,当为了满足对应的关联性规则而应将存储装置12追加到对应节点41时,保存应追加存储装置12的节点41的节点ID,当为了满足对应的关联性规则而应追加节点41本身时,保存应新追加的节点41的节点ID。此外,在追加驱动容量栏43C中,保存为了满足对应的关联性规则而应追加到对应节点41的存储容量。
节点ID栏43B中保存的“应新追加的节点41的节点ID”是此时被赋予该节点41的该节点41所固有的节点ID,该节点ID保存在追加资源管理表43的节点ID栏43B中。
因此,当保存在节点ID栏43B中的节点ID存在于节点结构管理表组34(图4)的节点结构管理表34C(图5C)中,并且存储容量保存在追加驱动容量栏42C中时,意味着应当追加与在节点ID栏43B中保存有节点ID的节点41在同一行的追加驱动容量栏43C中所保存的存储容量的存储装置12。当保存在节点ID栏43B中的节点ID不存在于节点结构管理表组34的节点结构管理表34C中时,意味着应该新追加具有该节点ID的节点41。
图16示出了响应系统管理员的操作或来自在管理服务器3上运行的应用程序的请求而从管理服务器3给出旨在应当确定新虚拟机的配置目的地的指示(以下将其称为新虚拟机配置目的地决定生成)时,根据本实施例的虚拟机管理程序42执行的新虚拟机配置目的地决定处理的流程。被给予该新虚拟机配置目的地决定指令的节点41的虚拟机管理程序42根据图16所示的处理步骤,分别确定在新虚拟机配置目的地指令中指定的各预定生成虚拟机VM的配置目的地。如有必要,提示集群结构的改进方案。
可以将新虚拟机配置目的地决定指令给予集群4中的任何节点41或代表节点41。在任何情况下,接收到该新虚拟机配置目的地决定指令的节点41的虚拟机管理程序42根据图16所示的处理步骤,决定满足所指定的条件的预定生成的各虚拟机(预定生成虚拟机)VM的配置目的地,并提示集群结构的改进方案。
返回图16的说明,在被赋予新虚拟机配置目的地决定指令时,虚拟机管理程序42开始图16所示的新虚拟机配置目的地决定处理,以与以上参考图9说明的第一实施例的新虚拟机配置处理的步骤S1和步骤S2相同的方式处理步骤S60和步骤S61。
如果在步骤S61的判断中获得否定结果,虚拟机管理程序42将在步骤S1计算出的各预定生成虚拟机VM的配置布局以及该配置布局是否不满足哪些预定生成虚拟机VM的条件(在此为关联性规则)的信息通知给管理服务器3(S62),然后处理进入步骤S65。
如果在步骤S61的判断中获得肯定结果,虚拟机管理程序42将各预定生成虚拟机VM的容错级别、这些预定生成虚拟机VM以与其容错级别相应的内容满足关联性规则的情况(即,如果容错级别为“高”,则在正常时和发生故障时都满足关联性规则,而在“中”的情况下,仅在正常时满足关联性规则的情况)、以及在步骤S61中计算出的各预定生成虚拟机VM的配置布局通知给管理服务器3(S63)。
随后,虚拟机管理程序42判断是否在关联性规则管理表36的所有行的容错等级栏36F中都设定为“高”(是否所有关联性规则的容错等级为“高”)(S64)。然后,当在该判断中获得肯定结果时,虚拟机管理程序42结束该新虚拟机配置目的地决定处理。
另一方面,当在步骤S64的判断中获得否定结果时,虚拟机管理程序42执行用于计算出用于将所有关联性规则的容错等级设定为“高”的改进方案、并通知管理服务器3的改进方案计算处理(S65)。然后,虚拟机管理程序42结束该新虚拟机配置目的地决定处理。
图17A和图17B示出了在新虚拟机配置目的地决定处理的步骤S67中由虚拟机管理程序42执行的改进方案计算处理的具体处理内容。当前进到新虚拟机配置目的地决定处理的步骤S67时,虚拟机管理程序42开始图17A和图17B所示的改进方案计算处理。
虚拟机管理程序42首先以与以上参照图10A和图10B说明的虚拟机配置布局计算处理的步骤S10、S11、S14~步骤S17相同的方式执行步骤S70、步骤S71、步骤S72~步骤S75的处理。
如果在步骤S75的判断中获得否定结果,虚拟机管理程序42针对在步骤S70中选择的预定生成虚拟机(以下,在图17A和图17B的说明中,称为预定选择生成虚拟机)VM判断由新虚拟机生成指令指定的关联性规则是否为关联性规则(S76)。
如果在该判断中获得肯定结果,虚拟机管理程序42判断是否存在在步骤S71中获取的池PL的可用容量等于或大于针对预定选择生成虚拟机VM要求的容量的节点41(S77)。然后,当在该判断中获得肯定结果时,虚拟机管理程序42进入步骤S80。
另一方面,如果在步骤S77的判断中获得否定结果,虚拟机管理程序42通知管理服务器3(图1)不存在改进方案(S78),此后,结束该改进方案提示处理,处理返回到图16的新虚拟机配置目的地决定处理。
另一方面,当在步骤S76的判断中获得否定结果时,虚拟机管理程序42判断在步骤S75中获得否定结果的原因是否是节点5的容量不足(S79)。
当在该判断中获得肯定结果时,在针对预定选择生成虚拟机VM用新虚拟机生成指令指定了配置目的地的节点41的情况下,虚拟机管理程序42选择该节点41中的某一节点41,在追加资源管理表43(图15)中进行旨在向节点41中追加相应不足容量的存储容量的登记(S80)。
具体地,当在追加资源管理表43的各行中,存在在关联性规则ID栏43A中保存有针对预定选择生成虚拟机VM指定的关联性规则的关联性规则ID、而在节点ID栏43B中保存有在S77中选择的上述节点41的节点ID的行,并且该行的追加驱动容量栏43C为空白的情况下,虚拟机管理程序42将相应不足容量的存储容量保存于该追加驱动容量栏43C。另外,当在追加资源管理表43的各行中,存在在关联性规则ID栏43A中保存有针对预定选择生成虚拟机VM指定的关联性规则的关联性规则ID、而在节点ID栏43B中保存有在S79中选择的上述节点41的节点ID的行,并且该行的追加驱动容量栏43C已保存有值的情况下,虚拟机管理程序42将该值更新为加上了此时的相应不足容量的存储容量后的值。
接下来,虚拟机管理程序42返回到步骤S75,此后,以与上述相同的方式顺序地处理步骤S75之后的处理。
另一方面,如果在步骤S79的判断中获得否定结果,虚拟机管理程序42保留追加资源管理表43的未使用的行,并在该行的关联性规则ID栏43A中保存针对预定选择生成虚拟机VM指定的关联性规则的关联性规则ID,并且在该行的节点ID栏43B中保存此时赋予应新追加的节点41的节点ID,并且将保存在该行的追加驱动器容量栏43C中的值更新为通过加上该预定选择生成虚拟机VM所需的容量后而获得的值(S81)。然后,虚拟机管理程序42返回步骤S75。
另一方面,如果在步骤S75的判断中获得肯定结果,虚拟机管理程序42将预定选择生成虚拟机VM配置在确认可在步骤S73或步骤S74配置的某一节点41上,临时更新成虚拟机管理表35(图6)(S82)。
随后,虚拟机管理程序42判断针对所有的预定生成虚拟机VM是否已经执行完成了步骤S72以后的处理(S83)。当在此判断中获得否定结果时,虚拟机管理程序42返回步骤S70,此后,将在步骤S70中选择的预定生成虚拟机VM顺序替换为在步骤S72以后未处理的另一个预定生成虚拟机VM,同时重复步骤S70~S83的处理。
当通过针对所有的预定生成虚拟机VM已经执行完成了步骤S72~步骤S82的处理而最终在步骤S83中获得肯定结果时,虚拟机管理程序42将此时保存在追加资源管理表43中的应追加的新节点41的节点ID、应对此时保存在追加资源管理表43中的现有的节点41追加的存储容量、以及该节点41的节点ID作为改进方案通知管理服务器3(S84)。由此,这些信息显示在管理服务器3上。
此后,虚拟机管理程序42结束该改进方案计算处理,并且结束图16的新虚拟机配置目的地决定处理。
如上所述,在根据本实施例的信息处理系统40中,因为当不能将新生成的虚拟机VM配置在可以遵守为该虚拟机VM指定的关联性规则、满足该虚拟机VM的容量条件、并且存在激活存储控制器21的节点41中的情况下,提出集群4的结构的改进方案,所以除了可由第一实施例获得的效果之外,还可获得改善从用户的角度来看的信息处理系统40的可用性效果。
(3)其他实施例
在上述第一和第二实施例中,说明了在节点5、41中配置有存储管理程序32和虚拟机管理程序35、42的情况。然而,本发明不限于此,也可以将这些存储管理程序32以及虚拟机管理程序35、42配置在管理服务器3中,使管理服务器3的存储管理程序32以及虚拟机管理程序35、42执行参考图9~图13和图16~图17B说明的各处理。然而,即使在这种情况下,与节点结构管理表组34的存储控制器21有关的信息(保存在卷结构管理表34B(图5B)中的信息)也总是需要在存储控制器组内同步。
在上述第一和第二实施例中,如图1所示,说明了虚拟机VM在监管器24上动作的情况。然而,本发明不限于此,也可以例如与图1中的对应部分赋予了相同的附图标记的图18所示,在结构集群50的各节点51中,在容器52上运行所需的各程序。在这种情况下,除了仅通过将第一和第二实施例中表示为“虚拟机”的所有部分替换为“容器”,内容都相同,因此这里将省略其详细说明。此外,存储控制器21和应用程序20可以不是在容器52上而是作为OS上的程序动作。
此外,在第二实施例中,说明了当配置新的虚拟机时适用提示集群4的改进方案的功能的情况,但是本发明不限于此,也可以在转移虚拟机和检查虚拟机的配置时适用。
工业可用性
本发明可以广泛地适用于具有构成集群的多个节点并且其中对部署在所述节点中的虚拟机施加一定限制条件的各种结构的信息处理系统。
附图标记说明
1、40…信息处理系统,2…客户终端,3…管理服务器,4…集群,5、41…节点,10…CPU,11…存储器,12…存储装置,21…存储控制器,23…数据冗余化部,30…存储IO控制程序,31…存储数据冗余化程序,32…存储管理程序,33、42…虚拟机管理程序,34…节点结构管理表组,34A…池结构管理表,34B…卷结构管理表,34C…节点结构管理表,35…虚拟机管理表,36…关联性规则管理表,37…存储控制器管理表,43…追加资源管理表,DS…数据存储区,PL…池,VM…虚拟机,VOL…卷。下面将参考附图详细描述本发明的实施例。
Claims (9)
1.一种信息处理系统,其特征在于:
包括具有处理器的多个节点和用于存储数据的存储装置,在所述处理器上运行虚拟机和存储控制器,
构成在配置于不同的节点上的存储控制器之间能够接管处理的存储控制器组,
所述虚拟机能够通过部署而转移至不同的节点,
所述虚拟机和处理对所述虚拟机输入输出的数据的存储控制器配置于同一个节点,
不能配置于同一个节点的虚拟机的组合以限制条件来确定,
所述存储控制器组包括:与所述虚拟机配置于同一个节点且处理对该虚拟机输入输出的数据的第一存储控制器,和配置于与所述虚拟机不同的节点的第二存储控制器,
在所述虚拟机和处理对该虚拟机输入输出的数据的第一存储控制器所运行的节点发生了故障时,由与所述第一存储控制器属于同一存储控制器组且在其它节点中运行的第二存储控制器来接管该第一存储控制器的处理,并将所述虚拟机部署于进行了接管的第二存储控制器所运行的节点,
管理部将所述不能配置于同一个节点的虚拟机中的一个虚拟机配置于下述节点,在该节点中没有配置所述不能配置于同一个节点的虚拟机中的另一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的第一存储控制器和第二存储控制器,并且,所述管理部将所述不能配置于同一个节点的虚拟机中的所述另一个虚拟机配置于下述节点,在该节点中没有配置所述一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的存储控制器。
2.根据权利要求1所述的信息处理系统,其特征在于,
所述管理部,将所述不能配置于同一个节点的虚拟机中的一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的第二存储控制器、以及另一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的第二存储控制器,不配置于相同的节点。
3.根据权利要求1所述的信息处理系统,其特征在于,
以所述限制条件确定的不能配置于同一个节点的虚拟机的组合,是进行不同的处理的虚拟机的组合。
4.根据权利要求1所述的信息处理系统,其特征在于,
所述管理部确定所述虚拟机使用的存储容量和所述存储控制器提供的存储容量,
所述管理部以满足所述虚拟机使用的存储容量的方式选择所述存储控制器和要配置的节点。
5.根据权利要求1所述的信息处理系统,其特征在于,
所述管理部在不能满足所述限制条件时发出通知。
6.根据权利要求5所述的信息处理系统,其特征在于,
在所述通知中,不能满足所述限制条件的情况区分为是在初始状态下不能满足限制条件、还是在发生故障而转移了所述虚拟机时不能满足限制条件。
7.根据权利要求5所述的信息处理系统,其特征在于,
所述通知中包括对不能满足限制条件的情况的解决方案。
8.根据权利要求7所述的信息处理系统,其特征在于,
所述解决方案包括增加所述节点的数量和/或增加所述节点的存储容量。
9.一种由信息处理系统执行的信息处理方法,其中该信息处理系统包括具有处理器的多个节点和用于存储数据的存储装置,在所述处理器上运行虚拟机和存储控制器,所述信息处理方法的特征在于:
构成在配置于不同的节点上的存储控制器之间能够接管处理的存储控制器组,
所述虚拟机能够通过部署而转移至不同的节点,
所述虚拟机和处理对所述虚拟机输入输出的数据的存储控制器配置于同一个节点,
不能配置于同一个节点的虚拟机的组合以限制条件来确定,
所述存储控制器组包括:与所述虚拟机配置于同一个节点且处理对该虚拟机输入输出的数据的第一存储控制器,和配置于与所述虚拟机不同的节点的第二存储控制器,
在所述虚拟机和处理对该虚拟机输入输出的数据的第一存储控制器所运行的节点发生了故障时,由与所述第一存储控制器属于同一存储控制器组且在其它节点中运行的第二存储控制器来接管该第一存储控制器的处理,并将所述虚拟机部署于进行了接管的第二存储控制器所运行的节点,
管理部将所述不能配置于同一个节点的虚拟机中的一个虚拟机配置于下述节点,在该节点中没有配置所述不能配置于同一个节点的虚拟机中的另一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的第一存储控制器和第二存储控制器,并且,所述管理部将所述不能配置于同一个节点的虚拟机中的所述另一个虚拟机配置于下述节点,在该节点中没有配置所述一个虚拟机使用的存储控制器所涉及的存储控制器组中包含的存储控制器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020030875A JP7122332B2 (ja) | 2020-02-26 | 2020-02-26 | 情報処理システム及び方法 |
JP2020-030875 | 2020-02-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312139A CN113312139A (zh) | 2021-08-27 |
CN113312139B true CN113312139B (zh) | 2024-05-28 |
Family
ID=76548285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010861401.1A Active CN113312139B (zh) | 2020-02-26 | 2020-08-25 | 信息处理系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US11048546B1 (zh) |
JP (1) | JP7122332B2 (zh) |
CN (1) | CN113312139B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10904330B2 (en) * | 2018-07-10 | 2021-01-26 | Vmware, Inc. | Systems, methods and apparatus to manage services in distributed systems |
JP7122332B2 (ja) * | 2020-02-26 | 2022-08-19 | 株式会社日立製作所 | 情報処理システム及び方法 |
JP7154261B2 (ja) * | 2020-09-25 | 2022-10-17 | 株式会社日立製作所 | 複合型ストレージシステム |
JP2022112614A (ja) * | 2021-01-22 | 2022-08-03 | 株式会社日立製作所 | リソースの移動スケジュールを決定する装置 |
US11842210B2 (en) * | 2021-10-25 | 2023-12-12 | Vmware, Inc. | Systems, methods, and apparatus for high availability application migration in a virtualized environment |
JP7519408B2 (ja) * | 2022-06-20 | 2024-07-19 | 株式会社日立製作所 | 計算機システム、及び冗長化要素構成方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052938A (zh) * | 2010-10-14 | 2013-04-17 | 株式会社日立制作所 | 数据迁移系统和数据迁移方法 |
JP2014075027A (ja) * | 2012-10-04 | 2014-04-24 | Nippon Telegr & Teleph Corp <Ntt> | 仮想マシン配置装置および仮想マシン配置方法 |
CN106294031A (zh) * | 2016-07-29 | 2017-01-04 | 杭州宏杉科技有限公司 | 一种业务管理方法和存储控制器 |
CN106537354A (zh) * | 2014-07-22 | 2017-03-22 | 日本电气株式会社 | 虚拟化基础设施管理装置、虚拟化基础设施管理系统、虚拟化基础设施管理方法和用于记录虚拟化基础设施管理程序的记录介质 |
CN110249310A (zh) * | 2017-02-03 | 2019-09-17 | 微软技术许可有限责任公司 | 云计算系统中的用于虚拟机的资源管理 |
WO2020010503A1 (zh) * | 2018-07-10 | 2020-01-16 | 深圳花儿数据技术有限公司 | 基于多层一致性哈希的分布式数据存储方法与系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7802251B2 (en) * | 2005-11-09 | 2010-09-21 | Hitachi, Ltd. | System for resource allocation to an active virtual machine using switch and controller to associate resource groups |
US9047136B2 (en) * | 2010-06-11 | 2015-06-02 | Oracle International Corporation | Method and system for migrating the state of a virtual cluster |
US8601473B1 (en) * | 2011-08-10 | 2013-12-03 | Nutanix, Inc. | Architecture for managing I/O and storage for a virtualization environment |
US9432301B2 (en) * | 2013-04-29 | 2016-08-30 | Telefonaktiebolaget L M Ericsson (Publ) | Defining disjoint node groups for virtual machines with pre-existing placement policies |
US20160048408A1 (en) * | 2014-08-13 | 2016-02-18 | OneCloud Labs, Inc. | Replication of virtualized infrastructure within distributed computing environments |
US9489274B2 (en) * | 2014-12-17 | 2016-11-08 | American Megatrends, Inc. | System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI) |
US10628273B2 (en) * | 2015-01-30 | 2020-04-21 | Nec Corporation | Node system, server apparatus, scaling control method, and program |
US20200026576A1 (en) | 2017-01-19 | 2020-01-23 | Nutanix, Inc. | Determining a number of nodes required in a networked virtualization system based on increasing node density |
JP7006265B2 (ja) * | 2017-12-28 | 2022-01-24 | 富士通株式会社 | 情報処理装置,制御プログラムおよび情報処理方法 |
JP6957431B2 (ja) * | 2018-09-27 | 2021-11-02 | 株式会社日立製作所 | Hci環境でのvm/コンテナおよびボリューム配置決定方法及びストレージシステム |
US20200319972A1 (en) * | 2019-04-05 | 2020-10-08 | Pure Storage, Inc. | Offloading raid reconstruction to a secondary controller of a storage system |
JP7122332B2 (ja) * | 2020-02-26 | 2022-08-19 | 株式会社日立製作所 | 情報処理システム及び方法 |
-
2020
- 2020-02-26 JP JP2020030875A patent/JP7122332B2/ja active Active
- 2020-08-25 CN CN202010861401.1A patent/CN113312139B/zh active Active
- 2020-09-08 US US17/014,454 patent/US11048546B1/en active Active
-
2021
- 2021-06-23 US US17/356,026 patent/US11693684B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103052938A (zh) * | 2010-10-14 | 2013-04-17 | 株式会社日立制作所 | 数据迁移系统和数据迁移方法 |
JP2014075027A (ja) * | 2012-10-04 | 2014-04-24 | Nippon Telegr & Teleph Corp <Ntt> | 仮想マシン配置装置および仮想マシン配置方法 |
CN106537354A (zh) * | 2014-07-22 | 2017-03-22 | 日本电气株式会社 | 虚拟化基础设施管理装置、虚拟化基础设施管理系统、虚拟化基础设施管理方法和用于记录虚拟化基础设施管理程序的记录介质 |
CN106294031A (zh) * | 2016-07-29 | 2017-01-04 | 杭州宏杉科技有限公司 | 一种业务管理方法和存储控制器 |
CN110249310A (zh) * | 2017-02-03 | 2019-09-17 | 微软技术许可有限责任公司 | 云计算系统中的用于虚拟机的资源管理 |
WO2020010503A1 (zh) * | 2018-07-10 | 2020-01-16 | 深圳花儿数据技术有限公司 | 基于多层一致性哈希的分布式数据存储方法与系统 |
Non-Patent Citations (1)
Title |
---|
虚拟服务器技术实现医院信息系统安全可靠;周渝霞等;医疗卫生装备;20100915(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
JP7122332B2 (ja) | 2022-08-19 |
CN113312139A (zh) | 2021-08-27 |
US20210326165A1 (en) | 2021-10-21 |
US11048546B1 (en) | 2021-06-29 |
JP2021135703A (ja) | 2021-09-13 |
US11693684B2 (en) | 2023-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312139B (zh) | 信息处理系统和方法 | |
JP6791834B2 (ja) | 記憶システム及び制御ソフトウェア配置方法 | |
CN109857334B (zh) | 存储系统及其控制方法 | |
CN101727331B (zh) | 升级活动虚拟机的客户操作系统的方法和设备 | |
US11221935B2 (en) | Information processing system, information processing system management method, and program thereof | |
US11199972B2 (en) | Information processing system and volume allocation method | |
US20210303178A1 (en) | Distributed storage system and storage control method | |
US20200393987A1 (en) | Storage system and storage control method | |
US7849264B2 (en) | Storage area management method for a storage system | |
JP7506707B2 (ja) | 記憶システム及び障害対処方法 | |
CN111400098B (zh) | 一种副本管理方法、装置、电子设备及存储介质 | |
JP7057408B2 (ja) | 記憶システム及びその制御方法 | |
CN113439258A (zh) | 在二级存储系统上托管虚拟机 | |
US12019885B2 (en) | Information processing system and configuration management method including storage nodes connected by network | |
JP6905611B2 (ja) | 記憶システム及びその制御方法 | |
JP2023151189A (ja) | ストレージシステム及びその制御方法 | |
JP2023082560A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |