IP Library Granted Patent US 11,663,029
Granted Patent B2
US 11,663,029 · App. 17/389,679 · Granted May 30, 2023

Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system

Inventors: Tsukasa Shibayama (Tokyo, JP); Akiyoshi Tsuchiya (Tokyo, JP); Tomohiro Kawaguchi (Tokyo, JP)
Assignee: HITACHI, LTD.
G06F9/45558G06F3/0604G06F3/067G06F3/0658G06F9/5016G06F9/5027G06F2009/45579G06F2009/45595
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,663,029
App. No.
17/389,679
Granted
May 30, 2023
Kind
B2
Abstract

Provided is a resource allocation determination method for a VM/container, volume, and the like created as a new VM/container or volume without exceeding an upper limit of a computer resource of a node in an HCI environment. In order to determine allocation of at least one of a virtual machine, a container, and a volume in a system of the HCI environment, a use state of a computer resource shared by a virtual machine and a storage controller operating on each node is managed, and an allocation destination node of the new virtual machine, container, or volume is determined based on the use state without exceeding an upper limit of a computer resource of the allocation destination node.

Claims (41)

1. A resource allocation method which determines allocation of at least one of a virtual machine, a container, or a volume in a system of a hyperconverged infrastructure environment, the resource allocation method comprising:

a plurality of nodes, each node comprising:

at least one of a virtual machine and a container serving as a storage controller which operates a storage operating system (OS) and controls an input/output (IO) for reading and writing of data to and from a volume serving as a data storage area;

a computer resource comprising:

a CPU configured to process data;

a memory; and

a storage device configured to store a program, control information and the data,

wherein at least one node of the plurality of nodes comprises a management unit,

the resource allocation method comprising:

managing by each node a use state of the computer resource, the computer resource being shared by the virtual machine and the storage controller operating on each of the nodes,

calculating via each node of the plurality of nodes, when a failure occurs in the node on which the virtual machine or container that operates the application and the virtual machine or the container that operates as the storage controller processing the IO from the virtual machine or container, a first CPU amount used by the virtual machine or container, which runs the application as the storage controller where the failure occurred is calculated,

calculating, via each node of the plurality of nodes, a second CPU amount used by the virtual machine or container which operates as the storage controller, based on the IO amount and redundancy scheme of the virtual machine or the container running as the application,

calculating, via each node of the plurality of nodes, a third CPU amount used by the virtual machine or container of the existing application, and

determining, via the management unit implemented in at least one node of the plurality of nodes, based on the first CPU amount, the second CPU amount, and the third CPU amount use state, a node having the calculated storage area capacity of the storage device and a CPU amount equal to the sum of the first CPU amount, the second CPU amount, and the third CPU amount as an allocation destination node of a virtual machine, a container, or a volume of the node where the failure occurs, without exceeding an upper limit of the computer resource of the allocation destination node.

2. The resource allocation method according to claim 1 , wherein

a redundancy group is configured with the plurality of virtual machines or containers which serve as the storage controllers located on different nodes,

a processing as a storage controller is taken over by the virtual machine or container which becomes the storage controller in the same redundancy group, when a failure occurs in the one node of the plurality of nodes,

comparing, via the management unit, the upper limit of the CPU amount of the node where the virtual machine or container which takes over the processing is placed with the total value of the first CPU amount, the second CPU amount, and the third CPU amount, and deploys the virtual machine or container which runs the application on the node when the total value of the CPU amount falls within the upper limit of the CPU amount of the node, and deploying the virtual machine or container which runs the application on the node on another node when the total value exceeds the upper limit.

3. The resource allocation method according to claim 2 , wherein

when there is no node to be an allocation destination of a virtual machine or volume based on the use state of the computer resource, any of the virtual machine, the container, the volume, or the storage controller on a first node of the plurality of nodes is migrated to a second node, so that the first node is set as the allocation destination of the virtual machine or the volume.

4. The resource allocation method according to claim 1 , wherein the

use state of the computer resource includes at least one of:

a use state of a storage capacity configured by the storage device in each of the nodes;

a use state of a CPU in each of the nodes;

a use state of memory in each of the nodes; and

a use state of a network bandwidth.

5. A resource allocation system which determines allocation of at least one of a virtual machine, a container, or a volume in a system of a hyperconverged infrastructure environment, the resource allocation system comprising:

a plurality of nodes, each node comprising:

at least one of a virtual machine and a container serving as a storage controller which operates a storage operating system (OS) and controls an input/output (I/O) for reading and writing of data to and from a volume serving as a data storage area;

a computer resource comprising:

a CPU configured to process data,

a memory; and

a storage device configured to store a program, control information and the data,

wherein at least one node of the plurality of nodes comprises a management unit,

wherein a fourth node of the plurality of nodes includes a first storage controller, a first volume, and a first drive, in which the first storage controller processes an JO request for the volume from the virtual machine and writes data to the first drive,

wherein a fifth node of the plurality of nodes includes a second storage controller, a second volume, and a second drive, in which the second storage controller operates as a redundancy destination storage controller of the first storage controller, receives redundant data from the first storage controller, and writes redundant data to the second drive,

wherein each of the plurality of nodes manages a computer resource configured to write the redundant data in addition to a use state of the computer resource shared by the virtual machine and the storage controller operating on each of the nodes, and

wherein, when a failure occurs in the node on which the virtual machine or container that operates the application and the virtual machine or the container that operates as the storage controller processing the JO from the virtual machine or container, each node if the plurality of nodes calculates a first CPU amount used by a virtual machine or container, which operates as a newly created or moved candidate application,

wherein each node calculates a second CPU amount used by the virtual machine or container which operates as the storage controller, based on the IO amount and redundancy scheme of the virtual machine or the container running as the application,

wherein each node of the plurality of nodes calculates a third CPU amount used by the virtual machine or container of the existing application, and

wherein the management unit determines, based on the first CPU amount, the second CPU amount, and the third CPU amount use state, a node having the calculated storage area capacity of the storage device and a CPU amount equal to the sum of the first CPU amount, the second CPU amount, and the third CPU amount as an allocation destination node of a virtual machine, a container, or a volume without exceeding an upper limit of the computer resource of the allocation destination node.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 17, 2023
From: SHIBAYAMA, TSUKASA; TSUCHIYA, AKIYOSHI; KAWAGUCHI, TOMOHIRO
To: HITACHI, LTD.
Reel/Frame 062730/0032 →
Priority Claims (1)
JP JP2018-181418 · Sep 27, 2018 · national
Continuity (3)
Continuation 16409481 · May 10, 2019
Continuation 16298584 · Mar 11, 2019
Related Publication 20210357248A1 · Nov 18, 2021
Cited By (1)
US 12,422,984