ELASTIC TEMPORARY FILESYSTEM
First Claim
1. A method comprising:
- intercepting, by operation of an I/O virtualization layer, a storage command associated with a first virtual machine (VM), wherein the storage command specifies a logical storage space of a virtual disk;
determining a location of an extent corresponding to the logical storage space based on a mapping comprising a list of contiguous extents within a pool file that have been written to the virtual disk; and
executing the storage command on the extent at the determined location within the pool file.
2 Assignments
0 Petitions
Accused Products
Abstract
An elastic filesystem for temporary data provides storage space for virtual machines (VMs) in a distributed computing system. The filesystem redirects accesses to virtual disks in VMs to a common pool file. The system provides performance and storage efficiency at least on par with local, direct attached virtual disks, while providing a single pool of shared storage that is provisioned and managed independently of the VMs. The system provides storage isolation between VMs storing temporary data in that shared pool. Also, storage space for temporary data may be allocated on demand and reclaimed when no longer needed, thereby supporting a wide variety of temporary space requirements for different Hadoop jobs.
-
Citations
20 Claims
-
1. A method comprising:
-
intercepting, by operation of an I/O virtualization layer, a storage command associated with a first virtual machine (VM), wherein the storage command specifies a logical storage space of a virtual disk; determining a location of an extent corresponding to the logical storage space based on a mapping comprising a list of contiguous extents within a pool file that have been written to the virtual disk; and executing the storage command on the extent at the determined location within the pool file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, perform the steps of:
-
intercepting, by operation of an I/O virtualization layer, a storage command associated with a first virtual machine (VM), wherein the storage command specifies a logical storage space of a virtual disk; determining a location of an extent corresponding to the logical storage space based on a mapping comprising a list of contiguous extents within a pool file that have been written to the virtual disk; and executing the storage command on the extent at the determined location within the pool file. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer system comprising:
-
a storage device having a pool file comprising a first plurality of extents associated with a first virtual machine (VM) and a second plurality of extents associated with a second VM; a system memory having a mapping of the first and second plurality of extents that have been written to a first virtual disk and a second virtual disk; and a processor programmed to carry out the steps of; intercepting a storage command associated with the first VM, wherein the storage command specifies a logical storage space of the first virtual disk; determining a location of a first extent of the first plurality of extents corresponding to the logical storage space based on the mapping; and executing the storage command on the first extent at the determined location within the pool file. - View Dependent Claims (18, 19, 20)
-
Specification