Co je to BranchCache?

BranchCache je nová funkcionalita ve Windows 7 a Windows Server 2008 R2, která napomáhá redukovat zátěž datových linek (WAN) a zároveň zrychluje dostupnost centralizovaných dokumentů. Podporovanými protokoly jsou HTTP a SMB, je tedy možné optimalizovat dostupnost dokumentů na webových nebo souborových serverech umístěných v centralizovaných datových centrech ze vzdálených poboček za linkami s velmi omezenou kapacitou a velkou latencí.

Předpoklady

Server

Serverý, který poskytuje požadované dokumenty, musí být instalován operačním systémem Windows Server 2008 R2 a služba BranchCache musí být zapnuta. Toto platí také pro server umístěný ve vzdálené pobočce a je dedikovaný pro roli Hosted Cache Server.

Klient

Na straně desktopů musí být Windows 7 a služba BranchCache musí být zapnuta.

Možné modely nasazení

Distributed cached mode

Je určen pro vzdálené pobočky, kde není žádná serverová infrastruktura. V tomto případě, jsou stahované dokumenty umisťovány na pracovní stanice, kde byl příslušný dokument požadován poprvé. Z této stanice je následně nabídnut jinému uživateli/počítači, který požaduje shodný dokument.

Nasazení tohoto modelu do prostředí, je nejjednodušší variantou jako optimalizovat přenášená centralizovaná data z datového centra.

Níže uvedený obrázek nastiňuje schéma Distributed cached modelu.

clip_image001

Hosted cached mode

Hosted cached model využívá vyhrazeného serveru v místě pobočky resp. vzdálené lokality. Na tomto serveru jsou následně umisťovány dokumenty, které uživatelé stahují z centrálních webových nebo souborových serverů. V tomto modelu se zvyšuje dostupnost požadovaných dat a tím se snižuje zátěž datových linek. Na rozdíl o Distributed cached modelu, kde může docházet k vypínání jednotlivých pracovních stanic.

Níže uvedený obrázek nastiňuje schéma Hosted cached modelu.

clip_image002

Konfigurace serveru v datovém centru

Web server

Ve Windows Server 2008 R2 implicitně není BranchCache služba instalována. Je tedy nutné ji pomocí Serveru ManageruAdd Features přidat. Pokud se jedná o web server, žádná další konfigurace není nutná.

Souborový server

V případě, že chceme pomocí BranchCache distribuovat dokumenty ze souborových serverů, v Server Manageru přidáme server role File Services a role service BranchCache for remote files.

Další krok konfigurace provedeme pomocí Group Policy příslušných souborových serverů v Computer ConfigurationPolicies - Administrative TemplatesNetwork - Lanman Server otevřeme Hash Publication for BranchCache, zvolíme Enable a v možnostech Hash publication actions vybereme Allow hash publication for all file shares.

Dále je nutné zapnout BranchCache na příslušném sdílení (share). Pomocí Share and Storage Management (Administrative Tools) vybereme jméno sdílení, v kontextovém menu Properties …, Advanced …, záložka Caching, zaškrtnout Enable BranchCache.

Konfigurace serveru v Hosted cached modelu

Server, umístěný ve vzdálené lokalitě/pobočce, můžeme konfigurovat do role hostitele BranchCache. Předpokladem je, že server je instalován operačním systémem Windows Server 2008 R2.

V rámci jeho konfigurace provedeme následujícími kroky:

  • Instalace služby BranchCache,
  • konfigurace a zapnutí BranchCache,
  • instalace certifikátu, (zajistí důvěryhodnost ze strany BranchCache klientů vůči serveru),
  • případná konfigurace velikosti využívané cache.

Instalace služby BranchCache pomocí Server Manageru – Add Features – vybereme BranchCache

Následně provedeme konfiguraci BranchCache pomocí následujícího příkazu:

netsh branchcache set service mode=hostedserver

Kontrola nastavení příkazem:

netsh branchcache show status all

Následuje import certifikátu daného serveru. Import je nutné provést do úložiště Computer Accountu pomocí MMC konzole (add/remove snap-in – Certificates – Computer Account). Po importu do clipboardu si následně zkopírujeme ze záložky Details daného certifikátu pole Thumbprint. Toto ID certifikátu následně spárujeme se službou BranchCache.

Spárování certifikátu se službou BranchCache, zajistí níže uvedený příkaz v elevated kontextu:

NETSH HTTP ADD SSLCERT IPPORT=0.0.0.0:443 CERTHASH=<thumbprint> APPID={d673f5ee-a714-454d-8de2-492e4c1bd8f8}

<thumbprint> je v tomto případě ID, které jsme v předchozím kroku zkopírovali do clipboardu.

Implicitně je pro BranchCache alokováno pouze 5% z celkové velikosti disku. V případě dedikování serveru pro účely BranchCache je vhodné provést zvětšení dle dostupné kapacity, toto provedeme následujícím příkazem v elevated kontextu:

netsh branchcache set cachesize size=75 percent=true

Konfigurace klienta

Ve Windows 7 je komponenta BranchCache implicitně vypnuta. Její zapnutí a konfiguraci můžeme provést pomocí skupinové politiky (Group Policy s využitím Group Policy Management konsole z Windows Serveru 2008 R2 nebo Windows 7) nebo pomocí nástroje příkazové řádky netsh.

Konfigurace klienta pomocí Group Policy

Pomocí Group Policy zapnutí BranchCache na klientských počítačích provedeme v Computer Configuration – Policies – Administrative Templates – Network – BranchCache – vybereme Turn on BranchCache, zvolíme Enabled. Ve shodném nódu zvolíme, požadovaný model klientů tzn. Distributed Cache Mode nebo Hosted Cache mode (doplníme jméno serveru, který bude plnit roli BranchCache ve vzdálené pobočce).

Pokud chceme využít BranchCache také pro souborové servery, ve stejné větvi nastavíme volbu Configure BranchCache for network files na Enabled a hodnotu Round trip network latency value na hodnotu 0.

Následně je nutné provést konfiguraci firewallu, tzn. v Computer Configuration – Policies – Windows Settings – Security Settings – Windows Firewall with Advanced Security. Opět zde platí, že konfiguraci je vhodné provést pomocí Group Policy Management Console z Windows Server 2008 R2 případně z Windows 7. Jen tak bude obsahovat předdefinovaná pravidla

Hosted mode a Distributed mód

V Computer Configuration – Policies – Windows Settings, Security Settings, Windows Firewall with Advanced Security vybereme Inbound Rules, v kontextovém menu New Role … - Predefined, BranchCache – Content Retrieval (Uses HTTP), dále Allow the connection.

Distributed mód

V Computer Configuration – Policies – Windows Settings, Security Settings, Windows Firewall with Advanced Security vybereme Outbound Rules, v kontextovém menu New Role … - Predefined, BranchCache – Peer Discovery (Uses WSD), dále Allow the connection.

Konfigurace klienta pomocí nástroje netsh

Pomocí následujícího příkazu v elevated kontextu Windows 7 provedeme zapnutí BranchCache v Distribuovaném modelu, zároveň dojde k potřebné konfiguraci firewallu.

netsh branchcache set service mode=distributed

Následující příkaz zajistí zapnutí BranchCache v hosted modelu.

netsh branchcache set service mode=hostedclient location=<jmeno serveru>

<jmeno serveru> je computername serveru, který je konfigurován jako hosted BranchCache.

Možnosti monitoringu BranchCache

Na jednotlivých systémech s BranchCache jsou dostupné Performance Countery, které poskytují detailní informace o stavu a chování BranchCache.

BranchCache zároveň loguje jednotlivé stavy do Event logu.

Nástroj příkazové řádky netsh poskytuje základní informace o stavu BranchCache služby na daném systému.

Zároveň bude dostupný Managememt Pack pro System Center Operations Manager 2007 (SCOM), který zajistí konsolidované informace o stavu služby v rámci provozního dohledu společnosti.

Závěr

Centralizace dat je proces, který kromě svých nesporných výhod, může také přinést prodloužení odezev koncových uživatelů při přístupu k centralizovaným dokumentům a zároveň přetěžování datový WAN. Z provedených pilotních nasazení je např. redukce SMB komunikace až o 70% oproti původním hodnotám zatížení WAN linek.

Implementace BranchCache je poměrně jednoduchá záležitost, která šetří datové pásmo WAN linek a zrychluje odezvy uživatelů na vzdálených pobočkách.


- Tomáš Rýdl (Microsoft)