MULTITENANT HOSTED VIRTUAL MACHINE INFRASTRUCTURE
A multi-tenant virtual machine infrastructure (MTVMI) allows multiple tenants to independently access and use a plurality of virtual computing resources via the Internet. Within the MTVMI, different tenants may define unique configurations of virtual computing resources and unique rules to govern the use of the virtual computing resources. The MTVMI may be configured to provide valuable services for tenants and users associated with the tenants.
1 . A method in a computing system including at least one processor for managing virtual storage across a plurality of persistent storage devices directly or indirectly accessible to processors on which a plurality of virtual machines are executed, comprising:
storing data on the persistent storage devices of the plurality in response to persistent storage requests each from a virtual machine or a virtual machine management module;
autonomously determining to copy distinguished data from a first persistent storage device on the plurality to a second persistent storage device among the plurality; and
copying the distinguished data from the first persistent storage device to the second persistent storage device in accordance with the autonomous determination.
2 . The method of claim 1 , further comprising scheduling the copying to occur at a time when persistent storage requests from virtual machines and the virtual machine management module are occurring infrequently.
3 . The method of claim 1 , further comprising deleting the distinguished data from the first persistent storage device after the copying is complete.
4 . The method of claim 3 wherein the autonomous determination is in response to determining that the distinguished data has an affinity with data already stored on the second persistent storage device.
5 . The method of claim 3 where in the autonomous determination is in response to determining that additional space is needed on the first persistent storage device.
6 . The method of claim 1 , further comprising maintaining the distinguished data on the first persistent storage device after the copying is complete.
7 . The method of claim 6 wherein the autonomous determination is in response to determining that the distinguished data is in high demand by the virtual machines.
8 . The method of claim 1 , further comprising:
identifying a proper subset of the plurality of persistent storage devices that are candidates for selection; and
selecting a persistent storage device of the identified subset as the second persistent storage device.
9 . The method of claim 8 wherein a persistent storage device of the identified subset is selected based upon the relative health of the persistent storage devices of the identified subset.
10 . The method of claim 8 wherein the virtual machines are each executed on behalf of one of the plurality of tenants,
and wherein at least a portion of the plurality of persistent storage devices of the identified subset of been assigned an affinity for a particular tenant of the plurality of tenants,
and wherein a persistent storage device of the identified subset is selected that has been assigned an affinity for the tenant on behalf of which the virtual machine making the persistent storage request is executed.
11 . At least one computer-readable medium having contents adapted to cause a data processing device to perform a method for servicing a persistent storage request, the method comprising:
storing data on the persistent storage devices of the plurality in response to persistent storage requests each from a virtual machine or a Virtual machine management module;
autonomously determining to copy distinguished data from a first persistent storage device on the plurality to a second persistent storage device among the plurality; and
copying the distinguished data from the first persistent storage device to the second persistent storage device in accordance with the autonomous determination.
12 . The computer-readable medium of claim 11 , further comprising scheduling the copying to occur at a time when persistent storage requests from virtual machines and the virtual machine management module are occurring infrequently.
13 . The computer-readable medium of claim 11 , further comprising deleting the distinguished data from the first persistent storage device after the copying is complete.
14 . The computer-readable medium of claim 13 wherein the autonomous determination is in response to determining that the distinguished data has an affinity with data already stored on the second persistent storage device.
15 . The computer-readable medium of claim 13 where in the autonomous determination is in response to determining that additional space is needed on the first persistent storage device.
16 . The computer-readable medium of claim 11 , further comprising maintaining the distinguished data on the first persistent storage device after the copying is complete.
17 . The computer-readable medium of claim 16 wherein the autonomous determination is in response to determining that the distinguished data is in high demand by the virtual machines.
18 . The computer-readable medium of claim 11 , further comprising:
identifying a proper subset of the plurality of persistent storage devices that are candidates for selection; and
selecting a persistent storage device of the identified subset as the second persistent storage device.
19 . The computer-readable medium of claim 18 wherein a persistent storage device of the identified subset is selected based upon the relative health of the persistent storage devices of the identified subset.
20 . The computer-readable medium of claim 18 wherein the virtual machines are each executed on behalf of one of the plurality of tenants,
and wherein at least a portion of the plurality of persistent storage devices of the identified subset of been assigned an affinity for a particular tenant of the plurality of tenants,
and wherein a persistent storage device of the identified subset is selected that has been assigned an affinity for the tenant on behalf of which the virtual machine making the persistent storage request is executed.
21 . A system including at least one processor, comprising:
a first persistent storage device;
a second persistent storage device; and
a virtual management module configured to:
store data on the first and the second persistent storage devices in response to persistent storage requests;
autonomously determine to copy distinguished data from the first persistent storage device to the second persistent storage device; and
copy the distinguished data from the first persistent storage device to the second persistent storage device in accordance with the autonomous determination.