wsus очистить историю синхронизации
Ускоряем работу WSUS
Свежеустановленный сервер обновлений WSUS через несколько лет эксплуатации превращается в неповоротливое чудовище. Клиенты медленно обновляются и долго ищут обновления, журналы WindowsUpdate.log пестрят ошибками HTTP, а администратор впадает в депрессию.
Вот несколько советов, которые могут во многих случаях значительно ускорить сервер.
1. Настройка IIS
2. Очистка базы
3. Переиндексация
4. Настройка TempDB
Настройка Internet Information Server
В конфигурации «по-умолчанию» пул приложений «WsusPool» незаслуженно обделён памятью. Это является главной причиной HTTP-ошибок сервера в журналах клиентов.
Чтобы прибавить процессу память, запустите оснастку IIS и откройте Advanced settings:
Установите в качестве лимита 0.
Очистка базы
В консоли WSUS можно запустить «Server Cleanup Wizard». Главный секрет в том, что запускать его надо регулярно, не реже одного раза в месяц.
Одобрили свежую пачку обновлений — очистите сервер. Если этого не делать, мастер прекращает нормально работать. После запуска он висит несколько часов, после чего консоль падает с ошибкой.
Для начала можно попробовать запускать каждый пункт по отдельности, сверху вниз:
Если это не помогает, надо выполнить очистку напрямую в базе. Для этого необходимо подключиться к экземпляру SQL Server инструментом Management Studio. Management Studio стала отдельным продуктом. Его можно скачать по этой ссылке.
Если вы используете Windows Internal Database, необходимо поставить Management Studio на сервер с WSUS. Для подключения к экземпляру используется строка:
Для очистки базы выполните 4 волшебные команды:
Для команды spCompressUpdate используется «обёртка»:
Такая же обертка для spDeleteUpdate:
Во время работы «обёрток» клиенты прекращают получать обновления. Вы можете в любой момент прервать выполнение скрипта без потери прогресса. Для того, чтобы продолжить процесс, не забудьте удалить временную таблицу:
В мастере очистки 5 команд, мы вполнили 4 из них. Команду «Delete computers not contacting server» следует выполнить из мастера.
Переиндексация базы
Для переиндексации базы используйте следующий скрипт:
Настройка TempDB
As a general rule, if the number of logical processors is less than or equal to 8, use the same number of data files as logical processors. If the number of logical processors is greater than 8, use 8 data files and then if contention continues, increase the number of data files by multiples of 4 (up to the number of logical processors) until the contention is reduced to acceptable levels or make changes to the workload/code.
Эту рекомендацию не следует игнорировать. Я останавливаюсь на четырех файлах. Начальный размер файлов должен быть одинаковым. После этого ожидания, как правило, исчезают.
Спасибо за внимание. Знаете еще какие-то фишки — делитесь!
Установка WSUS
До того, как производить оптимизацию WSUS, рекомендуем еще в процессе установки принять решение о некоторых параметрах установки. Итак, наши рекомендации:
MS SQL база данных вместо Windows Internal Database
Определитесь, в какой базе данных будет храниться WSUS. Рекомендации таковы:
Оптимизация WSUS
Настройка Internet Information Server
В конфигурации «по-умолчанию» пул приложений «WsusPool» настроен неоптимально. Давайте донастроим его. Для этого запустите оснастку IIS, откройте «Application pools», выберите WsusPool и откройте «Advanced settings»:
По умолчанию процессу w3wp.exe выделяется мало памяти. Давайте уберем лимиты:
В поле «Private Memory Limit (KB)» установите в качестве лимита 0
При большом количестве клиентов WSUS, особенно получающих обновления впервые, рекомендуем увеличить следующие параметры:
После изменения настроек перезагрузите сервер или только IIS. Для перезагрузки IIS выполните в командной строке от имени администратора:
iisreset
Настройка TempDB
Настройте базу TempDB: укажите количество файлов базы данных равным количеству [логических] процессоров на SQL сервере. Если количество процессоров больше 8, используйте 8 файлов в базе данных TempDB.
Microsoft рекомендует:
As a general rule, if the number of logical processors is less than or equal to 8, use the same number of data files as logical processors. If the number of logical processors is greater than 8, use 8 data files and then if contention continues, increase the number of data files by multiples of 4 (up to the number of logical processors) until the contention is reduced to acceptable levels or make changes to the workload/code.
Очистка WSUS
Для того, чтобы почистить WSUS (чтобы он начал работать или заработал быстрее), есть несколько средств:
Применять все эти средства рекомендуем по порядку: они перечислены в порядке от более слабых к более сильным средствам.
Штатные средства очистки в консоли Windows Server Update Services
Для чистки WSUS стандартными средствами:
Главный секрет состоит в том, что запускать Server Cleanup Wizard со всеми пунктами необходимо регулярно, не реже одного раза в месяц (или при одобрении большой пачки обновлений). Одобрили свежую пачку обновлений — очистите сервер. Если этого не делать, мастер прекращает нормально работать. После запуска он висит несколько часов, после чего консоль «падает» с ошибкой.
Для решения проблемы можно попробовать запускать каждый из перечисленных пунктов в Server Cleanup Wizard по отдельности. Если же и это не помогает, нужно переходить к другим средствам оптимизации WSUS.
Дефрагментация / реиндексация базы данных WSUS.
Подключение к Windows Internal Database
Ускорение работы WSUS с помощью чистки/оптимизации базы данных
Несколько советов, которые могут во многих случаях значительно ускорить сервер.
Очистка базы
Для очистки базы выполните 4 волшебные команды:
Отклонение «просроченных» обновлений:
Отклонение «устаревших» обновлений (взамен которых вышли другие обновления):
«Сжатие» обновлений (для команды spCompressUpdate используется «обертка»):
Удаление отклоненных обновлений (для команды spDeleteUpdate используется такая же «обертка»):
Во время работы «обёрток» клиенты прекращают получать обновления. Вы можете в любой момент прервать выполнение скрипта без потери прогресса. Для того, чтобы продолжить процесс, не забудьте удалить временную таблицу:
В мастере очистки WSUS 5 команд, мы вполнили 4 из них. Команду «Delete computers not contacting server» следует выполнить из мастера.
Переиндексация базы
Для переиндексации базы используйте следующий скрипт:
«Ручная» переиндексация базы данных:
Удаление неиспользуемых патчей
Есть несколько команд, призванных решить проблему с удалением неиспользуемых патчей:
WSUSDebug PurgeUnneededFiles
WsusDebugTool.exe /Tool:PurgeUnneededFiles
wsusdebugtool отдельная утилита и скачивается отдельно (под ОС с архитектурой х64 не работает). Как следует из описания, удаляются файлы, которые не нужны серверу WSUS.
WSUS Debug Tool: Run PurgeUnneededFiles command to Purge unneeded content. This command deletes all files not needed on the WSUS server.
WSUSUTIL Deleteunneededrevisions
WSUSUTIL.exe Deleteunneededrevisions
Команда чистки метаданных устаревших / ненужных обновлений из СУБД. Обратите внимание: эта команда должна выполняться после остановки сайта WSUS в консоли IIS.
Purges the metadata for unnecessary update revisions from the database. This is useful for managing WSUS with an MSDE database. (NOTE: this command should only be run after stopping the Windows Server Update Services website in Internet Information Services MMC.)
wsusutil reset
Как проверить факт завершения процесса?
Вам нужно открыть лог SoftwareDistribution.log (по умолчанию расположен в каталоге «C:\Program Files\Update Services\LogFiles»), в нем должны появиться строки вида:
ExecutionContext.runTryCode State Machine Reset Agent Starting ExecutionContext.runTryCode State Machine Reset Agent Finished WSUSUTIL.exe reset
***(NOTE: WSUSUTIL.exe is installed C:\Program Files\Update Services\Tools)
MOST IMPORTANT
The option «Download update files to this server only when updates are approved» must be checked / selected or else, it will re-download those «not needed» updates,during the next sychronization schedule.
Open WSUSAdmin Console – Click on «Options» – Click on «Synchronization Options» – Scroll down to «Update Files and Languages» Section – Click on «Advanced» – Click «OK» – Select «Download update files to this server only when updates are approved» – Click «OK» and save settings.
Диагностика WSUS
Ошибка 80244022 при обновлении windows
При этом не удается запустить консоль управления WSUS. Перезагрузка службы «WSUS service» не помогает, помогает только перезагрузка IIS и/или всего сервера (это помогает ненадолго).
Причиной зависания службы являются события в логах на сервере WSUS:
Event ID: 5117
Level: Information
Source: Microsoft-Windows-WAS
Description: A worker process serving application pool ‘WsusPool’ has requested a recycle because it reached its private bytes memory limit.
Event ID: 5002
Level: Error
Source: Microsoft-Windows-WAS
Description: Application pool ‘WsusPool’ is being automatically disabled due to a series of failures in the process(es) serving that application pool.
Здесь приводятся неверные решения данной проблемы:
Правильное решение описано здесь:
Ошибка 80244023 при обновлении windows
Эта проблема связана прежде всего со следующей проблемой: не открывается (или открывается через раз) сайт (wsus = имя сервера WSUS):
http://wsus:8530/
Если при открытии главной web-страницы WSUS отображается ошибка 403:
Service Unavailable
При попытке открытия сайта (wsus = имя сервера WSUS):
http://wsus:8530/
Выдается сообщение:
Service Unavailable HTTP Error 503. The service is unavailable.
При этом на клиентах при попытке обновления Windows появляются следующие сообщения об ошибках:
ошибка обновления 80244021
ошибка обновления 80244022.
И при попытке открытия консоли WSUS выдается ошибка с предложением «Reset server node».
Причиной являются следующие сообщения в логах Windows на WSUS сервере:
Event ID: 5117
Level: Information
Source: Microsoft-Windows-WAS
Description: A worker process serving application pool ‘WsusPool’ has requested a recycle because it reached its private bytes memory limit.
Event ID: 5002
Level: Error
Source: Microsoft-Windows-WAS
Description: Application pool ‘WsusPool’ is being automatically disabled due to a series of failures in the process(es) serving that application pool.
Решение этой проблемы описано в статье «Windows Server 2012 R2 WSUS Issue: Clients cause the WSUS App Pool to become unresponsive with HTTP 503». Для решения проблем, отображаемых в данных сообщениях об ошибках, необходимо произвести изменение (оптимизацию) настроек IIS, в т.ч. таких параметров как private memory, Queue Length, Maximum Failures, Maximum Failures и «Service Unavailable» Response Type. Оптимальные значения этих настроек см. в разделе «настройка Internet Information Services».
Если не открывается консоль WSUS
Часто задаваемые вопросы
Вопрос: Как немедленно начать обновление?
Ответ:
Вопрос: Как вернуть рабочие станции, удаленные с сервера?
Ответ: Решение простое: при следующей синхронизации клиентов с сервером они снова появятся (хотя, вроде в справке написано, что от таких клиентов запросы будут игнорироваться).
Вопрос: Где хранятся настройки оснастки «Windows Server Update Services»?
Ответ: %appdata%\Microsoft\MMC\wsus
Устранение неполадок с синхронизацией и импортом WSUS
Применяется к: Windows Server Update Services
Начиная с июля 2020 г. у пользователей возникли проблемы синхронизации и импорта WSUS с конечными точками обновления Windows (WU) или Microsoft Update (MU).
В этой статье описывается устранение некоторых распространенных проблем. Некоторые из этих методов устранения неполадок (например, захвата сети) можно использовать и для многих других проблем.
Конечные точки
В настоящее время WSUS использует следующие конечные точки для синхронизации метаданных:
Большинство серверов WSUS должны синхронизироваться с этой новой конечной точкой. Начиная с июля 2020 г. эта конечная точка принимает только подключения безопасности транспортного слоя (TLS) 1.2. Некоторые шифры были отключены.
Эта старая конечная точка будет в конечном итоге списана. Дополнительные сведения см. в рублях End of synchronization for WSUS 3.0 SP2. Эта конечная точка поддерживает подключения TLS 1.2, TLS 1.1 и TLS 1.0.
Эта старая конечная точка списалась с эксплуатации, подключение к ней завершится сбой.
При проблеме синхронизации WSUS или ручного импорта сначала проверьте конечную точку, с которой вы синхронизируете:
Откройте окно командной подсказки PowerShell на сервере WSUS.
Чтобы найти текущую конечную точку синхронизации, запустите следующий скрипт PowerShell:
Windows Server 2012 и более поздние версии должны быть настроены для использования https://sws.update.microsoft.com конечной точки. Если вы все еще используете или измените новую конечную точку, следуя шагам в https://sws1.update.microsoft.com https://fe2.update.microsoft.com синхронизации WSUS, сбой с soapException. При необходимости устранение неполадок с подключением с https://sws.update.microsoft.com конечной точкой.
Выпуск 1. Ручной импорт не удается, но синхронизация успешно
Многие пользователи импортируют обновления в WSUS вручную, а некоторые обновления необходимо импортировать вручную. Например, предварительные обновления, выпущенные в третью и четвертую недели месяца, должны импортироваться вручную. Начиная с конца июля 2020 г., возможно, вы не сможете импортировать обновления вручную.
Однако некоторые серверы WSUS могут успешно импортировать обновления. И обычная синхронизация с WU и MU продолжает работать.
Эта проблема возникает на серверах WSUS, которые работают Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 или Windows Server 2019.
Устранение неполадок 1
Запустите скрипт PowerShell в конечных точках, чтобы определить конечные точки использования серверов WSUS. Вероятно, вы увидите, что рабочие серверы общаются с серверами или с ошибками. https://fe2.update.microsoft.com https://sws1.update.microsoft.com https://sws.update.microsoft.com
Проверьте файл %Program Files%\Update Services\LogFiles\SoftwareDistribution.log на ошибки при импорте обновлений вручную. И посмотрите на ошибки, похожие на следующий пример:
В следующем сообщении в ошибке указывается, что сервер WSUS пытался подключиться к WU/MU с помощью TLS, но wu/MU закрыл подключение:
Существующее подключение было принудительно закрыто удаленным хостом.
На следующем скриншоте показан сетевой захват попытки подключения.
В сетевом захвате кадр 874 — это пакет Client Hello, использующий TLS 1.0. Frame 877 — это ответ сервера. Ответ включает флаги ACK (A) и RST (R). Так как конечная точка поддерживает только подключения TLS 1.2, она отказано в подключении и выдает https://sws.update.microsoft.com ответ сброса.
Разрешение проблемы 1
Эта проблема возникает из-за того, что функции импорта WSUS не могут использовать TLS 1.2.
Чтобы устранить эту проблему, используйте один из следующих методов:
Чтобы установить клавиши реестра, см. в перенастройке для сильной криптографии. Перезапустите сервер после набора ключей реестра.
Создайте или w3wp.exe.config файл, чтобы включить TLS 1.2.
Это изменение будет применяться w3wp.exe созданных экземпляров независимо от того, относятся ли они к WSUS. W3wp.exe TLS 1.2, если удаленная сторона поддерживает эту версию. Если включены TLS 1.1 и TLS 1.0, W3wp.exe согласовывать эти протоколы, если целевой сайт не поддерживает TLS 1.2.
Если файл %SystemRoot%\system32\inetsrv\w3wp.exe.config не существует, выполните следующие действия:
Создайте новый файл с именем W3wp.exe.config в %SystemRoot%\system32\inetsrv папке.
Откройте файл в текстовом редакторе, например Блокнот.
Добавьте в файл следующие строки и сохраните файл:
Если файл %SystemRoot%\system32\inetsrv\w3wp.exe.config уже существует, выполните следующие действия:
Откройте файл в Блокнот или другом текстовом редакторе.
Добавьте в элемент следующие строки и сохраните файл:
После создания или обновления W3wp.exe.config откройте окно командной подсказки, а затем запустите для перезапуска iisreset всех рабочих процессов. Проверьте, работает ли ручной импорт.
Выпуск 2. Сбой ручного импорта после отключения TLS 1.1 или TLS 1.0
TLS 1.1 и TLS 1.0 постепенно отламывются, так как считаются небезопасными. После отключения этих протоколов вы больше не сможете импортировать обновления. Однако синхронизация продолжает работать.
Эта проблема возникает на серверах WSUS, которые работают Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 или Windows Server 2019.
Устранение неполадок 2
Журналы WSUS, в которых включены версии SSL/TLS при его старте. Чтобы определить версии SSL/TLS, выполните следующие действия:
Перезапустите службу WSUS.
Запустите iisreset по повышенной командной подсказке, чтобы заставить WSUS пройти последовательность запуска.
Откройте консоль WSUS и подключите ее к серверу.
Откройте, %Program Files%\Update Services\LogFiles\SoftwareDistribution.log и посмотрите записи, которые начинаются в протоколе SCHANNEL. Вы должны видеть записи, похожие на следующий пример:
Эти записи показывают, что отключены TLS 1.1 и TLS 1.0 и включен TLS 1.2.
Если процесс импорта не удается, softwareDistribution.log регистрирует следующую запись ошибки:
На следующем скриншоте показан сетевой захват попытки подключения.
В захвате сети на кадрах 1518-1520 покажите трехначерное рукопожатие (SYN, SYN ACK, ACK) между клиентом и сервером. Frame 1536 — это пакет ACK FIN с сервера WSUS.
WSUS закрывает подключение, так как все протоколы, которые он знает, как использовать для импорта (SSL3, TLS 1.0, TLS 1.1), отключены и не могут использовать TLS 1.2.
Разрешение проблемы 2
Эта проблема похожа на выпуск 1, в котором импорт WSUS не может использовать TLS 1.2. Чтобы устранить эту проблему, используйте решение проблемы 1.
Проблема 3. Сбой синхронизации на Windows Server 2012 и Windows Server 2012 R2 WSUS, которые применяют только обновления только для безопасности
Windows Server 2012 и Windows Server 2012 R2 содержат следующие треки обновления:
WSUS Windows Server 2012 и Windows Server 2012 R2 не может использовать TLS 1.2 для синхронизации, если не установлен один из следующих ежемесячных откатов или более позднего ежемесячного докатки:
Изменение, которое позволяет WSUS использовать TLS 1.2, является исправлением без обеспечения безопасности, оно включено только в ежемесячные откаты.
Некоторые пользователи предпочитают устанавливать только обновления только для безопасности и никогда не устанавливать ежемесячные откаты. Поэтому на серверах WSUS нет обновления, которое позволяет установить TLS 1.2. После изменения конечной точки для приемки только подключений TLS 1.2 эти серверы WSUS больше не могут синхронизироваться https://sws.update.microsoft.com с конечной точкой. Эта проблема также возникает на недавно установленном Windows Server 2012 или Windows Server 2012 WSUS-сервере R2, который не устанавливал ежемесячные откаты.
Устранение неполадок 3
Если на сервере WSUS установлены правильные обновления, WSUS будет входить в журнал, какие версии SSL/TLS включены при его старте. Выполните следующие действия на сервере WSUS:
Перезапустите службу WSUS.
Запустите iisreset из командной подсказки повышенной высоты, чтобы заставить WSUS пройти последовательность запуска.
Откройте консоль WSUS и подключите ее к серверу.
Если вы не можете найти эти записи, это означает, что обновление, которое включает TLS 1.2, не установлено.
Если синхронизация не удается, softwareDistribution.log регистрит следующее сообщение об ошибке:
На следующем скриншоте показан сетевой захват попытки подключения.
Разрешение проблемы 3
Чтобы устранить эту проблему, установите последнюю ежемесячную откатку для Windows Server 2012 или Windows Server 2012 R2. Также применяем решение для выпуска 1, чтобы предотвратить сбой ручного импорта.
Выпуск 4. Сбой синхронизации после июля 2020 г., если WSUS интегрирован с Configuration Manager
Многие установки WSUS интегрированы с точками обновления Microsoft Endpoint Configuration Manager программного обеспечения (SUP). После июля 2020 г. могут возникнуть сбои в синхронизации, если диспетчер конфигурации настроен для синхронизации драйверов Surface.
Эта проблема возникает на серверах WSUS, которые работают Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 или Windows Server 2019.
Устранение неполадок 4
Когда возникает эта проблема, записи, похожие на следующий пример, регистрируются в Wsyncmgr.log:
Кроме того, %Program Files\Update Services\LogFiles\SoftwareDistribution.log в файле в журнале печатались следующие ошибки:
Эти ошибки указывают на то, что подключение было закрыто. Эта проблема возникает из-за того, что в диспетчере конфигурации используется функция импорта WSUS. Таким образом, он имеет те же ограничения.
Разрешение проблемы 4
Выпуск 5. Синхронизация не удается после июля 2020 г. из-за ограниченных шифров
Вы можете отключить различные шифры для защиты подключений TLS. Начиная с июля 2020 г. серверы WSUS больше не могут синхронизироваться с WU/MU. Кроме того, при смене на прием только подключений https://sws.update.microsoft.com TLS 1.2 удаляются некоторые шифры.
Эта проблема возникает на серверах WSUS, которые работают Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 или Windows Server 2019.
Устранение неполадок 5
При синхронизации в файле регистрируются следующие %Program Files\Update Services\LogFiles\SoftwareDistribution.log ошибки:
Однако эти записи не являются полезными для определения того, есть ли у вас проблемы с шифром.
В этой ситуации используйте захват сети или проверьте объекты прикладной групповой политики (GPOs). Чтобы проверить применимые GPOs, запустите следующую команду по повышенной командной подсказке:
Откройте GPReport.html в браузере.
Поиск SSL Cipher Suite Order и параметр SSL Cipher Suites. Обычно этот параметр не настроен. Если она настроена, может возникнуть проблема, так как нет общего шифра с WU/MU.
С августа 2020 г. поддерживает https://sws.update.microsoft.com следующие шифры:
Со временем этот список изменится, так как по мере улучшения технологии шифры будут постепенно слабеть.
Если GPO применяется, и он не указывает один из этих шифров, связь с WU/MU не удается.
На следующем скриншоте показан захват сети.
Разрешение проблемы 5
Для устранения данной проблемы выполните следующие действия.
Для Windows Server 2016 и Windows Server 2019 включим один из следующих шифров:
Для Windows Server 2012 2012 r2 включаем один из следующих шифров:
Если шифры не установлены GPO, найдите следующий подкай реестра:
Добавьте один из необходимых шифров в значение Functions ключа реестра.
Перезапустите сервер WSUS.
Чтобы предотвратить сбои ручного импорта, также применяем решение для проблемы 1.
Успешное подключение
На следующих скриншотах покажите успешное подключение, Windows Server 2016 WSUS-сервер синхронизирует обновления.
В сетевом захвате кадр 191 — это пакет Client Hello, использующий TLS 1.2. В кадре подробно показано, какие шифры были отправлены клиентом. Frame 195 — это пакет Server Hello с конечной точки. TLSCipherSuite, выбранный wu, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384. Сертификат сервера также отправляется в пакете Server Hello.
Дополнительная настройка подключения происходит в кадрах 196-203. Затем в кадре 207 начинается передача данных приложением (WSUS) и конечной https://sws.update.microsoft.com точкой.
Примечание о прокси-серверах
При использовании прокси-сервера необходимо знать IP-адрес внутреннего интерфейса прокси-сервера, так как WSUS не взаимодействует напрямую с конечными точками WU. Если вы не можете получить IP-адрес прокси-сервера, поиск захвата сети для запросов CONNECT и поиск URL-адреса конечной точки Windows обновления.