1. A system comprising: a processor; and hardware resources, accessible to the processor, including a non-transitory computer readable medium comprising instructions, executable by the processor, wherein the instructions include: virtual machine instructions that, when executed by the processor, cause the processor to maintain one or more virtual machines, each of the one or more virtual machines executing, in connection with a hypervisor, a corresponding guest operating system to manage allocation and usage of the hardware resources; and program instructions that, when read and executed by the processor, cause the processor to perform operations comprising: monitoring for a failure of a storage resource in a pool of storage resources configured as a plurality of optimally-redundant virtual storage resources; determining if a virtual storage resource comprising the storage resource is able to rebuild the virtual storage resource; and in response to determining that the virtual storage resource comprising the storage resource is unable to rebuild the virtual storage resource, migrating each of the one or more virtual machines mapped to the virtual storage resource to another virtual storage resource in an optimal redundancy state.