Что за программа wsus

Как работает WSUS?

1. По мануалу всус должен уменьшить внешний трафик. Типа обновление скачивается один раз на сервак, а дальше компьютеры будут скачивать обновления с всуса. Предположим перед подключением к всус я вручную обновляю винду до 64 разрядной десятки 10 10.0.16299.15 Version 1709 Updated Sept 2017 RU. получается, вышедшие до этого момента мне не нужны, а всус хочет их скачать. Как оптимизировать этот процесс?

2. Продукты. Сервер планируется использовать для 2х типов операционных систем: win10 корпоративная и LTSB. Так же на клиентских компьютерах установлены office 2016 x64. Какие продукты я должен выбрать в настройках всус? Понятное дело, что нужно выбрать офис и виндоус 10. Но там штук 15 различных продуктов в которых содержится слова «windows 10». Так же явно требуется выбрать windows defender, IE. Что ещё? может необходимо обновлять pc health, мне же нужно здоровье?

3. Классы. С классами ещё более загадочно и непонятно. Чем апгрейды отличаются от обновлении? (извинте, но у меня русская винда). Насколько я знаю, майкрософт выпускает различные утилиты, помогающие решать те или иные проблемы, но мне они никогда не приходили в виде обновлений.

4. Драйверы. Вот тут самое страшное. Майкрософт предлагает скачать все драйвера какие только есть. Причём, как я понял скачиваются все версии. Зачем?

5. Если я не поставлю галочку на какм-нибудь классе, продукте или языке, обновления не будут скачиваться/устанавливаться вообще?

6. Как на практике используется всус? Может быть есть какие-то расширенные мануалы, где более подробно разжёвано его использование, а не банальная настройка? По идее мне просто нужен аля кэширующий сервер, чтобы не качать всем одно и то же, с возможностью блокирования и удаления определённых обновлений (например недавнее обновление KB4011039 ломало таблицы в word), а получается какой-то монстр франкинштейн.

  • Вопрос задан более трёх лет назад
  • 5095 просмотров

5 комментариев

Простой 5 комментариев

Adorne

SyavaSyava, а я бы тоже хотел концентрированный ответ на Тостере.
LAG_LAGbI4 @LAG_LAGbI4 Автор вопроса
SyavaSyava, ты можешь ссылку кинуть?
LAG_LAGbI4, этих мануалов в гугле топ 100 при запросе установка WSUS
LAG_LAGbI4 @LAG_LAGbI4 Автор вопроса

Антон Уланов, там не описаны подробности. выбор классов и продуктов оставляется на выбор читателя. абсолютно не описан процесс траблшутинга.

форумы ru-board и oszone — масса нужной инфы
Решения вопроса 0
Ответы на вопрос 2

really4g

А. Обновления имеют статусы: одобрено, не одобрено, отклонено.
А0. Обновления есть обязательные, рекомендуемые, необязательные.
А1. Одобрения проставляются вручную и автоматически по настроенным правилам. Происходит это довольно гибко, есть настроенное правило по умолчанию, в котором одобряются для всех выбранных продуктов обязательные обновления и обновления безопасности.
Б. Обновления скачиваются только те которые одобрены.
Теперь ответы
1. Решать Вам, но если у появится ПК со старой версии ее как-то надо накатить, т.е. в итоге все равно скачать. Вы можете не устанавливать статус одобрено у обновления, тогда оно не будет качаться.
2. По второму вопросу не подскажу ибо 10 не пользуемся.
Подсмотрел на своём wsus, исходя из того что вам нужна 10 corp и ltsb выбрать следующие продукты на мой взгляд:
Windows 10 ltsb, windows 10, windows 10 and later drivers, windows 10 and later upgrade & servicing drivers.
3. Upgrade — это обновление, которое позволяет скачать пакет, включающий в себя средства по переходу на более свежую версию продукта. Утилиты.. надо завтра у себя на wsuse глянуть. Завтра коммент выложу.
Утилиты в контексте wsus это Класс «Средства». У меня стоит галочка, но не могу сказать точно используется оно как таковое или нет.
4. Драйвер как и любое обновление имеет одобрение или нет. Клиент wsus отсылает информацию на сервер в виде отчётов периодически, которые используются wsus для определения потребности в том или ином драйвере и/или пакетов обновления. Одобрите для установки скачает, поставит, не одобрите не будет качаться и соответственно клиент не будет знать, что есть какой-то драйвер.
5. Новые пакеты не будут качаться, а старые останутся в базе. Есть механизмы чистки, с помощью этих механизмов происходит удаление неиспользуемых/устаревших пакетов
6. Все в ваших руках — как я уже писал все зависит от того как одобряются обновления, если какое-то обновление что-то ломает всегда можно его найти в базе и изменить статус ( не устанавливать, не устанавливать и удалить с тех которые уже успели его скачать)
К сожалению не дам конкретные источники которые бы Вам помогли, т.к. я со многими вещами разбирался сам, если будут вопросы задавайте, проще точечно помогать, когда уже есть какой-то опыт и что-то не получается.

Службы Windows Server Update Services (WSUS)

Службы Windows Server Update Services (WSUS) позволяют ИТ-администраторам развертывать новейшие обновления продуктов Майкрософт. Службы WSUS позволяют в полной мере управлять процессом распределения обновлений, выпущенных через Центр обновления Майкрософт, среди компьютеров в сети. В данном разделе представлен обзор этой роли сервера и дополнительные сведения о том, как развертывать и обслуживать WSUS.

Описание роли сервера WSUS

Сервер WSUS предоставляет возможности для управления обновлениями и их распространения через консоль управления. Сервер служб WSUS может также быть источником обновлений для других серверов WSUS в организации. Сервер WSUS, действующий как источник обновлений, называется вышестоящим сервером. В реализации служб WSUS хотя бы один сервер WSUS в сети должен иметь возможность подключаться к Центру обновления Майкрософт для получения информации о доступных обновлениях. Учитывая вопросы безопасности и конфигурации сети, администратор может самостоятельно определить количество дополнительных серверов, напрямую подключенных к Центру обновления Майкрософт.

Практическое применение

Управление обновлениями — это процесс управления развертыванием и обслуживанием промежуточных выпусков программного обеспечения в рабочей среде. Это помогает поддерживать производительность, преодолевать уязвимости и обеспечивать стабильность рабочей среды. Если организация не может устанавливать и поддерживать известный уровень доверия в своих операционных системах и прикладном программном обеспечении, то у нее может появиться ряд уязвимостей, что в случае взлома способно привести к потере дохода и интеллектуальной собственности. Чтобы минимизировать данную угрозу, необходимо правильно настроить системы, использовать последние версии программного обеспечения и установить рекомендуемые обновления ПО.

Основными сценариями, в которых WSUS повышает эффективность вашего бизнеса, являются:

  • Централизованное управление обновлениями
  • Автоматизация управления обновлениями

Новые и измененные функции

Обновление с любой версии Windows Server, поддерживающей WSUS 3.2, до Windows Server 2012 R2 требует предварительного удаления WSUS 3.2.

В Windows Server 2012 обновление с любой версии Windows Server с установленными службами WSUS 3.2 блокируется в процессе установки, если будет обнаружена служба WSUS 3.2. В этом случае вам будет предложено сначала удалить службы обновления Windows Server, а затем повторно обновить сервер.

Но после изменений, внесенных в текущем выпуске Windows Server и Windows Server 2012 R2, установка не блокируется при обновлении с любой версии Windows Server и WSUS 3.2. Если перед выполнением обновления Windows Server или Windows Server 2012 R2 не будут удалены службы WSUS 3.2, то задачи WSUS после установки будут завершаться ошибкой. Известен только один метод решения такой проблемы — отформатировать жесткий диск и повторно установить Windows Server.

Службы Windows Server Update Services представляют собой встроенную роль сервера со следующими дополнительными возможностями.

  • Может быть добавлена и удалена с помощью диспетчера серверов
  • Включает командлеты Windows PowerShell для управления наиболее важными задачами администрирования в службах WSUS
  • Добавляет возможность использования хэширования SHA256 для дополнительной безопасности
  • Обеспечивает разделение клиента и сервера, благодаря чему версии агента Центра обновления Windows (WUA) могут поставляться независимо от WSUS

Использование Windows PowerShell для управления WSUS

Системным администраторам для автоматизации работы необходим охват с помощью автоматизации командной строки. Основной целью является облегчение администрирования WSUS, позволяя системным администраторам автоматизировать их ежедневный труд.

Какой эффект дает это изменение?

Пропуская основные операции WSUS через Windows PowerShell, системные администраторы могут увеличить продуктивность, уменьшить время на изучение новых инструментов, а также снизить количество ошибок из-за неоправданных ожиданий, ставших результатом отсутствия согласованности простых операций.

Что работает иначе?

В более ранних версиях операционной системы Windows Server отсутствовали командлеты Windows PowerShell, а автоматизация управления обновлениями была затруднительным делом. Командлеты Windows PowerShell для операций WSUS дают дополнительную гибкость и быстроту системному администратору.

В эту коллекцию включены следующие руководства по планированию, развертыванию и администрированию служб WSUS.

  • Развертывание служб Windows Server Update Services
  • Управление обновлениями с помощью служб Windows Server Update Services

Ускоряем работу 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. Для подключения к экземпляру используется строка:

\\.\pipe\MICROSOFT##WID\tsql\query

Для очистки базы выполните 4 волшебные команды:

EXEC SUSDB.dbo.spDeclineExpiredUpdates;1
EXEC SUSDB.dbo.spDeclineSupersededUpdates;1

Для команды spCompressUpdate используется «обёртка»:

USE SUSDB DECLARE @var1 INT, @curitem INT, @totaltodelete INT DECLARE @msg nvarchar(200) CREATE TABLE #results (Col1 INT) INSERT INTO #results(Col1) EXEC spGetUpdatesToCompress SET @totaltodelete = (SELECT COUNT(*) FROM #results) SELECT @curitem=1 DECLARE WC Cursor FOR SELECT Col1 FROM #results OPEN WC FETCH NEXT FROM WC INTO @var1 WHILE (@@FETCH_STATUS > -1) BEGIN SET @msg = cast(@curitem as varchar(5)) + '/' + cast(@totaltodelete as varchar(5)) + ': Compressing ' + CONVERT(varchar(10), @var1) + ' ' + cast(getdate() as varchar(30)) RAISERROR(@msg,0,1) WITH NOWAIT EXEC spCompressUpdate @localUpdateID=@var1 SET @curitem = @curitem +1 FETCH NEXT FROM WC INTO @var1 END CLOSE WC DEALLOCATE WC DROP TABLE #results 

Такая же обертка для spDeleteUpdate:

USE SUSDB DECLARE @var1 INT, @curitem INT, @totaltodelete INT DECLARE @msg nvarchar(200) CREATE TABLE #results (Col1 INT) INSERT INTO #results(Col1) EXEC spGetObsoleteUpdatesToCleanup SET @totaltodelete = (SELECT COUNT(*) FROM #results) SELECT @curitem=1 DECLARE WC Cursor FOR SELECT Col1 FROM #results OPEN WC FETCH NEXT FROM WC INTO @var1 WHILE (@@FETCH_STATUS > -1) BEGIN SET @msg = cast(@curitem as varchar(5)) + '/' + cast(@totaltodelete as varchar(5)) + ': Deleting ' + CONVERT(varchar(10), @var1) + ' ' + cast(getdate() as varchar(30)) RAISERROR(@msg,0,1) WITH NOWAIT EXEC spDeleteUpdate @localUpdateID=@var1 SET @curitem = @curitem +1 FETCH NEXT FROM WC INTO @var1 END CLOSE WC DEALLOCATE WC DROP TABLE #results 

Во время работы «обёрток» клиенты прекращают получать обновления. Вы можете в любой момент прервать выполнение скрипта без потери прогресса. Для того, чтобы продолжить процесс, не забудьте удалить временную таблицу:

DROP TABLE #results

В мастере очистки 5 команд, мы вполнили 4 из них. Команду «Delete computers not contacting server» следует выполнить из мастера.

Переиндексация базы

Для переиндексации базы используйте следующий скрипт:

Скрипт переиндексации

/****************************************************************************** This sample T-SQL script performs basic maintenance tasks on SUSDB 1. Identifies indexes that are fragmented and defragments them. For certain tables, a fill-factor is set in order to improve insert performance. Based on MSDN sample at http://msdn2.microsoft.com/en-us/library/ms188917.aspx and tailored for SUSDB requirements 2. Updates potentially out-of-date table statistics. ******************************************************************************/ USE SUSDB; GO SET NOCOUNT ON; -- Rebuild or reorganize indexes based on their fragmentation levels DECLARE @work_to_do TABLE ( objectid int , indexid int , pagedensity float , fragmentation float , numrows int ) DECLARE @objectid int; DECLARE @indexid int; DECLARE @schemaname nvarchar(130); DECLARE @objectname nvarchar(130); DECLARE @indexname nvarchar(130); DECLARE @numrows int DECLARE @density float; DECLARE @fragmentation float; DECLARE @command nvarchar(4000); DECLARE @fillfactorset bit DECLARE @numpages int -- Select indexes that need to be defragmented based on the following -- * Page density is low -- * External fragmentation is high in relation to index size PRINT 'Estimating fragmentation: Begin. ' + convert(nvarchar, getdate(), 121) INSERT @work_to_do SELECT f.object_id , index_id , avg_page_space_used_in_percent , avg_fragmentation_in_percent , record_count FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL , NULL, 'SAMPLED') AS f WHERE (f.avg_page_space_used_in_percent < 85.0 and f.avg_page_space_used_in_percent/100.0 * page_count < page_count - 1) or (f.page_count >50 and f.avg_fragmentation_in_percent > 15.0) or (f.page_count > 10 and f.avg_fragmentation_in_percent > 80.0) PRINT 'Number of indexes to rebuild: ' + cast(@@ROWCOUNT as nvarchar(20)) PRINT 'Estimating fragmentation: End. ' + convert(nvarchar, getdate(), 121) SELECT @numpages = sum(ps.used_page_count) FROM @work_to_do AS fi INNER JOIN sys.indexes AS i ON fi.objectid = i.object_id and fi.indexid = i.index_id INNER JOIN sys.dm_db_partition_stats AS ps on i.object_id = ps.object_id and i.index_id = ps.index_id -- Declare the cursor for the list of indexes to be processed. DECLARE curIndexes CURSOR FOR SELECT * FROM @work_to_do -- Open the cursor. OPEN curIndexes -- Loop through the indexes WHILE (1=1) BEGIN FETCH NEXT FROM curIndexes INTO @objectid, @indexid, @density, @fragmentation, @numrows; IF @@FETCH_STATUS < 0 BREAK; SELECT @objectname = QUOTENAME(o.name) , @schemaname = QUOTENAME(s.name) FROM sys.objects AS o INNER JOIN sys.schemas as s ON s.schema_id = o.schema_id WHERE o.object_id = @objectid; SELECT @indexname = QUOTENAME(name) , @fillfactorset = CASE fill_factor WHEN 0 THEN 0 ELSE 1 END FROM sys.indexes WHERE object_id = @objectid AND index_id = @indexid; IF ((@density BETWEEN 75.0 AND 85.0) AND @fillfactorset = 1) OR (@fragmentation < 30.0) SET @command = N'ALTER INDEX ' + @indexname + N' ON ' + @schemaname + N'.' + @objectname + N' REORGANIZE'; ELSE IF @numrows >= 5000 AND @fillfactorset = 0 SET @command = N'ALTER INDEX ' + @indexname + N' ON ' + @schemaname + N'.' + @objectname + N' REBUILD WITH (FILLFACTOR = 90)'; ELSE SET @command = N'ALTER INDEX ' + @indexname + N' ON ' + @schemaname + N'.' + @objectname + N' REBUILD'; PRINT convert(nvarchar, getdate(), 121) + N' Executing: ' + @command; EXEC (@command); PRINT convert(nvarchar, getdate(), 121) + N' Done.'; END -- Close and deallocate the cursor. CLOSE curIndexes; DEALLOCATE curIndexes; IF EXISTS (SELECT * FROM @work_to_do) BEGIN PRINT 'Estimated number of pages in fragmented indexes: ' + cast(@numpages as nvarchar(20)) SELECT @numpages = @numpages - sum(ps.used_page_count) FROM @work_to_do AS fi INNER JOIN sys.indexes AS i ON fi.objectid = i.object_id and fi.indexid = i.index_id INNER JOIN sys.dm_db_partition_stats AS ps on i.object_id = ps.object_id and i.index_id = ps.index_id PRINT 'Estimated number of pages freed: ' + cast(@numpages as nvarchar(20)) END GO --Update all statistics PRINT 'Updating all statistics.' + convert(nvarchar, getdate(), 121) EXEC sp_updatestats PRINT 'Done updating statistics.' + convert(nvarchar, getdate(), 121) GO 

Настройка 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.

Эту рекомендацию не следует игнорировать. Я останавливаюсь на четырех файлах. Начальный размер файлов должен быть одинаковым. После этого ожидания, как правило, исчезают.

Спасибо за внимание. Знаете еще какие-то фишки — делитесь!

При подготовке материала использовались источники:
https://qna.habr.com/q/475827
https://learn.microsoft.com/ru-ru/windows-server/administration/windows-server-update-services/get-started/windows-server-update-services-wsus
https://habr.com/ru/articles/329440/

Оцените статью