Saludos amigos, hoy os traigo una entrada muy interesante sobre el nuevo formato de disco que Windows Server 2016 trae de serie (En 2012 venía también pero no era muy estable). Aunque no es un tema relativamente nuevo, es ahora que ReFS es más maduro cuando me decido a escribir sobre ello. Pero antes de ello, vamos con un poco de teoría.
¿Qué es ReFS (Resilient File System)?
ReFS es el sistema de archivos más reciente de Microsoft, diseñado para maximizar la disponibilidad de los datos, escalar eficientemente a grandes conjuntos de datos en diversas cargas de trabajo y proporcionar integridad de los datos mediante la resistencia a la corrupción. Busca abordar un conjunto cada vez mayor de escenarios de almacenamiento y establecer una base para futuras innovaciones.
Todo ello además lo busca de manera integrada en Windows Server 2016, con lo que podemos comenzar a usar este tipo de formato de disco ya mismo si disponemos de la última versión de Microsoft Windows Server.
Ventajas principales de ReFS
Resistencia
ReFS introduce nuevas características que pueden detectar con precisión corrupciones de datos y también arreglarlas mientras permanecen en línea, lo que ayuda a proporcionar una mayor integridad y disponibilidad para sus datos:
- Integrity-streams – ReFS utiliza sumas de comprobación para metadatos y, opcionalmente, para datos de archivos, lo que permite a ReFS detectar corrupciones de forma fiable.
- Storage Spaces integration – Cuando se utiliza junto con un mirror o espacio de paridad, ReFS puede reparar automáticamente las corrupciones detectadas utilizando la copia alternativa de los datos proporcionada por los Storage Spaces. Los procesos de reparación se localizan en el área de la corrupción y se realizan en línea, sin requerir tiempo de inactividad por volumen.
- Salvaging data – si un volumen se corrompe y no existe una copia alternativa de los datos dañados, ReFS elimina los datos dañados del espacio de nombres. ReFS mantiene el volumen en línea mientras maneja la mayoría de las corrupciones no corregibles, pero hay casos raros que requieren que ReFS desconecte el volumen.
- Proactive error correction – Además de validar los datos antes de leerlos y escribirlos, ReFS introduce un escáner de integridad de datos, conocido como depurador. Este depurador explora periódicamente el volumen, identificando corrupciones latentes y activando proactivamente una reparación de datos corruptos.
Rendimiento
Además de proporcionar mejoras de resistencia, ReFS introduce nuevas características para cargas de trabajo virtualizadas y sensibles al rendimiento. La optimización de niveles en tiempo real, la clonación de bloques y el VDL disperso son buenos ejemplos de la evolución de las capacidades de ReFS, que están diseñadas para soportar cargas de trabajo dinámicas y diversas:
- Mirror-accelerated parity – la paridad acelerada por espejo ofrece un alto rendimiento y un almacenamiento eficaz de los datos.
- Para ofrecer almacenamiento de alto rendimiento y capacidad eficiente, ReFS divide un volumen en dos grupos de almacenamiento lógico, conocidos como niveles. Estos niveles pueden tener sus propios tipos de unidad y resistencia, lo que permite que cada nivel optimice el rendimiento o la capacidad.
- Una vez configurados estos niveles, ReFS los utiliza para ofrecer un almacenamiento rápido de datos calientes y un almacenamiento de datos fríos con capacidad eficiente:
- Todas las escrituras ocurrirán en el nivel de rendimiento, y grandes trozos de datos que permanecen en el nivel de rendimiento se moverán eficientemente al nivel de capacidad en tiempo real.
- Si se utiliza una implementación híbrida (mezcla de unidades flash y HDD), la caché de Storage Spaces Direct ayuda a acelerar las lecturas, reduciendo el efecto de la fragmentación de datos característica de las cargas de trabajo virtualizadas. De lo contrario, si se utiliza una implementación de flash total, las lecturas también se producen en el nivel de rendimiento.
- Accelerated VM operations – ReFS introduce nuevas funcionalidades específicamente dirigidas a mejorar el rendimiento de las cargas de trabajo virtualizadas:
- Clonación en bloque: la clonación en bloque acelera las operaciones de copia, lo que permite realizar operaciones de fusión rápidas y de bajo impacto en los puntos de control de la máquina virtual.
- VDL disperso – VDL disperso permite que ReFS ponga a cero archivos rápidamente, reduciendo el tiempo necesario para crear VHDs fijos de 10 minutos a meros segundos.
- Variable cluster sizes – ReFS admite tamaños de clústeres de 4K y 64K. 4K es el tamaño de clúster recomendado para la mayoría de las implementaciones, pero los clústeres de 64K son apropiados para grandes cargas de trabajo de E/S secuenciales.
Escalabilidad
ReFS está diseñado para soportar conjuntos de datos extremadamente grandes (millones de terabytes) sin afectar negativamente al rendimiento, logrando una mayor escala que los sistemas de archivos anteriores.
ReFS explicado en conjunto con Veeam Backup & Replication
Toda la teoría del primer punto, pero si queremos ver un poco más en profundidad cómo trabaja ReFS. Por ejemplo, pensemos en un caso con NTFS, donde tenemos la típica copia full de cada semana, las incrementales y el synthetic full backup, esto se vería así en NTFS:
Si usamos ReFS, podremos ver que la copia full de synthetic en vez de tener que mover todos los bloques de incrementales para producir la nueva synthetic full, lo que hace es usar la API de Microsoft ReFS para usar las referencias a los mismos y conseguir así un fast clone, que hace que la copia sea mucho más rápida, y que ocupe menos espacio en disco.
De esta manera, podemos decir sin ningún temor que repositorios usando ReFS
Cómo crear un volumen ReFS en Microsoft Windows Server 2016
Si estamos usando VMware vSphere, mi consejo es que el disco que creemos sea Thick Eager Zero load, esto aumentará el rendimiento y performance del mismo, tenéis algo más de información aquí sobre esto.
Una vez en Windows 2016, usaremos el típico gestor de volúmenes y discos para crear un nuevo volumen, antes tendremos que inicializar el disco como GPT por favor, y creamos la partición. Para la partición tendremos que asegurarnos que usamos ReFS y 64K, así:
Una vez que hemos creado el volumen, podemos lanzar unas comprobaciones para ver si estamos usando todo correctamente, usaremos los siguientes comandos para comprobar nuestro nuevo volumen:
fsutil fsinfo volumeinfo vuestrodisco: fsutil fsinfo refsinfo vuestrodisco:
Que debería de quedar así:
Todo correcto hasta el momento, podemos ya pasar a la acción, vamos a configurarlo propiamente en Veeam Backup & Replication.
Cómo crear un Veeam Repository para ReFS
Una vez que tenemos nuestro Windows Server 2016 con ReFS perfectamente configurado como he mencionado anteriormente, es el momento de añadir el Repositorio de la manera tradicional, en Backup Infrastructure – Add Repository
Seleccionaremos que el Repositorio es de tipo Microsoft Windows Server
Seleccionaremos el equipo con Microsoft Windows Server 2016, con sus credenciales y podremos incluso hacer click en populate para ver los volúmenes disponibles:
Seleccionaremos ahora la carpeta dentro del volumen donde queremos guardar las copias de seguridad, podemos hacer click en Advanced para ver que no tenemos nada marcado:
Por último seleccionaremos el Mount Server y el path para vPowerNFS:
Una vez terminamos de configurar el repositorio, si volvemos al repositorio y nos vamos hasta la pestaña de Advanced en Repository, podremos ver que la primera opción se ha marcado en gris, esto quiere decir que Veeam ha detectado correctamente ReFS:
Configurando los Veeam Backup Jobs correctamente para Veeam Repositorios con formato ReFS
Una vez que tenemos ya el nuevo Veeam Backup Repository listo y configurado siguiendo los pasos anteriores, es la hora de crear trabajos de copia hacía este nuevo repositorio, vamos allá.
Tengo que mencionar que la manera recomendada de usar repositorios de ReFS con Veeam es usando synthetic backups, con lo que nos iremos hasta la pestaña de Storage en este trabajo de copia, seleccionaremos el Backup Repository, en mi caso guardo una cadena completa de jobs (un full y sus synthetic incrementals) y el resto del archiving lo hago hacía Backup Copy. Haremos click en Advanced:
Seleccionaremos la opción Incremental, el checkbox de create synthetic full backup, y el día que queremos, por lo general ya que se demora en tiempo y en recursos es mejor hacerlo durante el fin de semana:
Veeam incluye una tarea para proteger las tareas frente a corrupciones de datos, especialmente útil en Repositorios con ReFS, aunque ReFS tiene ya su propia tecnología para lo mismo, yo recomiendo habilitarlo en el trabajo de copia de seguridad, que no hace tampoco daño:
Una vez que lanzamos las copias, cuando lleguemos al día en el que se realiza la synthetic full backup, podremos ver si todo está correcto que Veeam está haciendo uso de la tecnología de fast clone de ReFS, y que el tiempo para completar la operación es de tan solo 17 segundos en mi caso, en vuestros casos variará, pero seguro que es un performance mucho más alto que si lo hicierais sobre NTFS:
Nada más amigos, recordaros que podéis descargar Veeam Backup & Replication desde el siguiente link:
Enlaces interesantes
Os dejo algunos enlaces sobre ReFS que seguro os gustan:
- https://www.veeam.com/blog/advanced-refs-integration-coming-veeam-availability-suite.html
- https://www.veeam.com/wp-availability-suite-advanced-refs-integration.html
- https://docs.microsoft.com/en-us/windows-server/storage/refs/refs-overview
Recomiendo tener los siguientes KB si estáis usando ReFS sobre Windows Server 2016:


Muy buen artículo sobre ReFS Jorge. Ya me tienes convencido para montar un repositorio en utilizando ese sistema de archivos 🙂
Entiendo que la instalación de Veeam no precisa que tenga que hacerse en un servidor con ese sistema de archivos y que donde seria realmente útil sería en el repositorio.
Me gustaría que me dieras tu opinión sobre si instalar Veeam en un servidor que voy a reutilizar (tiene unas buenas prestaciones y Windows Server 2012 pero ya no está en garantía y tiene sus añitos) en físico o en virtual (utilizando el propio Hyper-V del server). Creo que si lo instalo directamente sobre el físico obtendré el mejor rendimiento para el Veeam pero también he pensado que si lo instalo en virtual en ese mismo server (con el hyper-v) podría replicar esa maquina virtual en otro servidor que también tengo disponible (ya que pronto dejará de utilizarse (tambien con Windows Server 2012)) de forma que siempre podría tener disponible el Veeam ante cualquier avería del primer server físico. También he pensado que si no utilizo ese segundo servidor reutilizado para las réplicas, siempre podría utilizar este server para montar un repositorio para backups. Como ves hay muchas posibilidades.. 🙂
Cual te encaja mas?
Saludos.
Saludos Raul,
ReFS sin duda es una buena opción, siempre recomiendo hacer un Backup Copy a otro repositorio con deduplicación para el archivado, pero quizá no necesites tanto claro. Aparte de esto, vamos a responder preguntas:
1.- Es como dices, el Repo tiene que estar en W2k16 y tener ReFS, pero el VBR server puede estar en NTFS e incluso Windows 10 🙂
2.- Para obtener el mejor rendimiento en las copias, el Veeam proxy tiene que estar cerca del origen de las VM, imaginemos virtualizada, dentro del Storage de las otras VM, y el VBR Repo a ser posible mas cerca del disco donde se salvan. Ejemplo practico, malas practicas: Un servidor VBR fisico, que hace de proxy y repo, con un storage en CIFS a un Synology o similar 🙂 Una vez vista una mala practica, dale una vuelta para hacer todo lo contrario.
3.- Yo lo pondria virtual y replicaria como dices, ese server viejo le pones Hyper-V y ya tienes un lugar para hacer replica 🙂
Un abrazo
Hola buen día Como backup primario que es mejor un data domain o este sistema de archivos que comentas ?
Saludos Sade,
Si el DataDomain tiene DDBoost activo y usas Veeam Enterprise o Enterprise Plus, entonces es otra historia y DDBoost es una solución robusta, de todas maneras Veeam recomienda como buena practica no mandar directamente a un appliance de deduplicacion, con lo que mejor poner un ReFS para una o dos semanas, con incrementales y synthetic, y mas allá de esa retención mandarlo con backup copy al DataDomain.
Hola, muchas gracias por la buena información. Una consulta, que pasa con los backup “reverse incremental”? se benefician del fast clone?
Saludos, hace unos meses Gostev, VP de Product, dijo que reverse incremental desaparecerá en el futuro, con lo que recomiendo migrar a forward incremental 🙂
un saludo