none
Нет синхронизации между главным WSUS и подчиненными RRS feed

  • Вопрос

  • Здравствуйте, проблема с wsus. В сети существует основной WSUS сервер, который подхватывает обновления из интернета, а так же несколько подчиненных серверов WSUS , в разных регионах, которые тянут обновления с Главного WSUS сервера, так вот в один прекрасный момент WSUSы которые в режиме реплики перестали синхронизироваться с основным. Пробовал прогонять скрипты в SSMS по реиндексациям БД и удалению не нужных обновлений - не помогает. При синхронизации с главного сервера на 99%, долго висит, затем отваливается оснастка, при синхронизации с реплики происходит почти сразу сброс серверного узла. В логах ошибка 7032 Консоли администрирования WSUS не удается подключиться к серверу WSUS через удаленный API. 

    Проверьте, запущены ли на сервере служба Update Services, IIS и SQL. Если проблему не удается устранить, попробуйте перезапустить IIS, SQL и службу Update Services.

    System.Net.WebException -- Время ожидания операции истекло

    Source
    System.Web.Services

    Stack Trace:
    в System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
    в System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
    в Microsoft.UpdateServices.Internal.DatabaseAccess.ApiRemotingCompressionProxy.GetWebResponse(WebRequest webRequest)
    в System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
    в Microsoft.UpdateServices.Internal.ApiRemoting.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, Int32 publicationState)
    в Microsoft.UpdateServices.Internal.DatabaseAccess.AdminDataAccessProxy.ExecuteSPSearchUpdates(String updateScopeXml, String preferredCulture, ExtendedPublicationState publicationState)
    в Microsoft.UpdateServices.Internal.BaseApi.Update.SearchUpdates(UpdateScope searchScope, ExtendedPublicationState publicationState, UpdateServer updateServer)
    в Microsoft.UpdateServices.UI.AdminApiAccess.UpdateManager.GetUpdates(ExtendedUpdateScope filter)
    в Microsoft.UpdateServices.UI.AdminApiAccess.BulkUpdatePropertiesCache.GetAndCacheUpdates(ExtendedUpdateScope updateScope, ComputerTargetScope computerTargetScope)
    в Microsoft.UpdateServices.UI.SnapIn.Pages.UpdatesListPage.GetListRows()

    и 7053

    Непредусмотренная ошибка консоли администрирования WSUS. Данная ошибка может быть временной, попробуйте перезапустить консоль администрирования. Если ошибку не удается устранить, 

    попробуйте удалить сохраненные параметры, удалив файл с именем "wsus" по адресу %appdata%\Microsoft\MMC\.

    21 марта 2018 г. 4:05

Ответы

Все ответы

  • Посмотрите что выдает wsusutil checkhealth, ну и банально - хватает ли места на дочерних wsus?
    21 марта 2018 г. 6:28
  • Добрый день,

      Попробуйте добавить памяти для пула приложения WSUS в IIS. В основном именно это является причиной падения консоли WSUS. 

    21 марта 2018 г. 6:31
  • Добрый день,

      Попробуйте добавить памяти для пула приложения WSUS в IIS. В основном именно это является причиной падения консоли WSUS. 

    Здравствуйте, накинул памяти на реплике, на Главном уже давно накинуто, так же поставил использование net framework 4.0, стоял 2.0, на главном так же стоял 4.0, синхронизация начала проходить, но только если убрать галочку режим реплики у подчиненного WSUSa (путь обновлений прописан основного WSUSa), вернул галочку обратно на режим Реплика и синхронизация висит на 99%.
    21 марта 2018 г. 7:13
  • Попробуйте пройтись по серверам WSUS WAM'ом. Обратите внимание, что скрипту необходим sql management tools.
    21 марта 2018 г. 7:20
  • wsusutil checkhealth на реплике  написал в логах 13032 - многие клиентские компьютеры не сообщали информацию на сервер за последние 30 дней. Пока обнаружено 3 таких машин.

    13002 - клиентские компьютеры устанавливают обновления с частотой сбоев выше 25%, такая ситуация не нормальна

    Место на реплике вроде есть, 40 гб, маловато, но есть

    Главный WSUS выдает - 10022 последняя попытка синхронизации каталогов отказалась недачной

    10032 - Серверу не удается скачать некоторые обновления (PS на нем пока выключен инет)

    21 марта 2018 г. 7:29
  • Что то не пойму как этот скрипт использовать, скачал его, запустил новый скрипт в ssms , он пишет что много ошибок в самом скрипте и не запускает его, открыл сам скрипт , что то много воды там лишней
    21 марта 2018 г. 8:41
  • Через PowerShell, в самом файле есть подробная инструкция:

    Open PowerShell using "Run As Administrator" on the WSUS Server.
     3. Because you downloaded this script from the internet, you cannot initially run it directly
        as the ExecutionPolicy is default set to "Restricted" (Server 2008, Server 2008 R2, and
        Server 2012) or "RemoteSigned" (Server 2012 R2).  You must change your ExecutionPolicy to
        Bypass. You can do this with Set-ExecutionPolicy, however that will change it globally for
        the server, which is not recommended. Instead, launch another PowerShell.exe with the
        ExecutionPolicy set to bypass for just that session. At your current PowerShell prompt,
        type in the following and then press enter:

            PowerShell.exe -ExecutionPolicy Bypass

     3. Run the script using -FirstRun.

            .\Clean-WSUS.ps1 -FirstRun

    21 марта 2018 г. 8:54
  • Все равно не понимаю, запустил powershell от админа, запускаю   .\Clean-WSUS.ps1 -FirstRun 

    powershell не распознает, можно инструкцию для особо одаренных ?

    21 марта 2018 г. 9:10
  • надо в командной строке PS находиться в папке, где лежит скрипт. Если выложили в c:\temp, то перейти в папку Temp (cd \temp) и запустить скрипт  .\Clean-WSUS.ps1 -FirstRun, именно так, как написано, с точкой и слэшем

    21 марта 2018 г. 9:18
  • эмм, ну powershell у меня запускался с путем windows\system32 , я и закинул скрипт в систем 32, не распознает, у этого текстового файла имя не надо случаем менять ?
    • Изменено viperonator 21 марта 2018 г. 9:22
    21 марта 2018 г. 9:21
  • Да, если вы скачали его как txt, то его необходимо переименовать в Clean-WSUS.ps1
    21 марта 2018 г. 9:33
  • Вообщем прогнал скрипт, но по моему ничего это не дало, есть несколько строк помеченных красным цветом , ругается в основном на sqlcmd. Вообще я делал нечто подобное по этой статье https://habrahabr.ru/post/329440/
    21 марта 2018 г. 12:14
  • Тогда ещё вариант решения: http://www.runonazure.com/wsus-replica-server-fails-to-synchronize/
    • Помечено в качестве ответа viperonator 22 марта 2018 г. 11:50
    21 марта 2018 г. 13:01
  • Спасибо, дошел до этого момента 

    UPDATE tbUpdate SET isHidden = 0 WHERE isHidden = 1

    ssms почему то не понимает данный скрипт, не знает что такое tbUpdate, подскажите что не так

    22 марта 2018 г. 6:11
  • А вы точно подключились к базе данных WSUS на реплике?

    Этот запрос отрабатывает  (замените имя SUSDB, если у вас по другому база названа) ?

    Use SUSDB
    SELECT * FROM tbUpdate WHERE isHidden = 1
    

    22 марта 2018 г. 6:29
  • Вроде разобрался, сначала выполнил вот это 
    SELECT * FROM tbUpdate WHERE isHidden = 1 - прошло успешно

    Далее в статье указан способ для одноразовой успешной синхронизации 

    UPDATE tbUpdate SET isHidden = 0 WHERE isHidden = 1 - я его пропустил

    Даллее сделал конечный скрипт 

    delete from tbrevisionlanguage - завершился с ошибками - некоторые строки не обработал 

    В конце запустил скрипт для одноразовой синхронизации , на 99% упала оснастка

    не помогло

    Все выполнял на реплике, в конце сделал 1ый скрипт, показал значения 1 в столбе isHidden
    • Изменено viperonator 22 марта 2018 г. 8:31
    22 марта 2018 г. 8:26
  • Вроде разобрался, сначала выполнил вот это 
    SELECT * FROM tbUpdate WHERE isHidden = 1 - прошло успешно

    Далее в статье указан способ для одноразовой успешной синхронизации 

    UPDATE tbUpdate SET isHidden = 0 WHERE isHidden = 1 - я его пропустил

    Даллее сделал конечный скрипт 

    delete from tbrevisionlanguage - завершился с ошибками - некоторые строки не обработал 

    В конце запустил скрипт для одноразовой синхронизации , на 99% упала оснастка

    не помогло

    Все выполнял на реплике, в конце сделал 1ый скрипт, показал значения 1 в столбе isHidden

    Сейчас прочитал статью до конца, увидел что конечный скрипт должен выполнится без ошибок, а в конце он мне выдал что пара ключей в БД конфликтует, я так понимаю их надо вручную удалить ?

    22 марта 2018 г. 8:41
  • Мне кажется что для вас было бы правильнее переустановить реплику. Это не займёт много времени.

    https://serverfault.com/questions/449914/how-to-completely-wipe-wsus-and-start-again  :

    Uninstall-WindowsFeature -Name UpdateServices,Windows-Internal-Database -Restart

    После удаления WSUS на реплике  и перезагрузки сервера обязательно удалите её БД:

    Post restart, delete EVERYTHING in the C:\Windows\WID\ (for Win 2012 r2) folder

    Файлы обновлений можно не удалять, при повторной установке они подтянутся и синхронизация займёт меньше времени и траффика. 

    22 марта 2018 г. 8:54
  • Эмм , у меня их около 10 реплик, и со всеми такая ситуация
    22 марта 2018 г. 9:07
  • Сейчас проверил журнал синхронизаций, последняя прошла успешно все таки, просто оснастка отвалилась вконце, не подскажите как поправить ?
    22 марта 2018 г. 9:59
  • Оснастка на главном? Попробуйте ещё памяти добавить пулу.
    22 марта 2018 г. 10:10
  • нет на реплике, память я вообще убрал ограничение, щас повторно синхронизировался опять ошибка =), а если без галочки режим реплика оставить , как бы это нормально будет работать ? 
    22 марта 2018 г. 10:16
  • Вобщем спасибо вам большое =) добил я скрипт до конца, надо было вручную потереть записи в БД, на которые ругался SSMS, при выполнении скрипта 

    delete from tbRevision where LocalUpdateId in

    была ошибка и не проходил конечный скрипт

    delete from tbUpdate where ishidden = 1

    удалил все записи из tbRevision, запустил конечный скрипт 

    теперь синхронится все за 10 сек , спасибо =)


    • Изменено viperonator 22 марта 2018 г. 11:29
    22 марта 2018 г. 11:29