Скорее всего, вам, как и мне, доводилось устанавливать модули коррекции для системы SharePoint Server. Если нет, значит вы не настоящий администратор SharePoint… Конечно, это шутка. Ну, а если серьезно, то тем из вас, кому еще не приходилось «латать» платформу SharePoint, я попросту завидую.

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

SharePoint 2013

Когда выпускается модуль коррекции для системы SharePoint 2013, в нем содержится основной исполняемый файл, а также знаменитый файл Uber. Что же представляют собой файлы Uber, благодаря которым, кстати, объем программных файлов исправлений вырастает до трех с лишним гигабайтов?

Когда специалисты Microsoft создают модули коррекции, они упаковывают исправления в основной файл для конкретного месяца, и тогда все модули, выпущенные ранее, добавляются к файлам Uber. Поясню сказанное на примере (см. рисунок 1). Допустим, в месяце 1 было выпущено одно исправление, затем в месяце 2 — три исправления, в месяце 3 было снова выпущено одно исправление, а в месяце 4 — два исправления.

 

Пример выпуска исправления
Рисунок 1. Пример выпуска исправления

Теперь если мы в качестве отдельного обновления рассмотрим обновление, выпущенное в месяце 4, то обнаружим, что нам требуются и ранее выпущенные модули; без них, возможно, возникнут проблемы, а последний модуль и вовсе не будет устанавливаться. Для предотвращения подобных ситуаций недостающие (ранее выпущенные) «заплатки» упаковываются в модули Uber, которые поставляются в накопительном пакете обновления (см. рисунок 2).

 

Назначение модуля Uber
Рисунок 2. Назначение модуля Uber

Отсюда следует, что фактически каждое используемое вами обновление, по сути, является накопительным и все предшествующие модули коррекции включаются в обновление посредством модуля Uber. Это означает, что ферма SharePoint получит все, что ей требуется для установки нового накопительного пакета обновления. Впрочем, бывают случаи, когда по инструкциям Microsoft процесс можно продолжить лишь после установки того или иного пакета обновления.

Существует несколько типов пакетов обновления, и различать их очень важно. Речь идет о пакетах обновлений Service Packs, накопительных пакетах Cumulative Updates, продуктах, именуемых общедоступными обновлениями Public Updates, а также о критических модулях коррекции, предоставляемых по требованию (Critical on Demand fixes), которые иногда несколько осложняют ситуацию. Более подробную информацию о разных типах пакетов можно найти в документе по адресу: https://blogs.technet.microsoft.com/stefan_gossner/2013/03/21/common-question-what-is-the-difference-between-a-pu-a-cu-and-a-cod/.

SharePoint 2016

Недавно я затронул тему SharePoint 2016 в одной из своих статей («Исправление без простоя SharePoint 2016», опубликована в Windows IT Pro/RE № 2 за 2016 год). Но какую же пользу информация об этом может принести человеку, приступившему к обновлению сервера?

В сущности, план обновления довольно прост. Сначала нужно установить модули коррекции для системы безопасности, а затем определить, нужно ли (и если да, то когда) применять накопительный пакет обновления или сервисный пакет. Вот уже несколько лет я придерживаюсь такой практики: каждый раз устанавливать следует не текущий вариант пакета обновления и даже не предшествующий, а предпоследний, то есть как бы отставать на две версии, если только новейшая редакция не обеспечивает исправление неполадок, затрудняющих работу. Это моя субъективная позиция, основанная на многолетнем опыте решения проблем, которые часто не могут быть устранены после установки «заплаты».

В качестве иллюстрации такого персонифицированного подхода я приведу схему, которая показана на рисунке 3.

 

Пример конкретного случая
Рисунок 3. Пример конкретного случая

Как видите, к тому моменту когда я дойду до месяца 4, у меня будет установлено 6 модулей коррекции для системы безопасности, и тогда мне нужно будет установить только накопительные пакеты обновлений за месяцы 1 и 4. И все это благодаря преимуществам, которые обеспечивают пакеты Uber. Я могу пропускать уровни, если в документации не указано иное и если производитель не требует выполнения дополнительных операций перед переходом к следующим этапам (см. экран 1).

 

Установленные исправления
Экран 1. Установленные исправления

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

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

Если у вас нет определенности относительно версий и вы ощущаете беспокойство, поскольку не ориентируетесь в версиях файлов исправлений, установленных на всех компонентах системы SharePoint, можете решить эти вопросы с помощью инструмента Robust Office Inventory Scan Tool (ROISCAN) и только после этого продолжать процесс обновления (https://gallery.technet.microsoft.com/scriptcenter/68b80aba-130d-4ad4-aa45-832b1ee49602/). Чтобы воспользоваться сценарием, нужно скопировать его со страницы и создать файл VBS, а затем запустить его на выполнение из командной строки.

Обновление не должно быть чем-то сродни черной магии, требующей особых навыков. Это простой процесс, построенный по законам логики. Составная его часть — определение версии каждого из используемых компонентов. Специалисты Microsoft создали неплохого помощника, отображающего все установленные пакеты обновления с номерами их версий (см. экран 2).

 

Использование сценария
Экран 2. Использование сценария

Завершив свою работу, сценарий выдает текстовый файл с интересующими вас деталями, как показано на экране 3.

 

Результаты работы сценария в виде текстового файла
Экран 3. Результаты работы сценария в виде текстового файла

Данный сценарий — отличное средство на тот случай, если вам нужно определить фактические версии используемых компонентов. Разумеется, если вы хотите знать реальные номера версий компонентов SharePoint или познакомиться с таблицей, отображающей номера версий, которые требуются в данном случае, можете воспользоваться поисковым механизмом и найти нужные вам данные:

  • http://www.bing.com/search? q=SharePoint+Version+Numbers+List&go=Submit&qs=n&form=QBLH&pq=sharepoint+version+numbers+list&sc=1-31&sp=-1&sk=&ghc=1&cvid=58B6AECE20A54A9F9710B8FD5C69F220
  • https://www.google.com/#q=SharePoint+Version+Numbers+List

Главное условие успешного обновления — твердо знать, каково текущее состояние окружения SharePoint, уровни файлов исправлений, а также иметь представление о том, к чему вы придете по завершении этого процесса. Не забывайте и о том, что вам, возможно, и нет нужды применять тот или иной накопительный пакет обновлений; можете повременить до появления следующего, главное, чтобы в его состав входил модуль Uber. Приятного обновления!