BranchCache в Windows Server 2012

У цій статті ми познайомимося з основними змінами, які торкнулися технології BranchCache в Windows Server 2012 і Windows 8, а також розглянемо практичний приклад розгортання інфраструктури BranchCache.

Що таке BranchCache

Коротенько нагадаємо, про те, що ж за звір такий BranchCache. Отже, BranchCache (BC) це технологія, яка вперше була представлена ​​в Windows Server 2008 R2 і Windows 7. Технологія дозволяє мінімізувати трафік між віддаленим офісом і центральними файл - серверами, розташованими в центральному офісі / дата центрі компанії. Виглядає це приблизно так: при доступі користувача філії до нікому файлу на центральному файл (веб) сервері з активним з'єднанням BranchCache, він автоматично кешируєт даний файл і при наступній спробі комп'ютера з цього ж сайту відкрити цей же файл, він отримує його ні з центрального файлового сервера, а з локального кеша (з робочої станції або сервера всередині LAN мережі філії). Тим самим мінімізується трафік на WAN каналі і збільшується швидкість доставки контенту користувачеві. Природно, максимальна продуктивність BranchCache в Windows досягається при роботі зі статичними даними великого розміру. BranchCache дозволяє здійснювати кешування даних, переданих по протоколах SMB і HTTP / HTTPS.

BranchCache може працювати в двох режимах.

  • Hosted cache mode - кешування здійснюється на кілька виділених серверах філії, які називаються hosted cache серверами.
  • Distributed cache mode - розподілений режим, в якому кешування здійснюється на звичайних робочих станціях філії. Такий режим роботи можливо використовувати в невеликих філіях, в яких відсутня виділений сервер

Що нового в BranchCache в Windows Server 2012 / Windows 8

Розглянемо основні нововведення, які з'явилися в технології Branch Cache в новій платформі Microsoft (Windows Server 2012 + Windows 8).

  • Прибрали обмеження на кількість виділених серверів hosted cache в філії
  • Не має потреби створювати окрему групову політику (GPO) BranchCache для кожного сайту
  • На виділених кешуючих серверах сертифікати тепер встановлювати не потрібно
  • Клієнти можуть автоматично вибирати між режимами роботи BC (розподілене кеш або з виділеним сервером)
  • Кеш за замовчуванням шифрується (BitLocker)
  • Підвищено продуктивність за рахунок використання в тому числі можливостей дедуплікаціі даних в windows 2012
  • З'явилася можливість предзагрузкі кеша (можливо заздалегідь закешовану певні дані)
  • Для зберігання даних BranchCache тепер використовується механізм ESE (MicrosoftJet, що лежить в основі багатьох інфраструктури баз MS, в тому числі в основі БД Exchange), що забезпечує підвищену продуктивність і масштабованість

Нова версія BranchCache працює на Windows 8 Professional (Enterprise) і на всіх редакціях Windows Server 2012 (в тому числі Core).

Налаштування BranchCache в мережі на базі Windows Server 2012 і Windows 8

Розберемо практичний приклад використання технології BranchCache з виділеним кеш-сервером (режим hosted cache).

Припустимо, у нас є домен з двох сайтів - "Центральний", "Регіональний". У центральному філії знаходиться якийсь файл сервер, з яким працюють користувачі філії. В мережі філії знаходиться окремий сервер, який, в тому числі, можливо задіяти під завдання кешування даних (hosted cache). Передбачається, що всі сервери працюють під управлінням Windows Server 2012, а на клієнтах варто Windows 8 Pro.

Примітка. Для коректної роботи BranchCache необхідно правильно налаштувати сайти Active Directory і їх підмережі.

Налаштування центрального файлового сервера

Встановимо на центральному файловому сервері компонент BranchCache. Найпростіше це зробити за допомогою Powershell:

Install-WindowsFeature FS-BranchCache -IncludeManagementTools

Після чого сервер необхідно перезавантажити:

Restart-Computer

Наступний крок - необхідно включити на файловому сервері генерацію хешів для даних в загальних папках. Зробити це можна за допомогою групової політики, яку необхідно застосувати до файловому серверу.

розгорніть розділ Computer Configuration -> Policies -> Administrative Templates -> Network -> Lanman Server і активуйте політики: Hash Publication for BranchCache і Hash Version support for BranchCache.

Застосуйте дану політику до файловому серверу:

gpupdate / force

Потім за допомогою GUI активуємо BranchCache для обраної загальної папки (у властивостях кулі досить відзначити опцію "Enable BranchCache").

На цьому операції з центральним північчю завершені, а ми переходимо до налаштування інфраструктури BranchCache в мережі філії.

Налаштування кешируючого сервера BranchCache на Windows 2012

Отже, ми вирішили задіяти один з серверів філії (на Windows Server 2012) в якості кешуючого BranchCache. Природно, ми маємо на увазі, що даний сервер не є виділеним під цю задачу, а поєднує її з одного продуктивних функцій. Встановимо модуль BranchCache наступної командної Powershell:

Install-WindowsFeature BranchCache -IncludeManagementTools

Далі необхідно вказати, що сервер буде працювати в режимі виділеного сервера BC (Hosted Server): У тому випадку, якщо сервер включений в домен Active Directory, виконайте команду, яка в тому числі активує автоматичне визначення клієнтів BranchCache:

Enable-BCHostedServer -RegisterSCP

Якщо сервер не в домені, виконайте:

Enable-BCHostedServer

Перевірити, що все пройшло успішно і даний сервер може працювати в якості кешуючого BranchCache, виконайте команду:

Get-BCStatus

Команда повинна повернути приблизно наступне:

І трохи нижче:

Налаштування клієнтів Branch Cache на Windows 8

Переходимо до налаштувань комп'ютерів філії з ОС Windows 8, які будуть користуватися перевагами технології BranchCache. Як завжди, найпростіше це зробити за допомогою групової політики. Створіть і прілінкуйте політику до OU з комп'ютерами філії (у разі потреби можна відмежувати застосування політик, включивши wmi фільтрацію).

Відкрийте редактор політики і перейдіть в розділ: Computer Configuration -> Policies -> Administrative Templates -> Network -> BranchCache і активуйте наступні політики:

  • Turn on BranchCache
  • Set BranchCache Disributed Cache Mode
  • Enable Automatic Hosted Cache Discovery by Service Connection Point

Включивши одночасно "Distributed cache mode" і "Automatic hosted cache discovery", ми відправимо клієнтів шукати сервер hosted cache в Active Directory. Вони повинні виявити локальний кешуючий сервер BC, а якщо такий відсутній - задіяти механізм розподіленого кешу (distributed mode).

Примітка. У тому випадку, якщо на клієнтах включений файервол Windows, необхідно політикою дозволити вихідний і вхідний трафік BranchCache - правила  Content Retrieval (Uses HTTP) і BranchCache - Peer Discovery (Uses WSD)

Залишилося застосувати політики на клієнтах і перезапустити службу BrachCache:

Restart-Service PeerDistSvc

Перевіримо статус BrachCache

Get-BCStatus

Переконаємося, що клієнти побачили виділений hosted cache сервер і налаштовані на його використання.

Тепер у разі відкриття будь-яким користувачем даних із загальної папки на центральному файловому сервері, вони автоматично будуть кешуватися на сервері філії і надалі при спробі відкрити цей же файл, інші користувачі будуть отримувати локальну копію даних, які не прокачувати їх заново по WAN-мережі.