У цій статті ми познайомимося з основними змінами, які торкнулися технології 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-мережі.