.net - Marco de deduplicación de datos
backup vmware (1)
La deduplicación global tal como la ha descrito normalmente se maneja fuera de la mayoría de los programas típicos de copia de seguridad de máquinas virtuales porque CBT ya le dice qué bloques han cambiado en una máquina virtual para que no tenga que realizar una copia de seguridad completa cada vez. El dedupe global tiende a ser intensivo en recursos también, por lo que la mayoría de las personas simplemente obtendría un Data Domain y aprovecharía hardware (SSD) y software (sistemas de archivos personalizados, dedupe de longitud variable) dedicados, configurados y optimizados para la deduplicación. Es concebible que el programa de copia de seguridad que está creando podría aprovechar el CBT junto con las ofertas de Data Domain de una manera que algunos software de respaldo disponibles comercialmente ya son capaces de hacer, como [Veeam] [3]. Más información sobre la estrategia de dedupe de Data Domain ([segmentos de longitud variable] [4]).
Bueno, tuve que eliminar dos de mis direcciones URL para publicar esta respuesta porque aparentemente no tengo suficiente rep ... w / e
Quiero integrar la deduplicación de datos en el software que estoy escribiendo para hacer una copia de respaldo de las imágenes vmware. No he podido encontrar nada adecuado para lo que creo que necesito. Parece que hay MUCHAS soluciones completas que incluyen una forma de deduplicación u otra. Estos incluyen soluciones de almacenamiento o respaldo que usan nubes públicas o privadas, sistemas de archivos especializados, redes o dispositivos de almacenamiento, etc. Sin embargo, necesito desarrollar mi propia solución e integrar el desarrollo en eso. Mi software estará escrito en C # y me gustaría poder llamar a una API para decir qué deduzco.
El tipo de deduplicación del que hablo no es la deduplicación de una imagen con otra imagen, generalmente el enfoque para producir copias de seguridad incrementales o diferenciales de dos "versiones" de algo, o lo que se denomina "deduplicación de respaldo de cliente" en la entrada de Wikipedia en deduplicación de datos , ya que tengo una solución para hacer eso, y quiero llevar las cosas un paso más allá.
Me imagino un enfoque que me permitiría deducir trozos de datos de alguna manera a nivel global (es decir, algún tipo de deduplicación global ). Para ser global, me imagino que habría una tabla de búsqueda central de algún tipo (por ejemplo, un índice de hashes) que le diría al desarrollador que una copia de los datos que se están examinando ya está contenida y no necesita almacenarse nuevamente. Los fragmentos podrían ser de nivel de archivo (almacenamiento de instancia única o SIS) o deduplicación de nivel de sub / archivo / bloque. Este último debería ser más eficiente (lo cual es más importante para nuestros propósitos que, por ejemplo, procesar los gastos generales) y sería mi opción preferida, pero podría hacer que el SIS también funcione, si tuviera que hacerlo.
Ahora he leído mucho sobre el software de otras personas que hacen deduping, como mencioné anteriormente. No citaré ejemplos aquí porque no estoy tratando de emular el enfoque de nadie más específicamente. Más bien, no he podido encontrar la solución de un programador y quiero saber si hay algo así disponible. La alternativa sería lanzar mi propia solución, pero sería una tarea bastante grande, por decirlo suavemente.
Gracias.