В этой статье мы познакомимся с основными изменениями, которые коснулись технологии 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. Проще всего это сделать с помощью 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).
Осталось применить политики на клиентах и перезапустить службу BrachCache:
Restart-Service PeerDistSvc
Проверим статус BrachCache
Get-BCStatus
Убедимся, что клиенты увидели выделенный hosted cache сервер и настроены на его использование.
Теперь в случае открытия любым пользователем данных из общей папки на центральном файловом сервере, они автоматически будут кэшироваться на сервере филиала и в дальнейшем при попытке открыть этот же файл, другие пользователи будут получать локальную копию данных, не прокачивая их заново по WAN-сети.