BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Baza wiedzy











BranchCache w Windows Server 2008 R2 i Windows 7

06-02-2009 14:30 | Maciej Pawlak
Pomimo szybkiego rozwoju sieci komputerowych połączenia między biurami zawsze stanowiły problem. Niska przepustowość łącz WAN to problem, który dotyczy nie tylko Polski, ale też innych krajów. Dlatego Microsoft wyszedł nam naprzeciw z nową funkcją — BranchCache.

Pomimo szybkiego rozwoju sieci komputerowych połączenia między biurami zawsze stanowiły problem. Niska przepustowość łącz WAN to problem, który dotyczy nie tylko Polski, ale też innych krajów. Dlatego Microsoft wyszedł nam naprzeciw z nową funkcją — BranchCache.

Czym właściwie jest BranchCache?

Możliwe, że słyszeliście o tej funkcji już podczas zapowiedzi systemów Windows 7 i Windows Server 2008 R2. BranchCache jest usługą, która pomaga zmniejszyć obciążenie sieci WAN pomiędzy oddziałami firmy — przyspiesza pobieranie plików z sieci poprzez cachowanie zasobów. Jest to nowa usługa wprowadzona wyłącznie w systemach Windows Server 2008 R2 i Windows 7. Skierowana została głownie do firm, które posiadają słabe łącza między oddziałami. Dzięki niej można niskim nakładem przyspieszyć działanie sieci w biurze, gdyż wystarczy na komputerach klienckich zainstalować system Windows 7.

Jak działa BranchCache?

Usługa cachowania może działać na dwa sposoby: jako Distributed Cache lub jako Hosted Cache. Pierwszy z nich — Distributed Cache — działa na zasadzie sieci P2P. Dedykowany jest głownie dla małych biur: 5 – 10 komputerów. Użytkownik w momencie próby pobrania pliku tworzy najpierw hash, który jest wysyłany do komputerów w biurze. Jeśli hash będzie pasował do któregoś z plików cachowanych na pozostałych komputerach, rozpocznie pobieranie ale z sieci lokalnej. W przeciwnym przypadku plik będzie pobierany bezpośrednio z Internetu. Pobrany plik zostanie cachowany na komputerze i jeśli inny komputer będzie próbował uzyskać dostęp do tego pliku, to pobieranie już nie odbędzie się za pośrednictwem sieci WAN, lecz lokalnie. Distributed Cache przeznaczony jest dla biur, które nie posiadaja serwera plików. Zasadę działania tej metody ilustruje obrazek poniżej:

Rys.1
Rys.1. BranchCache – metoda Distributed Cache.

Z koleji druga z metod — Hosted Cache — opiera się na zasadzie klient-serwer. Podobnie jak w przypadku poprzedniej metody, tworzone są hashe, dzięki którym system może zidentyfikować pliki. Różnica jest taka, że przy tym modelu potrzebny jest serwer, na którym będzie uruchomiona usługa BranchCache. Komputery w sieci lokalnej najpierw wysyłają zapytanie do serwera w poszukiwaniu pliku i jeśli plik zostanie znaleziony, rozpocznie się pobieranie z serwera w sieci, w przeciwnym wypadku plik będzie pobierany bezpośrednio z Internetu. Działanie tego modelu ilustruje obrazek poniżej:

Rys.2
Rys.2. BranchCache – metoda Hosted Cache

Co jeszcze trzeba wiedzieć o BranchCache?

Usługa obsługuje protokoły: HTTP, HTTPS oraz SMB. Bezproblemowo działa z certyfikatami SSL, IPsec , nie naruszając przy tym polityki bezpieczeństwa. BranchCache pobiera dane tylko na żądanie, więc nie zużywa łącza bez potrzeby. Zapisane zmiany w pliku nie kolidują z pobieraniem pliku z cache. Zmiany są widoczne jedynie dla użytkownika, który zapisuje dany plik. Zmiany dokonane w pobranym pliku nie są uwzględniane przez BranchCache.

Opcje konfiguracji BranchCache w Windows 7 i Windows Server 2008 R2

Aby uruchomić usługę BranchCache w systemie Windows 7, należy uruchomić konsolę services.msc, kliknąć prawym przyciskiem na usłudze BranchCache i wybrać opcję Start. Dostęp do konfiguracji BranchCache w systemie Windows 7 i Windows Server 2008 R2 uruchamiamy poprzez wiersz poleceń. Zalecane jest, aby wiersz poleceń był uruchamiany w trybie Administratora, gdyż niektóre z opcji wymagają praw Administratora. Po wpisaniu komendy Netsh BranchCache pojawia się nam lista dostępnych opcji:

  • dump — wyświetla aktualną konfiguracje BranchCache na komputerze.
  • exportkey — eksportuje klucz, który BranchCache używa do ochrony zawartość informacji.
  • flush — czyści zawartość lokalnego cache.
  • importkey — importuje klucz, który BranchCache używa do ochrony zawartości informacji.
  • reset — zatrzymuje i uruchamia ponownie usługę BranchCache.
  • set — ustawia parametry konfiguracji:
  • set cachesize — ustawia maksymalny rozmiar lokalnego cache,
  • set key — generuje nowy klucz zawartości informacji,
  • set localcache — ustawia lokalizację lokalnego cache,
  • set service — ustawia status usługi BranchCache.
  • show — wyświetla parametry konfiguracji:
  • show hostedcache — wyświetla lokalizację cache w trybie hosted,
  • show localcache — wyświetla lokalizację lokalnego cache,
  • show status — wyświetla status usługi BranchCache.

Niektóre z poleceń posiadają bardziej złożoną składnię, zostały one opisane poniżej.

Exportkey i Importkey.

Eksportowanie klucza służy generowaniu zakodowanej frazy, dzięki której komputery korzystające z usługi BrandCache mogą odczytywać pliki. W celu zwiększenia bezpieczeństwa usługi BrandCache możemy stworzyć własny klucz i eksportować go do pliku. Następnie klucz ten importuje się do pozostałych komputerów w sieci, po to aby pobierane dane mogły być odkodowane.

Składnia pierwszego polecenia jest następująca:

Netsh BranchCache exportkey[outputfile=]<File Path> [passphrase]=<Pass Phrase>

Parametry:

  • outputfile — ścieżka i nazwa pliku, do którego klucz ma zostać eksportowany.
  • passphrase — fraza wymagana przy importowaniu klucza.

Przykład użycia:

Netsh BranchCache exportkey outputfile=C:\Klucze\klucz.key "Haslo do pliku"

Po wykonaniu polecenia klucz zostanie wyeksportowany do pliku i zabezpieczony hasłem, które podaliśmy wcześniej.Polecenie exportkey jest powiązane z poleceniem importkey. Składnia tego drugiego jest niemalże identyczna:

Netsh BranchCache importkey[inputfile=]<File Path> [passphrase]=<Pass Phrase>

Parametry:

  • inputfile — ścieżka i nazwa pliku, do którego klucz ma zostać importowany.
  • passphrase — fraza wymagana przy importowaniu klucza.

Przykład użycia:

Netsh BranchCache importkey inputfile=C:\Klucze\klucz.key "Haslo do pliku"

Należy pamiętać, że jeśli usługa BranchCache jest włączona, zostanie zatrzymana na czas importowania klucza, a następnie uruchomiona ponownie.

Set cachesize

Polecenie to umożliwia określenie maksymalnego rozmiaru, jaki będzie przeznaczony na lokalny cache. Domyślny rozmiar cache to 5% użycia dysku.

Składnia polecenia jest następująca:

set cachesize [size=]{DEFAULT|<number>} [[percent=]{TRUE|FALSE}]

Parametry:

  • size — rozmiar lokalnego cache. Można ustawić wartość domyślną — DEFAULT, bądź podać ją w procentach lub w bajtach.
  • percent — określa, czy parametr size ma być określony w procentach czy też nie. Jeśli nie podamy tego parametru, zostanie ustawiona wartość DEFAULT, czyli FALSE. Parametr FALSE oznacza, że rozmiar jest określony w bajtach, natomiast TRUE, że wielkość podana jest w procentach.

Przykład użycia:

set cachesize 20971520
set cachesize size=20 percent=TRUE

Set localcache

Polecenie to wskazuje miejsce przechowywania plików cache usługi BranchCache. Jeśli usługa jest uruchomiona, zostanie zatrzymana na czas zmiany położenia plików, a następnie uruchomiona ponownie. Wszelkie pliki cache zostaną przeniesione do nowej lokalizacji. Domyślnie jest to lokalizacja: C:\Windows\ServiceProfiles\NetworkService\AppData\Local\PeerDistRepub

Składnia polecenia:

set localcache [directory=]{DEFAULT|<File Path>}

Dostępny jest jeden parametr — directory. Może być podany jako ścieżka do katalogu z cache. Ustawienie to może być cofnięte poprzez ustawienie parametru jako DEFAULT.

Przykład użycia:

set localcache directory=C:\BranchCache\LocalCache

Set service

Polecenie Set Service umożliwia ustawienie statusu usługi BranchCache.

Składnia polecenia jest następująca:

set service [mode=]{DISABLED|LOCAL|DISTRIBUTED|HOSTEDSERVER|HOSTEDCLIENT}[[location]=<Host Name>][[clientauthentication]={DOMAIN|NONE}]

Parametry:

  • mode — ustala tryb pracy usługi BranchCache. Dostępne tryby to: DISABLED — usługa wyłączona, LOCAL — usługa działa w trybie lokalnego cache, DISTRIBUTED — usługa włączona w trybie Distributed, HOSTEDSERVER — ustala serwer w trybie Hosted, HOSTEDCLIENT — ustala klienta trybu Hosted.
  • location — ustala lokalizację serwera w trybie Hosted. Parametr jest niezbędny tylko w przypadku uruchomionej usługi w trybie HOSTEDCLIENT.
  • clientauthenitcation — ustala mechanizm autoryzacji klientów. Parametr jest niezbędny tylko w przypadku uruchomionej usługi w trybie HOSTEDCLIENT. Dostępne są dwie wartości: DOMAIN — klienci muszą być członkami tej samej domeny, w przeciwnym przypadku nie będą w stanie uzyskać dostępu do usługi BranchCache. NONE — mechanizm autoryzacji jest wyłączony — każdy z sieci ma dostęp do usługi BranchCache.

Przykład użycia:

set service mode=DISTRIBUTED
set service mode=HOSTEDCLIENT location=SERWER123
set service mode=HOSTEDSERVER clientauthentication=DOMAIN

Konfiguracja BranchCache w Windows Server 2008 R2

Konfigurowanie usługi BranchCache w systemie Windows Server 2008 R2 jest bardziej uproszczone. Aby rozpocząć pracę, należy zainstalować rolę BranchCache. W tym celu trzeba uruchomić konsolę Server Manager, przejść do zakładki Features i dodać rolę (Add Features) BranchCache.

Rys.3
Rys.3. Instalator BranchCache w systemie Windows Server 2008 R2

Usługa BranchCache w tym momencie została uruchomiona, ale skoro pracujemy na serwerowej wersji systemu — Windows Server 2008 R2 — należy włączyć tryb Hosted Cache, bo przecież mamy dostępny serwer plików. W tym celu trzeba uruchomić linię poleceń (cmd.exe) i wpisać polecenie: netsh branchcache set service mode=HOSTEDSERVER.

Uruchamianie BranchCache na komputerach klienckich poprzez Group Policy

Kiedy mamy do czynienia z większą ilością komputerów w domenie, wygodnie jest w celu uruchomienia BranchCache użyć Group Policy. W tym celu należy z menu Administrative Tools wybrać Group Policy Management. Następnie przejść do NAZWA_DRZEWA\Domains\NAZWA_DOMENY\Group Policy Objects, kliknąć prawym przyciskiem myszy na Group Policy Objects i wybrać opcję New. Pojawi się okno dialogowe, w którym należy wybrać nazwę nowej polisy. Po utworzeniu nowej polisy klikamy na niej prawym przyciskiem i wybieramy opcję Edit. Otworzy się okno Group Policy Editor. W edytorze należy przejść kolejno przez: Computer Configuration/Policies/Administrative Templates/Network/Windows/BranchCache. Należy skonfigurować poniższe opcje:

  • Turn on Windows Branch Cache: Enabled,
  • Turn on Windows Branch Cache — Hosted cache mode: Enabled,
  • Turn on Windows Branch Cache — Hosted cache mode: Cache location: NAZWA_SERWERA.

Należy przy tym wiedzieć, że NAZWA_SERWERA musi być zgodna z FQDN (Fully Qualified Domain Name) serwera, który konfigurujemy.

Rys.4
Rys.4. Group Policy Management Editor - konfiguracja BranchCache Hosted cache mode.

Trzeba jeszcze skonfigurować ustawienia Windows Firewall. W tym celu w Group Policy Editor przechodzimy do: Computer Configuration/Policies/Windows Settings/Security Settings/Windows Firewall with Advancesd Security/Inbound Rules. Z menu Akcja wybieramy New Rule. Musimy stworzyć dwie nowe zasady typu Predefined:

  • BranchCache — Content Retrieval (Uses HTTP)
  • BranchCache — Hosted Cache Server (Uses HTTP)

W obu przypadkach ustalamy akcję: Allow Connection. Kiedy już stworzymy zasady, ekran powinien wyglądać jak poniżej:

Rys.5
Rys.5. Inbound rules.

Pozostaje jeszcze stworzenie zasad Outbound Rules. W tym celu w Group Policy Editor przechodzimy do: Computer Configuration/Policies/Windows Settings/Security Settings/Windows Firewall with Advancesd Security/Outbound Rules. I podobnie jak w poprzednim przypadku musimy stworzyć dwie nowe zasady typu Predefined:

  • BranchCache — Content Retrieval (Uses HTTP)
  • BranchCache — Hosted Cache Server (Uses HTTP)

I takim oto sposobem usługa BranchCache została skonfigurowana poprawnie dla protokołu HTTP.

Z kolei jeśli chcemy uruchomić usługę BranchCache dla protokołu SMB, musimy wykonać następujące kroki. Z menu Administrative Tools wybrać Share and Storage Management. W nowootwartej konsoli wybieramy Action a następnie Provision Share. Należy stworzyć nowy udział, lecz przed zakończeniem kreatora wciskamy przycisk Advanced. W zakładce Caching zaznaczamy opcję Enable Windows Branch Cache.

Rys.6
Rys.6. SMB Settings.

Pozostałe kroki możemy pozostawić bez zmian. Czyli klikamy OK i Next aż do końca kreatora.

Kilka słów podsumowania

Mam nadzieję, że poprzez ten artykuł udało mi się przybliżyć Wam tematykę BranchCache w systemach Windows 7 i Windows Server 2008 R2. Już dziś możecie rozpocząć testowanie tej nowej funkcji w Waszych systemach, ponieważ jest ona dostępna wraz z publiczną wersją beta systemów. Sądzę, że usługa BranchCache przyjmie się w Polsce ze względu na obecny rozwój szerokopasmowego dostępu do Internetu. Tą funkcjonalnością powinny się zainteresować głównie firmy, które posiadają małe oddziały i mają ze słabe łącza internetowe. Co do samego artykułu, podczas pisania natrafiłem na kilka ciekawych rzeczy. Po pierwsze, nie ma żadnej rzetelnej instrukcji, jak użyć BranchCache (prawdopodobnie to jest pierwsza), podobnie jak nie ma dostępnego manuala czy też helpa. Informacje, które udało mi się znaleźć w sieci, były przeważnie niekompletne bądź oparte na starszych buildach (niepubliczne bety). Kolejną rzeczą był mały bug, który udało mi się znaleźć podczas pisania niniejszego artykułu. Mianowicie podczas udostępniania zasobu poprzez SMB otrzymywałem komunikat, że nie można udostępnić folderu, ponieważ usługa udostępniania nie działa. Usługa działała, podobnie jak samo udostępnianie, więc to tylko mały błąd w wersji beta, który jednak w niczym nie przeszkadza.

Autor:

Maciej Pawlak (slimaker)

Inżynier oprogramowania pracujący w międzynarodowej korporacji w dziale Data Center Central Support. Prowadzi własnego bloga

Komentarze 7

kajetan_
kajetan_
1519 pkt.
Guru
07-02-2009
oceń pozytywnie 0
Cache, nie casche.
Jacek Marek
Jacek Marek
3997 pkt.
Guru
09-02-2009
oceń pozytywnie 0
A z czego robi hasha w pierwszej wersji?
Z nazwy pliku?

JM
Maciej Pawlak VIP
Maciej Pawlak
394 pkt.
Junior
09-02-2009
oceń pozytywnie 0
Błędy już poprawione. Co do pytania, to szczerze nie wiem. Materiałów do BranchCache jest naprawde mało, możliwe że kiedy wyjdzie już finalna wersja Windows 7 to będzie to gdzieś szerzej opisane. Póki co nie jestem w stanie pomóc.

------------------------------------------
http://escimos.spaces.live.com/blog/
Jacek Marek
Jacek Marek
3997 pkt.
Guru
09-02-2009
oceń pozytywnie 0
No bo, jeżeli to byłby hash z nazwy pliku a MS jest w stanie zrobić coś takiego... To byłoby to świetne narzędzie do wyciągania dowolnych plików w sieci...

JM
aszelag
aszelag
1735 pkt.
Guru
24-09-2009
oceń pozytywnie 0
Usługa BranchCache w tym momencie została uruchomiona, ale skoro pracujemy na serwerowej wersji systemu — Windows Server 2008 R2 — należy włączyć tryb Hosted Cache, bo przecież mamy dostępny serwer plików. W tym celu trzeba uruchomić linię poleceń (cmd.exe) i wpisać polecenie: netsh branchcache set service mode=HOSTEDSERVER.

Pod warunkiem Maćku, że mamy do dyspozycji wersję min. Enterprise W2K8 R2. Dla wersji Standard próba uruchomienia komendy netsh branchcache set service mode=HOSTEDSERVER kończy się komunikatem Hosted Cache Server Mode cannot be used in this version of Windows.

Pozdrawiam,
Andrzej
Maciej Pawlak VIP
Maciej Pawlak
394 pkt.
Junior
04-10-2009
oceń pozytywnie 0
Tak to fakt. Art był pisany w czasach kiedy była dostępna tylko jedna edycja Windows 7.

Dla zainteresowanych pojawił się ciekawy dokument o security w Branchcache. Jest opisany w nim m.in. proces tworzenia hash'a.
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=449be4b1-5f87-47f1-945b-ccd4b196b34f

------------------------------------------
MCTS: 70-640, 71-680, 70-642, 70-620.
http://www.7rc.org/
Łukasz Foks Microsoft
Łukasz Foks
1895 pkt.
Guru
14-10-2009
oceń pozytywnie 0
Wszystkich zainteresowanych BranchCache zapraszam na sesję o tej technologii, którą będę miał przyjemność prowadzić w ramach 15. spotkania Warszawskiej Grupy Użytkowników i Specjalistów Windows (11325/Comments.aspx" target="_blank">http://wss.pl/CalendareventList/1,11325/Comments.aspx). Zapraszam!

____________
Pozdrawiam
foks@wss.pl | http://sysblog.pl
Odwiedź stronę WGUiSW
pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.