Architecture for managing I/O and storage for a virtualization environment
First Claim
Patent Images
1. A system for communicating to a storage controller in a virtualization environment, comprising:
- a plurality of nodes, wherein the plurality of nodes implements a virtualization environment, and comprises a hypervisor and multiple user virtual machines;
a plurality of hardware storage devices that are accessed by the multiple user virtual machines; and
a first storage controller implemented as a service virtual machine on a first node of the plurality of nodes and a second storage controller implemented as a service virtual machine on a second node of the plurality of nodes to manage access by the user virtual machines to the plurality of storage devices, wherein the service virtual machines are dedicated to their corresponding nodes; and
wherein the first storage controller is configured to identify the second storage controller, and wherein the first storage controller is further configured to create an I/O request to be sent to the second storage controller that was identified by the first storage controller to cooperatively perform storage controller operations for the first node and the second node.
3 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is an improved approach to implement I/O and storage device management in a virtualization environment. According to some approaches, a Service VM is employed to control and manage any type of storage device, including directly attached storage in addition to networked and cloud storage. The Service VM implements the Storage Controller logic in the user space, and can be migrated as needed from one node to another. IP-based requests are used to send I/O request to the Service VMs. The Service VM can directly implement storage and I/O optimizations within the direct data access path, without the need for add-on products.
127 Citations
30 Claims
-
1. A system for communicating to a storage controller in a virtualization environment, comprising:
-
a plurality of nodes, wherein the plurality of nodes implements a virtualization environment, and comprises a hypervisor and multiple user virtual machines; a plurality of hardware storage devices that are accessed by the multiple user virtual machines; and a first storage controller implemented as a service virtual machine on a first node of the plurality of nodes and a second storage controller implemented as a service virtual machine on a second node of the plurality of nodes to manage access by the user virtual machines to the plurality of storage devices, wherein the service virtual machines are dedicated to their corresponding nodes; and wherein the first storage controller is configured to identify the second storage controller, and wherein the first storage controller is further configured to create an I/O request to be sent to the second storage controller that was identified by the first storage controller to cooperatively perform storage controller operations for the first node and the second node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for communicating to a storage controller in a virtualization environment, comprising:
-
identifying a plurality of nodes, wherein the plurality of nodes implements a virtualization environment, and comprises a hypervisor and multiple user virtual machines; implementing a first storage controller as a service virtual machine on a first node of the plurality of nodes and implementing a second storage controller as a service virtual machine on a second node of the plurality of nodes to manage access by the user virtual machines to a plurality of storage devices, wherein the plurality of storage devices are accessed by the multiple user virtual machines, and wherein the service virtual machines are dedicated to their corresponding nodes; identifying, via the first storage controller, the second storage controller; and creating, via the first storage controller, an I/O request to be sent to the second storage controller that was identified by the first storage controller to cooperatively perform storage controller operations for the first node and the second node. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product embodied on a non-transitory computer readable medium, the non-transitory computer readable medium having stored thereon a sequence of instructions which, when executed by a processor causes the processor to execute a method for communicating to a storage controller in a virtualization environment, comprising:
-
identifying a plurality of nodes, wherein the plurality of nodes implements a virtualization environment, and comprises a hypervisor and multiple user virtual machines; implementing a first storage controller as a service virtual machine on a first node of the plurality of nodes and implementing a second storage controller as a service virtual machine on a second node of the plurality of nodes to manage access by the user virtual machines to a plurality of storage devices, wherein the plurality of storage devices are accessed by the multiple user virtual machines, and wherein the service virtual machines are dedicated to their corresponding nodes; identifying, via the first storage controller, the second storage controller; and creating, via the first storage controller, an I/O request to be sent to the second storage controller that was identified by the first storage controller to cooperatively perform storage controller operations for the first node and the second node. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30)
-
Specification