Configurar BranchCache desde PowerShell:

Esta tecnología pretende optimizar el acceso a archivos cuando estamos en una arquitectura de red distribuida en una central y múltiples sucursales (branches).

El objetivo es que si un usuario de una sucursal ya se ha descargado un archivo de la central, otros usuarios de la misma sucursal no necesiten conectarse a la central (que suele tener un enlace de bajo ancho de banda y mucha latencia), sino que lo descarguen desde la propia sucursal.

El inconveniente a resolver es cómo mantener actualizados los archivos en la caché de la sucursal para que sean exactamente iguales a los que hay en la central.

El proceso que se sigue es el siguiente:

  1. Un usuario de una sucursal necesita descargarse un archivo y, al ser la primera vez, se conecta a la central para descargarlo.
  2. Ya que se ha descargado el archivo, se pone a disposición del resto de los usuarios de la sucursal en una caché (hosted o distributed).
  3. Un segundo usuario de la misma sucursal necesita el mismo archivo. Comprueba el hash del archivo en caché con el hash del archivo que está en la central.
  4. Si los hashes son iguales, el archivo de la sucursal es igual al de la central y se hace la descarga desde la sucursal (más rápido).
  5. Si los hashes no son iguales, el usuario se descarga el archivo desde la central y actualiza la caché en la sucursal.

La ventaja de usar PowerShell, es que habilita el scripting en servidores de contenido de BranchCache, servidores de caché hospedada y equipos clientes.

Los comandos utilizados para configurar BranchCache serían:

En la Central, lo primero que tenemos que hacer es instalar la característica “BranchCache for Network File”

Install-WindowsFeature FS-BranchCache

Luego, tendríamos que publicar el contenido de la carpeta para que genere su hash

Publish -BCFileContent -Path C:\Carpeta

Y por último, tendría que habilitar BranchCache para la carpeta que queremos a nivel de recurso compartido

Set-SmbShare -Name Compartida -CachingMode BranchCache

En la sucursal

Tenemos que instalar la característica de BranchCache

Install-WindowsFeature BranchCache                      

A continuación tenemos que registrar esta sucursal como hosted y como está en dominio nos la registrará también en el directorio Activo

Enable-BCHostedServer -RegisterSCP

Indicamos a este ordenador quien es el hosted y agregamos una clave de registro (esto convendría hacerlo desde GPO porque se tiene que lanzar en todos los equipos que vayan a usar branchcache)

Enable-BCHostedClient -ServerNames Nombre_Servidor_Hosted

REG add “HKLM\SOFTWARE\Policies\Microsoft\Windows\LanmanServer” /v HashPublicationforPeerCaching /t REG_DWORD /d 0 /f

Y Ya por último, si en la sucursal quiero ver el estado de BranchCache usaríamos el comando Get-BCStatus

En el cliente simplemente tenemos que decirle quien es el hosted. Sería lo que he comentado antes que sería mejor implementarlo a través de GPO.

Para ver la configuración BranchCache que tiene el cliente usaríamos el comando  Get-BCClientConfiguration

 

Descripción: Configuración BranchCache desde PowerShell
Autor: Pilar Carrasco Febrero
Curso: MCSA/MCSE Private Cloud
Centro: Tajamar
Año Académico: 2016/2017