Windows Server 2012 – Data Deduplication (O cómo ahorrar espacio en disco)

Creo que uno de los “problemas universales” en nuestra ocupación diaria es luchar contra la falta de espacio de almacenamiento en discos.

Es increíble la evolución que ha tenido el uso de computadoras, todavía recuerdo en mi vieja PC-XT, luego de un tiempo de uso haberle agregado un disco rígido de 20MB (Sí, Megabytes) y pensar que no lo iba a llenar nunca 🙂

Por un lado ha crecido en forma exponencial la capacidad de los discos rígidos, en este momento no es difcíl conseguir discos de 2 o 3TB, pero desde hace unos meses por problemas en los lugares de fabricación, los precios han aumentado en forma alarmante.

Cada vez se están desarrollando discos de tipo SSD (Estado sólido) de mayor capacidad, pero su aún alto costo lo hace prohibitivo para “uso general”, sólo justifica en determinadas ocasiones y para determinados usos

Por todo lo anterior, sobre todo los que trabajamos mucho con máquinas virtuales, estamos con un problema de espacio de almacenamiento, así que me puse a investigar el tema y encontré un muy buen enlace que lo recomiendo: Data Deduplication Overview

En esta nota voy a enfocar el tema específicamente sobre cómo evitar el problema para los que habitualmente trabajamos mucho con virtualización en ambiente de laboratorio, teniendo muchas máquinas virtuales y, “no hay discos que alcancen” 🙂

Me decidí a probar cómo podía ayudarme Data Deduplication específicamente para mi ambiente de trabajo: muchas máquinas virtuales, muchas de ellas con el mismo sistema operativo sólo que con diferente configuración y servicios, y muchas de ellas usadas como “bases” para la creación de otras.
De acuerdo al sistema de virtualización que utilicen les llamaremos “Base Disks” en Hyper-V, o los discos para “Cloned Virtual Machines” en VMware Workstation

Cumplen las condiciones ideales: archivos grandes, que cambian poco o nada y con mucho contenido en común, así que adelante!

Instalé (en virtual) un Windows Server 2012, con un disco dedicado donde copié dos archivos VHD grandes, como se observa en la figura

Luego, en la forma habitual, agregué el “Data Deduplication” que es un “Role Service” de “File and Storage Services”

Esperaba encontrar una “tool” específica en el menú Tools del Server Manager, pero no es así. En Server Manager, tuve que entrar a “File and Storage Services”, “Volumes” y con botón derecho sobre el disco para habilitar la deduplicación

Habilitamos la opción “Enable data deduplication”, y aunque no lo haré en este caso, ingresen al botón “Set Deduplication Schedule …” para ver la configuración por omisión; igualmente observemos que por omisión la opción trabajará sobre archivos que tengan más de 5 días sin cambios. Por mi parte lo bajaré a cero para poder ver ahora mismo el efecto

Esperar la progamación de la tarea implicaría mucho tiempo, así que me decido por utilizar PowerShell para ejecutarlo manualmente en este momento

Abrimos la consola PowerShell y escribimos (para mi caso):

start-DedupJob Z: –type optimization

Demorará un rato, así que podemos consultar el estado con dos comandos:

get-DedupJob

get-DedupStatus

Estuve un poco ansioso 🙂 pero finalizó en unos pocos minutos. Observen que de aproximadamente 16GB que había ocupado, informa haber recuperado más de 12GB

Comprobemos…

Comparen con la primer figura, pasamos de tener ocupado 16,3GB al incio inicialmente a ahora sólo 4,75GB, esto sí se está poniendo interesante 🙂

Quise ir un poco más allá y copié un tercer VHD similar a los anteriores para ver cómo podía ayudar aún más este tema

Por supuesto tuve que ejecutar nuevamente la tarea en forma manual con los mismos comandos que vimos antes

Observemos con detalle la próxima pantalla que tiene datos interesantes, y que a primera vista parecen no ser lógicos, pero lo son totalmente por la forma que trabaja Data Deduplication

La carpeta VHDs, tiene un tamaño de 24,2GB, pero ocupa en disco sólo 12KB

Y si vemos las propiedades del disco, tenemos ocupados 5,14GB
¡¡¡Menos que uno sólo de los VHDs!!!

Aunque hay que aclararlo “magia no hay”. Si queremos ver en detalle el tema, y se animan a todo porque están en ambiente de laboratorio, vayan a la carpeta “System Volume Information”, tomen propiedad de la misma y todas lo que contenga, asignense permisos y observen el contenido

Creo que esta es una de las primeras características que implementaré cuando migre a Windows Server 2012 cuando salga definitivo 🙂

Post a comment or leave a trackback: Trackback URL.

Trackbacks

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *