branchcache windows 10 что это
Управление BranchCache в Windows Server Essentials
применимо к: Windows Server 2016 essentials, Windows Server 2012 R2 essentials, Windows Server 2012 Essentials
BranchCache помогает оптимизировать использование интернета, повысить производительность сетевых приложений и снизить объем трафика в глобальной сети (WAN), когда сервер Windows server Essentials находится удаленно из офиса или когда клиентские компьютеры, подключенные к локальному серверу, используют облачные ресурсы, такие как SharePoint интернет-библиотеки.
если служба BranchCache включена, то когда клиентский компьютер запрашивает содержимое с удаленного сервера Windows server Essentials, содержимое кэшируется в локальном офисе. После этого остальные компьютеры в этом офисе могут получать данные локально, а не загружать их с сервера по глобальной сети. Это может увеличить производительность сетевых приложений и снизить нагрузку на глобальную сеть.
независимо от того, является ли сервер Windows server Essentials локальным или удаленным, BranchCache может увеличить время отклика для общих папок сервера и веб-содержимого, размещенного на сервере (например, SharePoint библиотек в интернете).
Поскольку для развертывания BranchCache не нужно дополнительное оборудование или изменение топологии сети, эта служба представляет собой простое решение для оптимизации использования пропускной способности и сокращения времени отклика служб и приложений, доступ к которым осуществляется по глобальной сети.
Сценарии использования BranchCache
Существует три основных сценария использования BranchCache с удаленным сервером.
сервер Windows server Essentials размещается в Microsoft Azure.
сервер Windows server Essentials размещается в центре данных стороннего поставщика услуг.
сервер Windows server Essentials находится в другом офисе в другом физическом расположении.
Режим распределенного кэша
в Windows Server Essentials функция branchcache реализована в режиме распределенного кэша— один из двух режимов кэширования, доступных в BranchCache. В режиме распределенного кэша кэш содержимого в филиале распределяется между клиентскими компьютерами. Поскольку в этом случае дополнительное оборудование и изменение топологии не требуются, этот режим больше подходит для небольших офисов, где для доступа к облачным службам, таким как SharePoint Online, используется удаленный сервер или локальный сервер. при включении BranchCache в Windows Server Essentials реализуется режим распределенного кэша.
В крупных филиалах с несколькими подсетями или большим количеством сотрудников, работающих с сетевыми приложениями, может быть целесообразно реализовать BranchCache в режиме размещенного кэша. В режиме размещенного кэша кэш содержимого размещается в филиале на одном или нескольких серверах размещенного кэша.
Требования
чтобы использовать BranchCache в Windows server Essentials, сервер и клиентские компьютеры должны удовлетворять следующим требованиям.
сервер должен работать под управлением операционной системы Windows server Essentials или среды Windows Server 2012 R2 Standard или Windows Server 2012 R2 datacenter с ролью Windows server Essentials.
в Windows Server 2012 r2 Standard или Windows Server 2012 r2 datacenter Server служба BranchCache добавляется при добавлении роли Windows Server Essentials. чтобы включить BranchCache, необходимо войти на панель мониторинга Essentials Windows Server с учетными данными администратора домена.
клиентские компьютеры должны работать под управлением Windows 7 Корпоративная, Windows 7 Максимальная, Windows 8 Корпоративная или Windows 8.1 Корпоративная операционной системы.
В режиме распределенного кэша все клиентские компьютеры должны находиться в одной подсети.
Если клиентские компьютеры подключены к серверу Windows Server Essentials без присоединения к домену, они исключаются из кэширования по умолчанию. Чтобы включить в кэширование клиентский компьютер, который не присоединен к домену, выполните командлет Enable-BCDistributed Windows PowerShell на этом компьютере. Дополнительные сведения см. в разделе Командлеты BranchCache в Windows PowerShell.
Включение BranchCache
чтобы включить BranchCache в режиме распределенного кэша, просто нажмите кнопку на панели мониторинга Essentials Windows Server. Кэширование начинается немедленно и процесс полностью прозрачен.
Включение BranchCache в Windows Server Essentials
войдите на сервер Windows server Essentials с помощью учетной записи администратора.
На панели мониторинга Windows Server Essentials щелкните Параметры.
Откроется мастер настройки параметров.
Щелкните BranchCache.
На странице Параметры BranchCache нажмите кнопку Включить.
Включение и отключение BranchCache с помощью Windows PowerShell
С помощью Windows PowerShell можно проверять состояние BranchCache (включено или отключено) и включать или отключать BranchCache.
Включение и отключение BranchCache с помощью Windows PowerShell
На сервере откройте Windows PowerShell от имени администратора. На начальной странице щелкните правой кнопкой мыши Windows PowerShell, а затем выберите Запуск от имени администратора и нажмите кнопку Да.
В командной строке введите один из следующих командлетов.
Чтобы проверить состояние BranchCache (служба включена или отключена), введите:
Руководство по развертыванию BranchCache
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016
Вы можете использовать это руководство, чтобы узнать, как развертывать BranchCache в Windows Server 2016.
Помимо этого раздела, в этом руководстве содержатся следующие разделы.
Общие сведения о развертывании BranchCache
BranchCache — это технология оптимизации пропускной способности глобальной сети (WAN), включенная в некоторые выпуски Windows Server 2016, Windows server® 2012 R2, Windows Server® 2012, Windows Server® 2008 r2 и связанные Windows клиентские операционные системы.
Для оптимизации пропускной способности глобальной сети служба BranchCache копирует данные с серверов содержимого главного офиса и помещает их в кэш на компьютерах филиала, что позволяет обеспечить для клиентских компьютеров в филиалах локальный доступ к данным вместо доступа по глобальной сети.
в филиалах содержимое кэшируется на серверах, на которых выполняется функция BranchCache Windows Server 2016, Windows Server 2012 r2, Windows Server 2012 или Windows Server 2008 R2 — или, если в филиале нет доступных серверов, содержимое кэшируется на клиентских компьютерах, являющихся единицами ннинг Windows 10®, Windows® 8,1, Windows 8 или Windows 7®.
После того как клиентский компьютер запрашивает и получает содержимое из основного или облачного центра обработки данных, а содержимое кэшируется в филиале, другие компьютеры в том же филиале могут получить содержимое локально, а не обращаться к серверу содержимого по каналу WAN.
Преимущества развертывания BranchCache
BranchCache кэширует файлы, веб-приложения и содержимое приложений в филиалах, что позволяет клиентским компьютерам получать доступ к данным через локальную сеть (LAN), а не к содержимому через медленные подключения WAN.
BranchCache сокращает трафик WAN и время, необходимое для пользователей филиала по открытию файлов в сети. BranchCache всегда предоставляет пользователям самые последние данные и обеспечивает защиту содержимого путем шифрования кэшей на сервере размещенного кэша и на клиентских компьютерах.
Содержание руководства
Это руководство по развертыванию позволяет развертывать BranchCache в следующих режимах:
Режим распределенного кэша. В этом режиме клиентские компьютеры филиала загружают содержимое с серверов содержимого в основном офисе или в облаке, а затем кэшируют содержимое для других компьютеров в том же филиале. В режиме распределенного кэша не требуется серверный компьютер в филиале.
Режим размещенного кэша. В этом режиме клиентские компьютеры филиала загружают содержимое с серверов содержимого в основном офисе или в облаке, а сервер размещенного кэша извлекает содержимое с клиентов. Затем сервер размещенного кэша кэширует содержимое для других клиентских компьютеров.
В этом руководство также приводятся инструкции по развертыванию трех типов серверов содержимого. Серверы содержимого содержат исходное содержимое, которое загружается клиентскими компьютерами филиала, а для развертывания BranchCache в любом режиме требуется один или несколько серверов содержимого. Типы серверов содержимого:
Серверы содержимого на основе веб-сервера. Эти серверы содержимого отправляют содержимое на клиентские компьютеры BranchCache с помощью протоколов HTTP и HTTPS. эти серверы содержимого должны работать под управлением Windows Server 2016, Windows Server 2012 r2, Windows Server 2012 или Windows Server 2008 r2 версии, поддерживающей branchcache и установленной функции branchcache.
Серверы приложений на основе BITS. Эти серверы содержимого отправляют содержимое на клиентские компьютеры BranchCache с помощью фоновая интеллектуальная служба передачи (BITS). эти серверы содержимого должны работать под управлением Windows Server 2016, Windows Server 2012 r2, Windows Server 2012 или Windows Server 2008 r2 версии, поддерживающей branchcache и установленной функции branchcache.
Серверы содержимого на основе файлового сервера. эти серверы содержимого должны работать под управлением Windows Server 2016, Windows Server 2012 r2, Windows Server 2012 или Windows server 2008 r2 версии, поддерживающей BranchCache и установленной роли сервера файловых служб. Кроме того, необходимо установить и настроить службу роли BranchCache для сетевых файлов роли сервера файловых служб. Эти серверы содержимого отправляют содержимое на клиентские компьютеры BranchCache с помощью протокола SMB.
Требования к развертыванию BranchCache
Ниже приведены требования к развертыванию BranchCache с помощью этого руководством.
для обеспечения функциональных возможностей BranchCache на серверах и веб-содержимом необходимо запустить одну из следующих операционных систем: Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 или Windows Server 2008 R2. клиенты Windows 8 и более поздних версий по-прежнему видят преимущества BranchCache при доступе к серверам содержимого под управлением Windows Server 2008 r2, однако они не могут использовать новые технологии создания блоков и хэширования в Windows Server 2016, Windows Server 2012 R2 и Windows Server 2012.
клиентские компьютеры должны работать Windows 10, Windows 8.1 или Windows 8, чтобы использовать самую последнюю модель развертывания, а также улучшения фрагментирования и хэширования, появившиеся в Windows Server 2012.
серверы размещенного кэша должны работать Windows Server 2016, Windows Server 2012 R2 или Windows Server 2012, чтобы использовать улучшения развертывания и функции масштабирования, описанные в этом документе. компьютер, работающий под управлением одной из этих операционных систем, настроенный в качестве сервера размещенного кэша, может продолжать обслуживать клиентские компьютеры, работающие Windows 7, но для этого он должен иметь сертификат, подходящий для протокола tls, как описано в разделе Windows server 2008 R2 и Windows 7 BranchCache Deployment Guide.
Домен Active Directory необходим, чтобы воспользоваться преимуществами групповая политика и автоматического обнаружения размещенного кэша, но для домена не требуется использовать BranchCache. Можно настроить отдельные компьютеры с помощью Windows PowerShell. кроме того, не требуется, чтобы контроллеры домена работали Windows Server 2012 или более поздней версии, чтобы использовать новые параметры групповая политика BranchCache. вы можете импортировать административные шаблоны BranchCache на контроллеры домена, работающие под управлением операционных систем более ранних версий. кроме того, можно выполнить удаленное создание объектов групповой политики на других компьютерах, работающих под управлением Windows 10, Windows Server 2016, Windows 8.1, Windows Server 2012 R2, Windows 8 или Windows Server 2012.
Active Directory сайты используются для ограничения области серверов размещенного кэша, которые обнаруживаются автоматически. Для автоматического обнаружения сервера размещенного кэша клиентские и серверные компьютеры должны принадлежать одному сайту. BranchCache предназначен для минимального воздействия на клиенты и серверы и не требует дополнительных требований к оборудованию, помимо тех, которые необходимы для работы соответствующих операционных систем.
Журнал и документация по BranchCache
служба BranchCache впервые появилась в Windows 7® и Windows Server® 2008 R2 и была улучшена в Windows Server 2012, Windows 8 и более поздних операционных системах.
при развертывании BranchCache в операционных системах, отличных от Windows Server 2016, доступны следующие ресурсы документации.
Настройка BranchCache для обновлений клиентов Windows
Относится к:
BranchCache— это компонент для оптимизации пропускной способности, впервые появившийся в операционных системах Windows Server 2008 R2 и Windows 7. Каждый клиент имеет кэш и выполняет роль альтернативного источника содержимого, которое запрашивают устройства в собственной сети этого клиента. Windows Server Update Services (WSUS) и Microsoft Endpoint Manager могут использовать BranchCache для оптимизации пропускной способности сети во время развертывания обновлений, и их легко настроить для любого из них. BranchCache может работать в двух режимах: режим распределенного кэша и режим размещенного кэша.
Режим распределенного кэша работает как функция оптимизации доставки в клиенте Windows: каждый клиент содержит кэшируемую версию файлов с поддержкой BranchCache, которые он запрашивает, и выступает в качестве распределенного кэша для других клиентов, запрашивающих этот же файл.
Режим распределенного кэша предпочтительнее режима hosted Cache для обновления Windows для получения наибольшей выгоды от одноранговой рассылки.
В режиме размещенного кэша определенные серверы в определенных расположениях выполняют роль кэша для файлов, запрашиваемых локальными клиентами. Затем не клиенты получают файлы из скрытого источника, а сервер размещенного кэша предоставляет содержимое от своего имени.
Подробнее о принципах работы режимов распределенного и размещенного кэша см. в разделе Обзор BranchCache.
Настройка клиентов для BranchCache
Независимо от того, используете ли вы BranchCache с Configuration Manager или WSUS, каждый клиент, использующий BranchCache, необходимо соответствующим образом настроить. Обычно настройка выполняется через групповую политику. Инструкции по пошаговому использованию групповой политики для настройки BranchCache для Windows клиентов см. в руководстве По настройке клиентов в Руководстве по раннему усыновению BranchCache.
В Windows 10 версии 1607 агент Центра обновления Windows использует оптимизацию доставки по умолчанию, даже при получении обновлений от WSUS. При использовании BranchCache с Windows клиентом просто установите режим оптимизации доставки для обхода, чтобы позволить клиентам использовать протокол Background Intelligent Transfer Service (BITS) с BranchCache вместо этого. Инструкции по использованию BranchCache в режиме распределенного кэша с WSUS см. в разделе «WSUS и Configuration Manager с BranchCache в режиме распределенного кэша».
Настройка серверов для BranchCache
Вы можете использовать WSUS и Configuration Manager с BranchCache в режиме распределенного кэша. BranchCache в режиме распределенного кэша легко настроить как для WSUS, так и для Microsoft Endpoint Configuration Manager.
Кроме этих действий есть одно условие, без выполнения которого WSUS не сможет использовать BranchCache в обоих режимах: сервер WSUS необходимо настроить для локального скачивания обновлений на сервер в общую папку. Так вы сможете выбрать публикацию BranchCache для общей папки. Что касается Configuration Manager, то вы можете включить BranchCache на точках распределения. Для режима распределенного кэша не требуется дополнительной настройки сервера.
Configuration Manager поддерживает только режим распределенного кэша.
Технология BranchCache в Windows
Что такое BranchCache?
BranchCache — это одно из новшеств операционной системы Windows 7, а так же серверной ОС Windows Server 2008 R2. Так же данная технология доступна на более поздних системах линейки Windows. Данная технология ускоряет доступ из филиалов компании к файловым или веб-серверам, которые расположены в головном офисе. Выигрыш в скорости доступа связан с тем, что однажды считанные данные из головного офиса сохраняются в кэше локальной сети филиала. При следующем запросе пользователь получит данные из кэша в локальной сети. А скорость доступа к ресурсам в локальной сети много выше, чем скорость обращения к удаленным файлам, к которым необходимо достучаться через относительно медленное Интернет-соединение.
Как работает технология BranchCache?
Режимы работы технологии BranchCache
Технология BranchCache способна работать в двух режимах:
В зависимости от режима работы технологии BranchCache отличается и место хранения кэша BranchCache. В первом случае, весь кэш хранится на сервере, который расположен в филиале. На сервере должна быть установлена операционная система Windows Server R2 или позднее и настроена должным образом. Все данные, которые клиент получает из головного офиса, в скором времени переползают в кэш данного сервера. И в случае совпадения оригинала с копией в кэше, пользователь получит данные с локального сервера, а не с удаленного.
Если же филиал работает в режиме распределенного кэша, то весь кэш хранится на локальных машинах. Причем на каждой машине остаются те данные, которые были скачены непосредственно этой машиной. При каждом запросе к головному серверу, клиент опрашивает все компьютеры в локальной сети на предмет наличия вызываемого файла. Если он имеется, происходит сверка. Если сверка дает добро, то соседский комп передает нужную информацию клиенту.
На каких операционных системах есть технология BranchCache?
Я уже отвечал на данный вопрос, но сейчас отвечу более точно. Технология BranchCacheдоступна на серверах под управлением Windows Server R2 или позднее. Если в филиале нет такого сервера или в целях производительности не хочется навешивать на сервер еще одну задачу, то необходимо воспользоваться режимом распределенного кэша.
Технология BranchCache так же доступна на клиентских операционных системах Windows 7 Enterprize и Ultimate, а так же на более поздних системах, таких как Windows 8. При этом сохраняется тенденция, по которой данная технология доступна только на двух самых «продвинутых» изданиях. Независимо от того, в каком режиме работает BranchCache, работать он будет только на этих операционных системах.
Когда имеет смысл использовать технологию BranchCache?
Как уже говорилось, технология BranchCache работает только на файловых или веб-серверах. А все потому, что использование кэша актуально только в тех случаях, когда запрашиваются относительно статические файлы. Идеальное использование BranchCache — его использование на развлекательном файл-сервере. Музыка, кино, изображения и игры — это то, что не меняется со времени их появления на сервере. А значит соответствующий кэш в филиале будет обновляться очень редко.
BranchCache в Windows 10 и Server 2016
Ранее я уже написал две статьи по BranchCache – про BranchCache в изначальном варианте и про BranchCache в Windows Server 2012 R2 и Windows 8.1. Эта статья будет про новую версию – BranchCache в Windows 10 и в Windows Server 2016 – а также будет включать в себя более глубокий материал, чем по предыдущей версии.
На данный момент с BranchCache в Windows 10 сложилась странная ситуация – “новый функционал” про то, что “Ваша ОС теперь может скачивать обновления не только с Интернета, но и с соседних компьютеров!” подаётся как ультрановая фича со стороны Microsoft, а со стороны злопыхателей этот же функционал подаётся как “вот видите, злобная Windows 10 шарит по соседним компам со смутными целями, дескать обновления качает, но мы-то знаем что всё совсем не так!”. Всё это – про функционал, который есть ещё с Vista, достаточно несложный, предсказуемый, и при должной настройке очень эффективный. Давайте разберёмся в данной технологии, а заодно прикопаем один из мифов про Страшно Ворующую Данные Винду.
Предварительная подготовка
Я постараюсь разобрать полноценную процедуру развёртывания BranchCache, чтобы не было как на авторизованных курсах – “установите компонент с таким названием и дальше оно как-то само”. Это не наши методы! 🙂
Оглавление
Что такое BranchCache
Требования BranchCache к операционной системе
Сценарии BranchCache
Роли участников в BranchCache
Развёртывание BranchCache
BranchCache на клиентских ОС
Разрешаем трафик BranchCache на клиентах
Включаем Offline Files для BranchCache
и сразу же настроим шифрование папки Offline Files (параметр Encrypt the Offline Files cache) – оно не помешает:
Теперь настроим BITS.
Включаем BITS для BranchCache
Без правильно настроенного BITS работа в варианте Distributed Cache не будет возможна, т.к. именно в BITS настраивается работа сервиса PeerCache. Зайдём в Computer Configuration / Administrative Templates / Network / Background Intelligent Transfer Service и включим Allow BITS peercaching:
ОК, сам механизм PeerCache мы включили – теперь надо указать, какую роль может играть эта клиентская система – и предоставлять контент и запрашивать его, или что-то одно? Плюс, сразу же укажем, что нам надо ограничить полосу пропускания у механизма PeerCache – выберем 52428800 bps (это 50 mbit/sec). Учитывайте, что по умолчанию BITS использует максимум 30% полосы пропускания самого медленного интерфейса – это значит, что если на рабочей станции работает WiFi или Bluetooth, то будет скачиваться максимум 0.3*текущую скорость самого медленного из них, что может быть крайне мало. 50 mbit/sec же – это половина обычного LAN-интерфейса, и никак не навредит, допустим, доступу в Интернет или WAN-ресурсы предприятия. Включаем и настраиваем по порядку, вначале параметр Do not allow the BITS client to use Windows Branch Cache:
и Do not allow the computer to act as a BITS Peercaching client:
Включаем возможность отдачи контента в сценарии Distributed Cache (параметр Do not allow the computer to act as a BITS Peercaching server)- если в сети будет выделенный сервер Hosted Cache, то этот пункт надо наоборот выключить:
И устанавливаем максимальную полосу пропускания для PeerCache (параметр Limit the maximum network bandwidth used for Peercaching):
Теперь настроим размер и логику работы локального кэша BranchCache.
Настраиваем локальный кэш BranchCache на клиентах
Размер локального кэша BranchCache – важная штука, потому что он откусывает проценты пространства на том диске, который помечен как system (т.е. где %WINDIR%). По умолчанию он 1%, максимальный лимит – 80%, мы выставим в 5%. Почему это важно? Думаю, вы хорошо помните Update Rollup’ы для Windows 8.1, каждый из которых – по 800 с лишним мегабайт. Конечно же удобно, чтобы такое обновление раздавалось в локальной сети без загрузки WAN-канала – поэтому надо обеспечить, чтобы оно помещалось в кэш. Вы можете подобрать любое значение, учитывая минимальный размер системного раздела на рабочих станциях (параметр Limit the BITS Peercache size).
Устаревание блоков в кэше – тоже важный момент. По сути, особого смысла стирать старые блоки нет – но может быть такая ситуация, когда данные действительно нужны недолго – например, кэшируются часто изменяющиеся документы с корпоративного портала SharePoint (ежедневный прайс-лист и список товарных позиций), или количество абонентов невелико (3-5 локальных ноутбуков, которые ставят обновления автоматически). В этом случае можно снизить время жизни блоков в кэше до 30 дней, а то и ниже – мы же выставим (параметр Limit the age of files in the BITS Peercache) долгоживущий вариант, подходящий для большой сети – 120 дней.
Ну а теперь, настроив все подсистемы, включим на клиенте сам BranchCache.
Включаем BranchCache на клиентах
Включение самого компонента несложно и делается опять же через групповые политики (параметр Turn on BranchCache):
Эта настройка включит BranchCache именно как клиентский сервис – т.е. он включится даже на серверах, которые подпадут под неё. Поэтому будьте осмотрительны – настройка именно для клиентов, не включайте её глобально на домене, потому что во многих сценариях она не нужна (допустим, серверам в DMZ или edge-системам).
Теперь настроим версию BranchCache – это важная настройка, тут можно остановиться поподробнее
Настраиваем версию BranchCache для клиентов
В начале статьи я уже расскажывал, что BranchCache работает с разными блоками данных. В первой версии (это Windows Server 2008 R2 / Windows 7 Enterprise, и Vista с установленным BITS 4.0) данные разбивались на фиксированные блоки по 64К, от которых брался хэш, а пачка блоков называлась сегментом и тоже обладала своим хэшем. Это достаточно крупное разбиение, да и реализация этой схемы обладала неприятной деталью – в случае изменений в середине большого файла, надо было докачать не только фактически изменённый блок в 64К, но и все последующие. Что, конечно, резко снижало КПД технологии в случае сценария “часто обновляем файл, в котором правится какая-то мелочь в середине”. Этот вариант хэша называется первой версией – BranchCache V1.
В Windows Server 2012 / Windows 8 ситуация поменялась. Теперь файлы разделяются на блоки динамически, используя тот же алгоритм, что и во встроенной в Windows Server 2012 дедупликации – Rabin fingerprint. Суть достаточно проста – границы блоков подбираются исходя из контента, и количество совпадений хэша резко возрастает в отличии от ранней схемы с фиксированным размером блока в 64К. Блоков становится больше (обычно они по 16К-32К, и до 128К), но при каждом изменении надо закачать гораздо меньше данных (КПД вырастает в 3-4 раза только за счёт того, что уменьшился размер блока, а дополнительно вырастает ещё больше, потому что теперь не надо скачивать весь “хвост” файла после изменений). Также появляется эффект от синергии с дедупликацией (про это чуть дальше). Это – BranchCache V2.
Данные могут отправляться от сервера к клиенту только или в V1, или в V2, поэтому вам надо выбрать в явном виде, какой подойдёт. Иначе ваш продвинутый клиент на базе, допустим, Windows 8.1, закэширует ответ сервера, которым не сможет поделиться с системой на базе Windows 7. На момент написания этой статьи нет способа обновить BITS на Windows Server 2008 R2 / Windows 7 до версии 5.0, поэтому если в сети есть машины ниже NT 6.2, и им надо использовать BranchCache, вам придётся выбрать первый вариант. Эта настройка (параметр Configure Client BranchCache Version Support), по сути, возможность downgrade версии для старших систем. У серверов будет своя настройка “какие варианты хэшей отдавать”, она другая.
Теперь выберем между Distributed Cache и Hosted Cache.
Настраиваем режим работы BranchCache для клиентов
Клиенту надо явно указать – будет ли он, при включённом BranchCache, искать контент по соседям в своей локальной сети, или обратится к выделенному серверу. В первом случае мы включим параметр Set BranchCache Distributed Cache mode и на этом настройка режима работы закончится:
В варианте же “Использовать выделенный сервер Hosted Cache” ситуация будет различной для различных клиентских ОС. В случае NT 6.1 (Windows 7 / Windows Server 2008 R2 / примкнувшая к ним Vista) надо будет включить использование выделенного сервера параметром Set BranchCache Hosted Cache mode, явно указав его FQDN:
В новом варианте BranchCache, начиная с Windows 8 и Windows Server 2012, ситуация другая – появилось автообнаружение серверов Hosted Cache и теперь сервер BranchCache может опубликовать в Active Directory свой SCP (Service Connection Point) и клиенты автоматически найдут ближайший к себе. Это гораздо удобнее и настраивается через параметр Enable Automatic Hosted Cache Discovery by Service Connection Point:
Можно, кстати, и задать сервер в явном виде, как в предыдущей версии BranchCache – теперь это тоже стало удобнее и можно задать целый список (параметр Configure Hosted Cache Servers):
Учтите, что данные параметры для разных версий BranchCache не пересекаются – Windows 7 Enterprise будет читать свои, а Windows 8 / Windows 8.1 / Windows 10 – свои.
Что ж, клиент настроен – теперь посмотрим, как включать раздачу контента BranchCache на различных типах серверов.
BranchCache на файл-сервере
Файл-сервером с точки зрения BranchCache будет любая система, на которой есть общие папки и произведены нужные настройки. Сразу же хочу предупредить, что включать BranchCache на серверах просто так – не нужно, потому что добавление в ответ клиенту списка хэшей увеличивает сетевой трафик, и если клиент не понимает этих данных, то доступ к файлам лишь замедлится. Притом первичный доступ замедлится достаточно заметно – представьте себе, что на общей папке лежит большой файл в несколько гигабайт – вот при первом обращении к нему надо будет (если файловая система, на которой он лежит, не ReFS – там это уже сделано) посчитать хэши всех его блоков и для начала отправить клиенту этот дайджест.
Ставим компонент BranchCache for Network Files
Данный компонент отвечает за дополнительную функциональность для SMB shares. Добавить его просто, он внутри базовой роли File and Storage Services:
После его добавления включим отправку BranchCache-хэшей на новой общей папке, используя интерфейс Windows Server 2016:
Можно, безусловно, и просто включить на существующей – учитывайте только, что механизм включается на папке целиком, и будет возвращать BranchCache-данные при обращении к любому её элементу.
ОК, но это лишь включение – давайте настроим SMB-ресурс, чтобы BranchCache работал качественно и предсказуемо.
Настройка BranchCache на файл-сервере
Теперь выберем режим работы BranchCache – настройка позволит глобально включить BranchCache на всех общих папках, а не только на тех, которые указаны явно:
ОК, в общем всё – теперь настроим для другого вида контента, BITS / HTTP / HTTPS.
BranchCache на web-сервере
Здесь всё будет даже проще, чем с SMB.
Ставим компонент BranchCache для веб-сервера
Для работы с HTTP-содержимым нам надо будет установить на контент-сервер другой компонент:
После установки убедитесь, что сервис BranchCache запущен и работает:
Всё ОК – теперь BranchCache, если вы используете Distributed Cache, настроен – но если используете режим Hosted Cache, то теперь надо настроить сервера кэширования. Приступим.
Настройка выделенного сервера кэширования BranchCache – Hosted Cache
Настройка BranchCache Hosted Cache для Windows Server 2008 R2
В сценарии с выделенным сервером необходимо, чтобы сервер мог подтвердить свою подлинность клиентам. Это делается путём привязки одноги из сертификатов в локальном хранилище сервера к службе BranchCache. Сделать это несложно. Зайдите на сервер, который держит роль Hosted Cache, откройте локальное хранилище сертификатов для компьютера, выберете там тот, который содержит Server Authentication в поле EKU (c OID=1.3.6.1.5.5.7.3.1) – он будет доверенным для клиентов, выберите у него поле Thumbprint и скопируйте куда-нибудь хэш (например, в блокнот), а после выполните команду: netsh http add sslcert ipPort=IP-адрес, на котором слушаются запросы BranchCache : номер порта certhash=значение поля Thumbprint у сертификата appID=
Здесь appID – GUID службы BranchCache, а IP-адрес будет нужен только если вы не хотите, чтобы клиент с несколькими L3-интерфейсами работал по всем адресам – если хотите, то поставьте адрес 0.0.0.0. Теперь BranchCache “знает”, какой сертификат предъявлять клиентам, подключающимся по HTTPS для синхронизации содержимого.
Настройка BranchCache Hosted Cache для Windows Server 2012 R2 и Windows Server 2016
Тюнинг BranchCache
Базовое развёртывание со всеми деталями завершено – а теперь чуть-чуть про доп.настройки.
Смена номеров портов у BranchCache
Эта операция нужна для сценария Hosted Cache – и будет выполняться в два этапа – смена портов со стороны сервера и со стороны клиентов. Хитрость в том, что в Hosted Cache используются оба web-порта – и 80й, и 443й, но для разных задач – по 80му порту клиенты скачивают с сервера данные (т.н. “Retrieval Protocol Port”), а по 443му – заливают ему недостающие в его кэше блоки (т.н. “Hosted Cache Protocol Port”). Поэтому смена будет выглядеть так – со стороны сервера меняем значения этих ключей: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerDist\HostedCache\Connection\ и HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerDist\DiscoveryManager\Connection\ В каждом из них создаём параметр ListenPort типа DWORD32 и указываем новые значения – первый ключ отвечает за Hosted Cache Protocol, т.е. там тот порт, который вместо 443го, а второй ключ – за Retrieval Protocol, там тот порт, который вместо 80го. Менять можно и один – сервисы конфигурируются независимо. У клиентов ключи те же, но другой подключ: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerDist\HostedCache\Peers\Connection\ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PeerDist\DiscoveryManager\Peers\Connection\ Там создаём параметр ConnectPort типа DWORD и указываем новые номера портов. После всех этих манипуляций надо будет обязательно перезапустить сервис Branchcache – PeerDistSvc (и на клиентах, и на сервере), можно например так: net stop peerdistsvc && net start peerdistsvc
Дефрагментация кэша у сервера BranchCache
Ускорение первого ответа у контент-сервера BranchCache
Безопасность BranchCache
Поэтому для того, чтобы исключить возможность подделки данных со стороны недобросовестных клиентов (ведь клиент может в своём кэше поменять данные в блоке, пересчитать SHA-256 и в случае выхода на связь с сервером Hosted Cache и отсутствия у сервера этого блока, сервер заберёт его к себе и будет раздавать другим клиентам), нужно раздать всем серверам Hosted Cache разные секреты.
BranchCache и обновления для Windows 10
Ну вот, мы и добрались до страшных ужасов работы BranchCache для обновлений домашней Windows 10. Говоря просто, теперь BranchCache в Distributed Cache Mode может работать на домашней системе и в случае более чем одного хоста на Windows 10 дома вы просто получите ускорение скачивания обновлений – в случае, как понятно, если хосты в одной IP-сети.
Если вам этого не хочется – выключите этот сервис, да и всё. На клиентских ОС Windows его не получится удалить, т.к. он часть BITS – зато можно зайти в локальные настройки (через gpedit.msc) и выключить.
Думаю, дочитав до этого момента и поняв, что это за технология, вы сильно критичнее станете относиться к крикам про “тайные мистические непонятные схемы кражи данных”. Если копнуть каждое такое непонятное – в основе будет что-то вполне понимаемое, практичное и нужное для работы. Но, учитывая уровень современной IT-журналистики, да и большинства “икспертов” – безусловно, для самопиара лучше что-то погромче и пострашнее – на такое чаще кликают в Интернете.
Ну а так – сами видите, технология полезная и, в случае правильной настройки – очень эффективная.