1. A system for implementing distributed data storage, comprising: a plurality of virtualization servers each of which is associated with available data storage resources, and which supports one or more application virtual machines through a corresponding virtualization layer; a plurality of storage virtual machines, each of which is associated with a corresponding and participating virtualization server; and a virtual storage pool, wherein each storage virtual machine provides for the export and aggregation of said available data storage resources associated with a corresponding virtualization server into said virtual storage pool.