IP Library Granted Patent US 9,760,393
Granted Patent B2
US 9,760,393 · App. 14/937,453 · Granted Sep 12, 2017

Storage architecture for virtual machines

Inventors: Daniel K. Hiltgen (Los Altos, CA); Rene W. Schmidt (Risskov, DK)
Assignee: VMware, Inc.
G06F9/45558G06F11/1438G06F21/6218G06F12/14G06F2009/45579G06F2009/45583G06F2009/45587G06F2201/815
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 9,760,393
App. No.
14/937,453
Granted
Sep 12, 2017
Kind
B2
Abstract

Some embodiments of the present invention include a method comprising: accessing units of network storage that encode state data of respective virtual machines, wherein the state data for respective ones of the virtual machines are stored in distinct ones of the network storage units such that the state data for more than one virtual machine are not commingled in any one of the network storage units.

Claims (33)

1. A computing system comprising:

a plurality of virtual machines, including a first virtual machine, and a hypervisor executing on a first host;

a storage system comprised of a plurality of physical storage devices that are accessed by the plurality of virtual machines, wherein the plurality of physical storage devices are organized into a storage pool, which is a layer of abstraction for managing the physical storage devices, wherein logical units of storage for storing virtual disks for the plurality of virtual machines, including a first virtual disk for the first virtual machine, are allocated from the storage pool; and

a virtualized disk I/O handler executing on the first host and configured to handle disk access requests from the virtual machines that are intercepted by the hypervisor, by generating access requests to the logical storage units, and receiving and forwarding responses from the logical storage units to the requesting virtual machines, wherein a disk access request for the first virtual disk from the first virtual machine is intercepted by the hypervisor and handled by the virtualized disk I/O handler,

wherein the virtualized disk I/O handler is configured to modify each of the disk access requests for the first virtual disk, which includes a unique identifier for the first virtual disk and a location within the first virtual disk to be accessed, with identifying information for one of the logical units of storage storing the first virtual disk and a location to be accessed within said one of the logical units; and,

wherein the virtualized disk I/O handler is configured to allow or not allow each disk access request to proceed based on the location to be accessed in said one of the logical units.

2. The computing system of claim 1 , wherein the virtualized disk I/O handler is part of the hypervisor executing on the first host.

3. The computing system of claim 1 , wherein the virtualized disk I/O handler resides between the plurality of virtual machines and the storage system.

4. The computing system of claim 1 , wherein each of the disk access requests is transmitted according to an Internet Small Computer System Interface (iSCSI) protocol.

5. The computing system of claim 1 , wherein the first virtual disk can be accessed by the first virtual machine as well as a second virtual machine of the plurality of virtual machines executing on the first host.

6. The computing system of claim 1 , wherein data for the first virtual machine and data for a second virtual machine of the plurality of virtual machines are not commingled on a same logical unit of storage in the storage system.

7. The computing system of claim 1 , wherein the virtualized disk I/O handler is configured to verify whether each of the disk access requests is allowed to access the storage system at a destined logical unit of storage.

8. The computing system of claim 1 , wherein the storage system further comprises one or more snapshots of the first virtual disk generated using snapshot functionality exposed by the storage system and performed on the corresponding logical unit of storage containing the first virtual disk.

9. A method comprising:

generating a storage pool from physical storage in a storage system comprised of a plurality of physical storage devices, wherein the storage pool which is a layer of abstraction for managing the physical storage devices, and the storage system is accessed by a plurality of virtual machines, including a first virtual machine, supported by a hypervisor executing on a first host;

allocating a plurality of logical units of storage from the storage pool for storing virtual disks for the plurality of virtual machines, including a first virtual disk for the first virtual machine; and

executing a virtualized disk I/O handler configured to handle disk access requests from the virtual machines that are intercepted by the hypervisor, by generating access requests to the logical storage units, and receiving and forwarding responses from the logical storage units to the requesting virtual machines, wherein a disk access request for the first virtual disk from the first virtual machine is intercepted by the hypervisor and handled by the virtualized disk I/O handler,

wherein the virtualized disk I/O handler is configured to modify each of the disk access requests for the first virtual disk, which includes a unique identifier for the first virtual disk and a location within the first virtual disk to be accessed, with identifying information for one of the logical units of storage storing the first virtual disk and a location to be accessed within said one of the logical units; and

wherein the virtualized disk I/O handler is configured to allow or not allow each disk access request to proceed based on the location to be accessed in said one of the logical units.

10. The method of claim 9 , wherein the virtualized disk I/O handler is part of the hypervisor executing on the first host.

11. The method of claim 9 , wherein the virtualized disk I/O handler resides between the plurality of virtual machines and the storage system.

12. The method of claim 9 , wherein the disk access request is transmitted according to an Internet Small Computer System Interface (iSCSI) protocol.

13. The method of claim 9 , wherein the first virtual disk can be accessed by the first virtual machine as well as a second virtual machine of the plurality of virtual machines executing on the first host.

14. The method of claim 9 , wherein data for the first virtual machine and data for a second virtual machine of the plurality of virtual machines are not commingled on a same logical unit of storage in the storage system.

15. The method of claim 9 , further comprising: verifying each of the disk access requests is allowed to access the storage system at a destined logical unit of storage.

16. The method of claim 9 , wherein the storage system further comprises one or more snapshots of the first virtual disk generated using snapshot functionality exposed by the storage system and performed on the corresponding logical unit of storage containing the first virtual disk.

17. A computing system comprising:

a plurality of virtual machines, including a first virtual machine, and a hypervisor executing on a first host;

a storage system comprised of a plurality of physical storage devices that are accessed by the plurality of virtual machines; and

a virtual machine manager configured to:

generate a storage pool from physical storage in the storage system, wherein the storage pool is a layer of abstraction for managing the physical storage devices; and

allocate a plurality of logical units of storage from the storage pool for storing virtual disks for the plurality of virtual machines, including a first virtual disk for the first virtual machine, wherein the hypervisor is configured to intercept a disk access request for the first virtual disk from the first virtual machine and includes a virtualized disk I/O handler configured to modify the intercepted disk access request, which includes a unique identifier for the first virtual disk and a location within the first virtual disk to be accessed, with identifying information for one of the plurality of logical units of storage storing the first virtual disk and a location to be accessed within said one of the logical units, and to allow or not allow each disk access request to proceed based on the location to be accessed in said one of the logical units.

18. The computing system of claim 17 , wherein data for the first virtual machine and data for a second virtual machine of the plurality of virtual machines are not commingled on a same logical unit of storage in the storage system.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2020
From: HILTGEN, DANIEL K.; SCHMIDT, RENE W.
To: VMWARE, INC.
Reel/Frame 052495/0308 →
Continuity (5)
Continuation 11960460 · Dec 19, 2007
Provisional Application 60871234 · Dec 21, 2006
Provisional Application 60884568 · Jan 11, 2007
Provisional Application 60886072 · Jan 22, 2007
Related Publication 20160062789A1 · Mar 3, 2016