Storage area network emulation
First Claim
Patent Images
1. A computer-implemented method, comprising:
- for each of a first virtual storage area network and a second virtual storage area network;
receiving metadata defining at least one storage pool configuration and at least one virtual machine configuration;
establishing the virtual storage area network by;
allocating a virtual machine in accordance with the virtual machine configuration defined by the metadata received for the virtual machine;
configuring the allocated virtual machine to represent to other virtual machines as a mass storage device an allocation of data storage at a communicatively-coupled physical block storage device, in accordance with the storage pool configuration specified by the metadata received for the virtual machine; and
booting an operating system of the virtual machine, wherein the operating system is configured based at least on the metadata, wherein the metadata includes an entry for an I/O data rate for sending storage requests from the virtual machine to the storage pool, and wherein a network controller of the virtual machine is configured based on the entry.
5 Assignments
0 Petitions
Accused Products
Abstract
Generating a virtual storage area network (VSAN) is disclosed. From the perspective of a customer'"'"'s virtual machine, the VSAN is a logical network of storage devices that provide features that are typically associated with a physical storage access network, such as block level data storage; logical disk arrays; tape libraries; optical jukeboxes; quality of service; disk mirroring, backup and restoration services; archival and retrieval of archived data; data migration from one virtual storage device to another; sharing of data among different virtual machines in a network; and the incorporation of virtual subnetworks.
50 Citations
46 Claims
-
1. A computer-implemented method, comprising:
for each of a first virtual storage area network and a second virtual storage area network; receiving metadata defining at least one storage pool configuration and at least one virtual machine configuration; establishing the virtual storage area network by; allocating a virtual machine in accordance with the virtual machine configuration defined by the metadata received for the virtual machine; configuring the allocated virtual machine to represent to other virtual machines as a mass storage device an allocation of data storage at a communicatively-coupled physical block storage device, in accordance with the storage pool configuration specified by the metadata received for the virtual machine; and booting an operating system of the virtual machine, wherein the operating system is configured based at least on the metadata, wherein the metadata includes an entry for an I/O data rate for sending storage requests from the virtual machine to the storage pool, and wherein a network controller of the virtual machine is configured based on the entry.
-
2. A computer-implemented method, comprising:
for each of a first virtual storage area network and a second virtual storage area network; receiving metadata defining at least one storage pool configuration and at least one virtual machine configuration; establishing the virtual storage area network by; allocating a virtual machine in accordance with the virtual machine configuration defined by the metadata received for the virtual machine; configuring the allocated virtual machine to represent to other virtual machines as a mass storage device an allocation of data storage at a communicatively-coupled physical block storage device, in accordance with the storage pool configuration specified by the metadata received for the virtual machine; and in response to receiving storage access requests at a first I/O data rate, buffering one or more of the storage access requests in a network controller of the virtual machine, wherein at least one of the one or more buffered storage access requests is sent from the virtual machine to the storage pool at a second I/O data rate that is equal to or less than a third I/O data rate defined in the metadata.
-
3. A computer-implemented method comprising:
-
for each of a first virtual storage area network and a second virtual storage area network; receiving metadata defining at least one storage pool configuration and at least one virtual machine configuration; establishing the virtual storage area network by; allocating a virtual machine in accordance with the virtual machine configuration defined by the metadata received for the virtual machine; configuring the allocated virtual machine to represent to other virtual machines as a mass storage device an allocation of data storage at a communicatively-coupled physical block storage device, in accordance with the storage pool configuration specified by the metadata received for the virtual machine; and detecting a change to the metadata, and in response to the detected change, reconfiguring the virtual storage area network based on the detected change. - View Dependent Claims (4, 5, 6, 7, 8, 9, 10)
-
-
11. A virtual storage area network, comprising:
-
a first virtual machine; a second virtual machine; and a storage pool, wherein the first virtual machine is programmed to; send data to the storage pool at I/O data rates within an I/O data rate limit defined by metadata associated with the storage pool, by; receiving one or more storage access requests from the second virtual machine sent by the second virtual machine at a first I/O data rate that is faster than the I/O data rate limit defined in the metadata, and sending the one or more storage access requests to the storage pool at a second I/O data rate, wherein the second I/O data rate is within the storage pool I/O data rate limit defined by the metadata. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer-implemented method for determining a virtual storage area network, the computer-implemented method comprising:
-
determining a virtual space capacity and a physical space capacity for a storage pool, wherein the storage pool is at least an allocation of data storage at a physical block storage device, wherein the physical space capacity determines the physical space reserved at a block storage device for the storage pool, and wherein the virtual space capacity determines an amount of data that a customer can store at the storage pool; reserving physical block storage space at the physical block storage device for the storage pool, based on the storage pool'"'"'s physical space capacity; and instantiating a host virtual machine configured to represent the storage pool as a mass storage device to other virtual machines. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A computer-implemented virtual storage area network (VSAN), the computer-implemented VSAN comprising:
in a first virtual machine; establishing a virtual storage transport connection between the first virtual machine and a physical block storage device; designating a storage pool at the physical block storage device, wherein a storage pool is an allocation of data blocks for storing data and a logical file system; representing the storage pool at the physical block storage device as a mass storage device; exposing the reference to the mass storage device to a network to which the first virtual machine is connected; receiving, based on the reference, a request from a second virtual machine to perform a block-level operation directed to data on a file system of the mass storage device; and sending the request, via the virtual storage transport connection, to the physical block storage device for performing the block-level operation on data in the storage pool. - View Dependent Claims (28)
-
29. A computer-implemented method for determining a virtual storage area network, the computer-implemented method comprising:
sending data from a first virtual machine to a storage pool at I/O data rates within an I/O data rate limit defined by metadata associated with the storage pool, by; receiving one or more storage access requests from a second virtual machine sent by the second virtual machine at a first I/O data rate that is faster than the I/O data rate limit defined in the metadata, and sending the one or more storage access requests to the storage pool at a second I/O data rate, wherein the second I/O data rate is within the storage pool I/O data rate limit defined by the metadata. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38)
-
39. One or more computer memories collectively storing contents configured to cause a computer system to perform a method for determining a virtual storage area network, the method comprising:
-
determining a virtual space capacity and a physical space capacity for a storage pool, wherein the storage pool is at least an allocation of data storage at a physical block storage device, wherein the physical space capacity determines the physical space reserved at a block storage device for the storage pool, and wherein the virtual space capacity determines an amount of data that a customer can store at the storage pool; reserving physical block storage space at the physical block storage device for the storage pool, based on the storage pool'"'"'s physical space capacity; and instantiating a host virtual machine configured to represent the storage pool as a mass storage device to other virtual machines. - View Dependent Claims (40, 41, 42, 43, 44)
-
-
45. A computer-implemented method for determining a virtual storage area network (VSAN), the computer-implemented method comprising:
in a first virtual machine; establishing a virtual storage transport connection between the first virtual machine and a physical block storage device; designating a storage pool at the physical block storage device, wherein a storage pool is an allocation of data blocks for storing data and a logical file system; representing the storage pool at the physical block storage device as a mass storage device; exposing the reference to the mass storage device to a network to which the first virtual machine is connected; receiving, based on the reference, a request from a second virtual machine to perform a block-level operation directed to data on a file system of the mass storage device; and sending the request, via the virtual storage transport connection, to the physical block storage device for performing the block-level operation on data in the storage pool. - View Dependent Claims (46)
Specification