Azure File Sync

Azure File Sync es una extensión de Azure Files, que ya sabemos que es el servicio de Azure Storage que nos permite acceder a archivos mediante SMB v3.0. Podemos ver Azure File Sync como una evolución del conocido DFS (Distributed File System), pero basado en la nube de Azure.

Con Azure File Sync podremos tener sincronizados múltiples servidores de archivos repartidos por todo el mundo:

Los usuarios acceden a los archivos de forma local utilizando protocolos como SMB, NFS o FTPs, y la sincronización entre servidores se hace a través de Azure mediante HTTPS. De esta forma, los usuarios no se verán afectados por la mayor latencia que implicaría acceder a los archivos directamente desde la nube. Cada servidor local se convierte en una caché de archivos.

Azure File Sync también facilita el proceso de hacer backup de los archivos, ya que podemos utilizar Azure Backup para esta tarea. Además, en los archivos que están almacenados en la nube se aplica deduplicación, por lo que se reduce el espacio de almacenamiento utilizado y también el coste.

Azure File Sync incluye Cloud Tiering de forma que solo aquellos archivos a los que se acceda con más frecuencia permanecen en los servidores locales, el resto estará en Azure a la espera de que sean solicitados por algún usuario. Esta característica es configurable mediante políticas que definan en qué momento y para qué archivos se va a aplicar.

Requisitos para implementar Azure File Sync:

Los requisitos para los servidores de archivos locales son:

  • Windows Server 2012 R2 o superior
  • PowerShell 5.1 o superior y el módulo de Az para PowerShell
  • Conectividad HTTPS con Azure
  • Modo de seguridad mejorada desactivado en Internet Explorer
  • La carpeta local para la sincronización debe estar en un volumen NTFS y no puede ser la unidad C:, la unidad del sistema.

Precios

Podemos ver los precios actualizados de este servicio en:

https://azure.microsoft.com/es-es/pricing/details/storage/files/

Límites de Azure File Sync

El tamaño máximo de carpeta que podemos sincronizar es de 5 TB y el tamaño máximo de archivo es de 1 TB, aunque no hay límites en el número de archivos que puede contener una carpeta sincronizada.

Terminología

  • Storage Sync Service: Es el recurso principal para este servicio, a partir del que crearemos un grupo de sincronización y los server endpoints.
  • Servidor Registrado: Es el objeto que representa la relación entre un servidor de archivos local y el Storage Sync Service. Para registrar un servidor será necesario descargar el agente de sincronización.
  • Agente de Azure File Sync: Es el paquete que descargamos e instalamos en los servidores de archivo locales para sincronizarlos.
  • Server Endpoint: Representa la carpeta local que queremos sincronizar.
  • Grupo de Sincronización: Agrupa los servidores locales y los endpoints que vamos a sincronizar.

Implementación

Empezamos creando una cuenta de almacenamiento de tipo Standard V2 con redundancia local, aunque también podemos utilizar otro tipo de redundancia teniendo en cuenta que el coste será superior.

En esta cuenta de almacenamiento creamos un File Share, por ejemplo, “documentos”:

Ahora hacemos la búsqueda de Azure File Sync en el portal:

Le damos un nombre y creamos el Storage Sync Service:

A partir de ahora podemos encontrar nuestros despliegues en Storage Sync Service:

Creamos un grupo de sincronización:

Una vez creado el grupo de sincronización, tenemos que añadir servidores registrados.

Para registrar un servidor es necesario descargar e instalar en ese servidor el agente de Azure File Sync:

https://www.microsoft.com/en-us/download/details.aspx?id=57159

Tenemos que seleccionar la versión adecuada para nuestro servidor:

La instalación es sencilla:

Podemos utilizar las opciones por defecto para la instalación.

Si tras la instalación obtenemos este error:

Se debe a que no tenemos instalada la última versión de AzureRM. Es posible que tengamos instalada la última versión del módulo Az, pero para Azure File Sync se requiere el módulo AzureRM. Podemos solucionarlo con:

Tras esta instalación ya nos debe dejar seguir con el registro:

Iniciamos sesión con nuestro usuario (no como Cloud Solution Provider) y seleccionamos la cuenta de almacenamiento y el servicio de sincronización:

Y ya tenemos registrado nuestro primer servidor:

Volvemos al portal de Azure y desde el grupo de sincronización que hemos creado vamos a añadir el servidor que acabamos de registrar:

Seleccionamos el servidor y la carpeta a sincronizar:

En la opción Cloud Tiering podemos especificar la cantidad de espacio libre que queremos tener siempre en el volumen. Para esto, File Sync sincronizará archivos a la nube eliminándolos del servidor local y sustituyendo los archivos por accesos directos. También podemos indicar que sólo se mantengan en local los archivos que se han modificado recientemente:

Para este ejemplo no seleccionamos ninguna de estas opciones. El servidor empezará a provisionarse:

Si en la carpeta local tenemos archivos:

Será cuestión de pocos minutos que estos archivos se sincronicen en Azure:

Y si registramos un segundo servidor:

En pocos minutos también se sincronizará la carpeta local en ese servidor: