An improved architecture is provided which enables significant convergence of the components of a system to implement virtualization. The infrastructure is VM-aware, and permits scaled out converged storage provisioning to allow storage on a per-VM basis, while identifying I/O coming from each VM. The current approach can scale out from a few nodes to a large number of nodes. In addition, the inventive approach has ground-up integration with all types of storage, including solid-state drives. The architecture of the invention provides high availability against any type of failure, including disk or node failures. In addition, the invention provides high performance by making I/O access local, leveraging solid-state drives and employing a series of patent-pending performance optimizations.
Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: processing a storage request that accesses a storage pool in a virtualization system, wherein the virtualization system comprises a first serverboard coupled to a first local storage device, the first serverboard executes a first controller virtual machine above a first hypervisor on the first serverboard, and the first controller virtual machine manages the storage pool including the first storage device; and expanding the virtualization system at least by: inserting a second serverboard into the virtualization system, wherein the second serverboard is coupled to a second local storage device and executes a second controller virtual machine above a second hypervisor on the second serverboard; and updating the storage pool at least by virtualizing the second local storage device into the storage pool that is now managed by the first controller virtual machine and the second controller virtual machine.
2. The method of claim 1 , further comprising: receiving a storage request from a user virtual machine in the virtualization system based at least in part upon a destination identification of the storage pool, wherein the storage request includes information of the destination identification that corresponds to the storage pool.
3. The method of claim 1 , further comprising: determining a controller virtual machine from multiple controller virtual machines for a storage request, wherein the multiple controller virtual machines comprise the first controller virtual machine and the second controller virtual machine.
4. The method of claim 1 , further comprising: routing a storage request from a user virtual machine to a controller virtual machine that is determined to process the storage request, wherein the virtualization system includes multiple controller virtual machines that execute above respective hypervisors to manage the storage pool.
5. The method of claim 1 , further comprising: migrating a user virtual machine from one serverboard to another serverboard in the virtualization system at least by routing a storage request issued by the user virtual machine to a controller virtual machine executing on the another serverboard, regardless of a location of the user virtual machine in the virtualization system.
6. The method of claim 1 , further comprising: migrating a first piece of data from a first type of storage device to a second type of storage device in the storage pool for a user virtual machine while bypassing a first type of storage device in the storage pool for the user virtual machine based at least part upon a performance requirement and a priority of the user virtual machine.
7. The method of claim 1 , wherein the virtualization system comprises a user virtual machine and a scale-out converged storage (SOCS), and the first controller virtual machine and the second controller virtual machine manage the SOCS to store data of the user virtual machine in a selected storage device in the storage pool that comprises a solid-state drive, a hard disk drive, a networked storage, and a cloud storage.
8. The method of claim 1 , wherein the first controller virtual machine and the second controller virtual machine in the virtualization system form a single distributed system that manages the storage pool.
9. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor, causes the processor to perform a set of acts, the set of acts comprising: processing a storage request that accesses a storage pool in a virtualization system, wherein the virtualization system comprises a first serverboard coupled to a first local storage device, the first serverboard executes a first controller virtual machine above a first hypervisor on the first serverboard, and the first controller virtual machine manages the storage pool including the first storage device; and expanding the virtualization system at least by: inserting a second serverboard into the virtualization system, wherein the second serverboard is coupled to a second local storage device and executes a second controller virtual machine above a second hypervisor on the second serverboard; and updating the storage pool at least by virtualizing the second local storage device into the storage pool that is now managed by the first controller virtual machine and the second controller virtual machine.
10. The non-transitory computer readable medium of claim 9 , further comprising the sequence of instructions which, when stored in the memory and executed by the processor, causes the processor to perform the set of acts, the set of acts further comprising: receiving a storage request from a user virtual machine in the virtualization system based at least in part upon a destination identification of the storage pool, wherein the storage request includes information of the destination identification that corresponds to the storage pool.
11. The non-transitory computer readable medium of claim 9 , further comprising the sequence of instructions which, when stored in the memory and executed by the processor, causes the processor to perform the set of acts, the set of acts further comprising: determining a controller virtual machine from multiple controller virtual machines for a storage request, wherein the multiple controller virtual machines comprises the first controller virtual machine and the second controller virtual machine.
12. The non-transitory computer readable medium of claim 9 , further comprising the sequence of instructions which, when stored in the memory and executed by the processor, causes the processor to perform the set of acts, the set of acts further comprising: routing a storage request from a user virtual machine to a controller virtual machine that is determined to process the storage request, wherein the virtualization system includes multiple controller virtual machines that execute above respective hypervisors to manage the storage pool.
13. The non-transitory computer readable medium of claim 9 , further comprising the sequence of instructions which, when stored in the memory and executed by the processor, causes the processor to perform the set of acts, the set of acts further comprising: migrating a user virtual machine from one serverboard to another serverboard in the virtualization system at least by routing a storage request issued by the user virtual machine to a controller virtual machine executing on the another serverboard, regardless of a location of the user virtual machine in the virtualization system.
14. The non-transitory computer readable medium of claim 9 , wherein the first controller virtual machine and the second controller virtual machine in the virtualization system form a single distributed system that manages the storage pool.
15. A system, comprising: means for processing a storage request that accesses a storage pool in a virtualization system, wherein the virtualization system comprises a first serverboard coupled to a first local storage device, the first serverboard executes a first controller virtual machine above a first hypervisor on the first serverboard, and the first controller virtual machine manages the storage pool including the first storage device; and means for expanding the virtualization system, comprising: means for inserting a second serverboard into the virtualization system, wherein the second serverboard is coupled to a second local storage device and executes a second controller virtual machine above a second hypervisor on the second serverboard; and means for updating the storage pool at least by virtualizing the second local storage device into the storage pool that is now managed by the first controller virtual machine and the second controller virtual machine.
16. The system of claim 15 , further comprising: means for receiving a storage request from a user virtual machine in the virtualization system based at least in part upon a destination identification of the storage pool, wherein the storage request includes information of the destination identification that corresponds to the storage pool.
17. The system of claim 15 , further comprising: means for determining a controller virtual machine from multiple controller virtual machines for a storage request, wherein the multiple controller virtual machines comprise the first controller virtual machine and the second controller virtual machine.
18. The system of claim 15 , further comprising: means for routing a storage request from a user virtual machine to a controller virtual machine that is determined to process the storage request, wherein the virtualization system includes multiple controller virtual machines that execute above respective hypervisors to manage the storage pool.
19. The system of claim 15 , further comprising: means for migrating a user virtual machine from one serverboard to another serverboard in the virtualization system at least by routing a storage request issued by the user virtual machine to a controller virtual machine executing on the another serverboard, regardless of a location of the user virtual machine in the virtualization system.
20. The system of claim 15 , further comprising: means for migrating a first piece of data from a first type of storage device to a second type of storage device in the storage pool for a user virtual machine while bypassing a first type of storage device in the storage pool for the user virtual machine based at least part upon a performance requirement and a priority of the user virtual machine.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
August 8, 2019
August 18, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.