Назад | Перейти на главную страницу

Можно ли настроить выполнение запланированных задач как непосредственно до, так и сразу после обновления Windows?

В настоящее время мы пытаемся найти решение, позволяющее лучше автоматизировать обновления Windows на наших машинах IIS. У нас есть инфраструктура, в которой в любое время суток совершаются тысячи транзакций; Лучшее окно, которое мы можем предоставить, - это окно с меньшим количеством этих транзакций, но отключение IIS / выключение компьютера во время их выполнения вызывает межведомственные инциденты, которых мы хотели бы избежать.

Таким образом, эти транзакции должны завершиться до перезагрузки компьютера для приема обновлений. В настоящее время мы используем балансировщик нагрузки F5, который отслеживает файл с контрольным значением, которое мы изменяем вручную, чтобы разрешить обновления; если сервера больше нет в таблице балансировки нагрузки, текущие транзакции могут быть завершены, а остальные новые будут отправлены на другие серверы.

Я пытаюсь найти способ, позволяющий нам удалить наш сервер из подсистемы балансировки нагрузки, не выключая его или не отключая IIS (предоставляя льготный период для ожидающих транзакций при остановке новых). В настоящее время мы используем SCOM, к чьим элементам управления у меня нет доступа, и команда сообщила мне, что невозможно указать сценарий или триггер перед обновлением нашей текущей инфраструктуры.

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

Однако, хотя я знаю, что запланированные задачи работают с событием с идентификатором 19 (успешное обновление), я не уверен, можно ли указать задачу, которая должна выполняться до фактического начала обновления. Идентификатор события, на который я сейчас смотрю, - 43, установка началась, но я сомневаюсь, что во время этого могут выполняться другие задачи (например, остановка и запуск служб, изменение файлов и т. Д.).

Есть ли у кого-нибудь опыт написания запланированных задач или сценариев для этой конкретной цепочки событий непосредственно до и сразу после применения обновления?

Хороший вопрос!

Как вы планируете исправлять серверы IIS? Какой инструмент ты используешь? WSUS? SCCM? BigFix? Альтирис? или любой другой?

СПОСОБ SCOM - возможность запуска сценария по определенному идентификатору события. SCOM - Запуск сценария в ответ на обнаружение события

Шаблон сценария SCOM

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

Допустим, вы запланировали исправление серверов IIS с использованием окна обслуживания на 4 часа (с 18:00 до 22:00), один сервер в один день.

  1. Удаление сервера из Load Balancer. Вы можете использовать PHP / Perl / Python / iRule для удаления сервера без ручного вмешательства.

Программирование балансировщика нагрузки F5

  1. Предоставьте льготный период для завершения транзакций. Здесь вы можете использовать некоторые специфические скрипты IIS для мониторинга сессий.

  2. Настройте сервер для управления исправлениями и отслеживайте загрузку обновлений, установку и идентификатор события завершения

  3. Добавьте сервер обратно в балансировщик нагрузки F5

Общий инструмент для использования: Windows Powershell (поскольку мы говорим о IIS, Powershell - лучший выбор)

С помощью Powershell:

  1. Вы можете вызвать функцию / URL PHP, которая добавляет и удаляет сервер из балансировщика нагрузки F5.

Запустите сценарий PHP через Windows Powershell

  1. Мониторинг IIS и базы данных (при необходимости)

  2. Он может отслеживать идентификатор события для установки обновления и, наконец, перезагружать сервер.

Вы можете запланировать задание с помощью Windows Powershell.

Надеюсь это поможет. Это всего лишь пример.