Classification of virtualization data
A method and system described herein for classifying data of virtual machines in a heterogeneous computing comprising virtual machines and non-virtual machines. The system may access a secondary copy of data stored by a virtual machine, create metadata associated with that data, store the metadata in an index that comprises metadata associated with data stored on non-virtual machines, using a journal file, determine modified data objects within the data stored by the virtual machine, access or create metadata associated with modified data objects, and update the index accordingly.
1. A method of classifying data of virtual machines in a heterogeneous computing comprising virtual machines and non-virtual machines, wherein the method is performed by one or more computing systems, each computing system having a processor and memory, the method comprising:
accessing a secondary copy of at least some data stored by a virtual machine;
creating metadata associated with the secondary copy of the at least some data of the virtual machine;
storing the metadata in an index, wherein the index also comprises of metadata associated with data stored on at least one non-virtual machine;
accessing a journal file for tracking operations performed on the at least some data stored on the virtual machine;
determining at least one modified data object within the at least some data stored by the virtual machine that has been modified;
accessing or creating metadata associated with the at least one modified data object; and
updating the index with the accessed or created metadata associated with the at least one modified data object.
2. The method of claim 1 , wherein the at least some data stored by the virtual machine resides on a filesystem of a virtual machine host hosting the virtual machine.
3. The method of claim 1 , further comprising:
for at least one modified data object:
generating a substantially unique identifier for the at least one modified data object;
determining, based on the substantially unique identifier, that an instance of the at least one modified data object has not been stored on a secondary storage device; and
in response to determining that an instance of the at least one modified data object has not been stored on a secondary storage device, storing the at least one modified data object on a secondary storage device.
4. The method of claim 1 , wherein the secondary copy of the at least some data stored by a virtual machine was created according to a storage policy, wherein the storage policy specifies how or when to copy data from one or more virtual machines to a secondary storage data store.
5. The method of claim 4 , wherein the storage policy comprises a data structure comprising one or more preferences or criteria associated with performing a storage operation.
6. The method of claim 1 , wherein updating the index is performed by a journaling agent, wherein the journaling agent includes a virtual filter driver module.
7. The method of claim 6 , wherein the journaling agent is deployed on a virtual I/O port or data stack.
8. The method of claim 6 , wherein the journaling agent operates in conjunction with a virtual file management module to record operations executed on the virtual machine.
9. At least one non-transitory computer-readable medium carrying instructions, which when executed by at least one data processor, executes operations to classify data of virtual machines in a heterogeneous computing environment that includes virtual machines and non-virtual machines, the operations comprising:
accessing a secondary copy of the at least some data stored by a virtual machine;
creating metadata associated with the secondary copy of the at least some data of the virtual machine;
storing the metadata in an index, wherein the index also comprises of metadata associated with data stored on at least one non-virtual machine;
accessing a journal file for tracking operations performed on the at least some data stored on the virtual machine;
determining at least one modified data object within the at least some data stored by the virtual machine that has been modified;
accessing or creating metadata associated with the at least one modified data object; and
updating the index with the accessed or created metadata associated with the at least one modified data object.
10. The at least one non-transitory computer-readable medium of claim 9 , wherein the at least some data stored by the virtual machine resides on a filesystem of a virtual machine host hosting the virtual machine.
11. The at least one non-transitory computer-readable medium of claim 9 , further comprising:
for at least one modified data object:
generating a substantially unique identifier for at least one modified data object;
determining, based on the substantially unique identifier, that an instance of the at least one modified data object has not been stored on a secondary storage device; and
in response to determining that an instance of the at least one modified data object has not been stored on a secondary storage device, storing the at least one modified data object on a secondary storage device.
12. The at least one non-transitory computer-readable medium of claim 9 , wherein the secondary copy of the at least some data stored by a virtual machine was created according to a storage policy, wherein the storage policy specifies how or when to copy data from one or more virtual machines to a secondary storage data store.
13. The at least one non-transitory computer-readable medium of claim 12 , wherein the storage policy comprises a data structure comprising one or more preferences or criteria associated with performing a storage operation.
14. The at least one non-transitory computer-readable medium of claim 9 , wherein updating the index is performed by a journaling agent, wherein the journaling agent includes a virtual filter driver module.
15. The at least one non-transitory computer-readable medium of claim 14 , wherein the journaling agent is deployed on a virtual I/O port or data stack.
16. The at least one non-transitory computer-readable medium of claim 14 , wherein the journaling agent operates in conjunction with a virtual file management module to record operations executed on the virtual machine.
17. A system for classifying data of virtual machines in a heterogeneous computing environment that includes virtual machines and non-virtual machines the system comprising:
one or more computing systems, each computing system having a processor and memory, the one or more computing systems configured to:
access a secondary copy of at least some data stored by a virtual machine;
create metadata associated with the secondary copy of the at least some data of the virtual machine;
store the metadata in an index, wherein the index also comprises of metadata associated with data stored on at least one non-virtual machine;
access a journal file for tracking operations performed on the at least some data stored on the virtual machine;
determine at least one modified data object within the at least some data stored by the virtual machine that has been modified;
access or creating metadata associated with the at least one modified data object; and
update the index with the accessed or created metadata associated with the at least one modified data object.
18. The system of claim 17 , wherein the at least some data stored by the virtual machine resides on a filesystem of a virtual machine host hosting the virtual machine.
19. The system of claim 17 , the one or more computing systems further configured to:
for at least one modified data object:
generate a substantially unique identifier for the at least one modified data object;
determine, based on the substantially unique identifier, that an instance of the at least one modified data object has not been stored on a secondary storage device; and
in response to determining that an instance of the at least one modified data object has not been stored on a secondary storage device, store the at least one modified data object on a secondary storage device.
20. The system of claim 17 , wherein the secondary copy of the at least some data stored by a virtual machine was created according to a storage policy, wherein the storage policy specifies how or when to copy data from one or more virtual machines to a secondary storage data store.
21. The system of claim 20 , wherein the storage policy comprises a data structure comprising one or more preferences or criteria associated with performing at least one storage operation.
22. The system of claim 17 , wherein updating the index is performed by a journaling agent, wherein the journaling agent includes a virtual filter driver module.
23. The system of claim 22 , wherein the journaling agent is deployed on a virtual I/O port or data stack.
24. The system of claim 22 , wherein the journaling agent operates in conjunction with a virtual file management module to record operations executed on the virtual machine.