Однажды воскресным вечером вам неожиданно звонят из офиса: упал сервер Microsoft SharePoint. В результате небольшого расследования вы обнаруживаете, что дисковый массив внешнего веб-сервера признаков жизни не подает. Вы горько сожалеете о том, что не сделали полную резервную копию фермы средствами SharePoint. Однако не все потеряно. Вы знаете, что SharePoint сохраняет весь контент на отдельной системе SQL Server, и этот сервер функционирует. Вы начинаете действовать, пытаясь все восстановить до утра понедельника. Вы спрашиваете себя: «Какие шаги мне нужно предпринять? Какие настройки я потеряю? Буду ли вообще спать сегодня?»

. В данной статье я исхожу из того, что вы управляете Microsoft Office SharePoint Server (MOSS) 2007, но все принципы можно применять и к Windows SharePoint Services (WSS). Я также принимаю, что вы используете аутентификацию Windows и службу Active Directory (AD). Конечно, ваша среда, вероятно, имеет отличия, и эти шаги невозможно применить ко всем ситуациям.

Общее представление о восстановлении

SharePoint сохраняет весь контент и большую часть конфигурации в базы данных SQL Server. Однако некоторые настройки конфигурации сохраняются только в Microsoft IIS и различных файлах web.config. Обычный код часто сохраняется в папке 12 (по умолчанию C:\Program Files\Common Files\Microsoft Shared\web server extensions\12) или глобальной кэш-памяти. Вы увидите, что использования только резервной копии SQL Server недостаточно для беспроблемного восстановления. Возможно, самое важное препятствие состоит в том, что даже с большим количеством настроек, сохраненных в базе данных конфигурации, система не может быть восстановлена без резервной копии, сделанной с фермы SharePoint. Однако у вас есть еще варианты восстановления, поэтому давайте начнем с того, что вам потребуется.

Оценим активы

Рассмотрим элементы, на которые нужно обратить внимание в ходе восстановления. Вот несколько основных пунктов, которые требуется идентифицировать.

  • Вам понадобятся все базы контента (кроме одной, предназначенной для центрального администрирования), база службы Shared Services Provider (SSP) и база поиска. Все другие базы будут созданы заново.
  • Идентифицируйте свои веб-приложения и настройки, которые вы использовали. Идентификация должна включать портал веб-приложений, SSP для веб-приложений и веб-приложение MySites, если оно применяется. Убедитесь, что вы знаете, контент из какой базы (или баз) каждое из веб-приложений использовало. Базовая документация вашей среды SharePoint очень важна. Если у вас ее нет, попытайтесь вспомнить или документировать все настолько детально, насколько это возможно.
  • Определите версию сборки вашей фермы. Это позволит определить, какие пакеты обновлений или другие исправления были установлены. Для получения данной информации, когда ферма не работает, откройте окно очереди на системе SQL Server. По базе данных конфигурации SharePoint запустите команду Select *From Versions. В окне результатов найдите самое большое значение в колонке версий. Стандартные номера сборки — 12.0.0.4518 для RTM, 12.0.0.6219 для SP1, 12.0.0.6318 для Infrastructure Update и 12.0.0.6421 для SP2.
  • Идентифицируйте учетные записи служб домена SharePoint и пароли, которые применялись. Если вам непонятно, какие учетные записи у вас есть, можете получить их из папки Logins системы SQL Server. Заметьте, что у вас, возможно, были другие учетные записи в добавление к SharePoint, и вам нужно будет точно определить, какая учетная запись для какой службы используется. Если вы не знаете пароли, можете установить их заново в AD. Вот несколько доменных учетных записей и соглашение о наименовании, которые я обычно использую: учетная запись установки/административная (MOSS.Admin); учетная запись фермы серверов, также называемая учетной записью доступа к базе данных (MOSS.Farm); учетные записи пула приложения (MOSS.PortalAppPool, MOSS.SSPAppPool); учетная запись службы SSP (MOSS.SSPService); учетная запись Farm Search Service (MOSS.Search); учетная запись Crawler (MOSS.Crawler).
  • Идентифицируйте приложения третьих фирм и решений SharePoint (файлы. wsp), которые требуют переустановки.
  • Идентифицируйте новый физический или виртуальный сервер, который будете использовать как внешний веб-сервер.
  • Убедитесь, что у вас есть файлы для установки и лицензионный ключ MOSS.

Шаги к восстановлению

Теперь, когда вы подготовили список всех необходимых компонентов, давайте сконцентрируемся на конкретных шагах на пути к восстановлению (когда вы регистрируетесь с учетную записью службы, согласно шагам, приведенным ниже, я рекомендую указывать перед учетной записью имя домена, например: domain\MOSS.Farm).

  1. Установите оригинальную версию операционной системы на новом сервере и не пытайтесь обновить операционную систему на данном шаге. Технически это возможно, но значительно усложняет процесс восстановления. Сохраните все остальные настройки (например, имя сервера, IP-адрес) настолько, насколько это возможно.
  2. Добавьте учетную запись MOSS.Admin к локальной группе администраторов на новом сервере. Убедитесь, что эта учетная запись имеет разрешения на регистрацию в системе SQL Server и является членом серверной роли Sysadmin.
  3. Удалите все предшествующие учетные записи из Active Directory, подсоедините новый сервер к домену и выполните перезагрузку.
  4. Установите IIS.
  5. Установите ту же самую версию NET Framework, которая была у вас на предыдущем сервере. Это должна быть как минимум версия 3.0. Если вы не уверены, установите последнюю версию — 3.5 SP1.
  6. Установите MOSS. Начните с регистрации с учетной записью администратора (MOSS.Admin). Запустите программу установки MOSS с дистрибутива. Как и в случае с установкой SharePoint, моя рекомендация состоит в следующем: используйте сначала режим Advanced, затем Complete. Эти режимы дадут вам наибольшую гибкость, позволяя сделать так, что все роли, которые требуются, будут запускаться с сервера SharePoint (например, Web Application, поиск).
  7. Перед созданием фермы установите все исправления так, чтобы они подходили к предыдущей версии. При этом убедитесь, что вы применяете сначала индивидуальное обновление WSS, а потом обновление MOSS. Например, чтобы построить сборку 6318, выполните последовательно: WSS SP1, MOSS SP1, обновление инфраструктуры WSS, обновление инфраструктуры MOSS. После каждого обновления будет запускаться мастер настройки SharePoint Products and Technologies Configuration Wizard. Во всех случаях просто отменяйте его работу.
  8. И вот вы сделали все обновления и готовы создавать ферму серверов. Начните с запуска мастера настройки SharePoint Products and Technologies Configuration Wizard, к которому вы можете получить доступ через пункт Microsoft Office Server в меню Start. По подсказке создайте новую ферму серверов. Затем укажите имя системы SQL Server и имя базы данных конфигурации SharePoint. Если вы используете то же самое имя базы данных, которое было в старой ферме, нужно сначала удалить старую базу данных. Для имени пользователя введите имя учетной записи фермы серверов (MOSS. Farm). Затем нажмите Next, введите желаемый порт для приложения Central Administration Web и установите подходящую форму аутентификации (NTLM или Kerberos). Вы увидите окно итогов, которое показано на экране. Просмотрите его и нажмите Next, чтобы создать ферму.
  9. Запустите службу Search. После того как ферма будет создана, должен автоматически появиться сайт Central Administration. Если система предлагает зарегистрироваться, используйте учетные данные MOSS.Admin. Чтобы запустить службу поиска, сначала обратитесь к вкладке Operations и выберите Services on server. В списке служб нажмите кнопку Start рядом с Office SharePoint Server Search. В диалоговом окне выберите оба флажка наверху, чтобы сделать систему сервером индексирования и запросов. Для учетной записи Farm Search Service введите подходящую учетную запись (например, MOSS. Search).
  10. Запустите все остальные службы, которые будут использоваться, такие как Excel Calculation Services. Для MOSS служба WSS Search, возможно, не понадобится, поскольку она используется только для индексирования коллекции Help.
  11. Восстановите каждое из веб-приложений. Это касается веб-приложений SSP, MySites (если уместно) и каждого дополнительного приложения, которое использовалось на ферме. Для каждого приложения следуйте такой схеме: обратитесь к вкладке Application Management, выберите Create or extend Web application, затем выберите Create a new Web application. Введите порт и заголовок хоста. В большинстве случаев можно сохранить путь по умолчанию. Если веб-приложение использовало SSL, укажите это. Введите учетные данные пула приложений. Зачастую каждое веб-приложение должно использовать отдельный пул приложений вместе с уникальными учетными данными. Например, для веб-приложения SSP нужно задействовать учетную запись MOSS.SSPAppPool. И наконец, самое важное: введите имя системы SQL Server и одной из баз данных контента, используемых для данного веб-приложения. SharePoint воссоздаст сайт в IIS, зарегистрирует его в новой конфигурации базы данных и свяжет ее с существующей базой данных контента. Если вы прежде расширяли одно из своих веб-приложений (например, настраивали сеть для получения доступа извне), вам придется сделать это заново.
  12. Свяжите оставшиеся базы данных с веб-приложениями. Этот шаг необходим только в том случае, если есть несколько баз данных контента для веб-приложений. Обратитесь к вкладке Application Management, перейдите к Content databases, затем выберите Add a content database. Убедитесь, что вы выбрали правильное веб-приложение наверху, затем определите имя каждой дополнительной базы данных.
  13. Восстановите SSP. В меню навигации слева во вкладке Central Administration нажмите Services Administration, затем Restore SSP. Для имени SSP введите имя вашего SSP, такое как SharedServices1. Для веб-приложения выберите веб-приложение, которое вы только что создали для своего SSP. Если вы использовали отдельное веб-приложение для My Sites, очистите диалоговое окно use existing location. Если появляются предупреждения, просто примите их и выберите веб-приложение, используемое для My Sites. Затем введите учетные данные SSP Service (MOSS.SSPService). Введите имя базы данных SSP, затем имя базы данных Search. Наконец, укажите желаемую папку для местоположения файла индекса. Она должна быть на дисководе, где достаточно места; таким образом, по умолчанию диск C — не всегда правильный выбор.
  14. Переустановите IIS. Самый простой способ это сделать — выбрать Start, Run и набрать iisreset.
  15. Переустановите все приложения сторонних разработчиков или SharePoint Solutions. Они могут включать в себя пользовательские IFilters (например, для индексирования файлов PDF), пользовательские веб-части и т. д. Для получения более подробной информации по SharePoint Solutions просмотрите статью «Обзор решений» по адресу msdn.microsoft.com/en-us/library/aa543214.aspx.
  16. Примените все дополнительные изменения. Это самая сложная сфера, поскольку изменения в SharePoint могут появляться несколькими путями. Вот самые распространенные области, которые могут потребоваться для проведения модификаций: альтернативные пути доступа (AAM), изменения параметров web.config для веб-приложений, программы, установленные в папках bin или глобальной кэш-памяти, настройки IIS (например, повторная загрузка или присвоение сертификата SSL), изменения в папке 12 (например, Features или Site Definitions), настройки политики веб-приложения, входящая и исходящая почта — словом, все, что есть на вкладке Operations в Central Administration.
  17. Укажите полную переиндексацию всех ресурсов контента для воссоздания поискового индекса SharePoint. Поскольку файлы индекса на старом сервере были потеряны, их требуется переделать. Во вновь восстановленном SSP укажите Search settings, затем Content sources and crawl schedules. Для каждого источника контента выберите Start Full Crawl из контекстного меню. В зависимости от объема контента полная перестройка может занять от нескольких минут до нескольких дней.
  18. Последнее, но не менее важное — это тестирование веб-сайтов SharePoint. Ошибки могут быть разные, от второстепенных проблем веб-частей на страницах до того, что сайт вообще ничего не будет представлять. Причина большинства ошибок состоит в настройках параметров конфигурации или в отсутствии файлов.

 

Экран. Создание фермы

 

Рекомендации

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

• Выполняйте обычное резервирование фермы с помощью SharePoint. Это можно сделать вручную, используя Central Administration (на вкладке Operations выберите Perform a backup) или используя утилиту командной строки stsadm.exe. Преимущество stsadm.exe в том, что вы создаете задание для запуска по расписанию в Windows, чтобы постоянно использовать его. Вот базовый синтакс stsadm.exe для резервирования фермы:

stsadm -o backup -directory 
   -backupmethod full

Необходимо запустить эту команду с одного из серверов SharePoint и лучше с учетной записью администратора SharePoint. Также учетная запись для запуска службы MSSQLServer на системе SQL Server должна иметь разрешения Modify на совместно используемый ресурс UNC и содержащуюся в нем папку NTFS.

• Поскольку резервная копия фермы не включает все, вам нужно зарезервировать папки inetpub\wwwroot, вложенные папки для 12 и IIS (для Windows Server 2003 используйте iisback.vbs; для Windows Server 2008 используйте appcmd.exe.).

• Для более мощных и детальных способов резервирования подумайте о программном обеспечении третьих фирм, таких как AvePoint DocAve.

• Когда вы обновляете ферму (например, устанавливаете SP2), сделайте резервные копии до и после обновления. Создание копии после обновления рекомендуется, потому что у вас теперь новая сборка, и с предыдущих копий восстанавливать гораздо сложнее.

• Ведите журнал изменения параметров конфигурации. Это может быть простой документ, который описывает обновление, применяемое к ферме: например, установка SP2, установка пользовательского приложения или ручные изменения настроек в web.config. Не сохраняйте этот файл в SharePoint.

• Для сред, в которых не допускаются периоды бездействия, нужно построить ферму восстановления и настроить ее начиная с шага 7, как описано выше (для получения более подробной информации о строительстве фермы восстановления обратитесь к статье «Создание фермы восстановления» по адресу technet.microsoft.com/en-us/library/cc288425.aspx). Это ускорит процесс восстановления. Также подумайте о дополнительном внешнем веб-сервере и кластере или зеркалировании для SQL Server, чтобы добавить больше устойчивости вашей ферме. В тех случаях когда SharePoint поддерживается в виртуальной среде, можно иметь ферму восстановления в VMware или Hyper-V.

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

• Когда вы будете разворачивать пользовательские приложения на своей ферме, используйте SharePoint Solutions. Это лучший способ развернуть прикладные приложения на корпоративной ферме. Если в вашей организации есть команда разработки, которая пишет программное обеспечение для SharePoint, позаботьтесь о том, чтобы был создан пакет для развертывания решения.

• Сохраняйте все базы данных контента небольшими. Чем объемнее базы данных контента, тем больше времени понадобится на восстановление. Я рекомендую сохранять все базы контента в пределах 200 Гбайт.

• Используйте описательные имена для баз данных контента. Как уже было показано, вам может понадобиться связывать базы данных контента с веб-приложениями. Использование понятных имен облегчит процесс.

Право на отдых

Мы прошлись по процессу восстановления SharePoint с использованием только баз данных SQL Server. Помните, что вы не сможете восстановить все настройки параметров. Но после того как вы стали понимать, как работает этот тип восстановления, вы сможете вернуть свою ферму онлайн за несколько часов. Зная об ограничениях при восстановлении из баз данных, следует подумать о дополнительных вариантах создания резервных копий, наряду со всеми остальными рекомендациями. Только тогда вы можете быть уверены, что попадете домой вовремя и будете иметь время для сна.

Рэнди Уильямс (RWilliams@synergyonline.com) — MVP по SharePoint Server, старший консультант в компании Synergy Corporate Technologies

ПРОБЛЕМА
Имеется двухсерверная ферма Sharepoint: один сервер — веб-приложения, а второй — система SQL Server. Веб-сервер вышел из строя, и вся среда не работает. Положение усугубляет то, что у вас нет резервной копии средствами Sharepoint. К счастью, система SQL Server и все базы данных контента в порядке, и вы хотите спасти как можно больше данных и сделать все возможное, чтобы вернуть к жизни среду SQL Server.
РЕШЕНИЕ
Создавая ферму Sharepoint на новом веб-сервере и указывая на существующие базы данных, вы сможете воссоздать большую часть контента. Наличие точной документации по исходной системе поможет вам на пути восстановления исходной среды. Следуя приведенным шагам, вы перестроите и восстановите ферму Sharepoint.
ЭТАПЫ РЕШЕНИЯ
1. Соберите все параметры конфигурации (например, веб-приложения, базы данных контента, версия Sharepoint).
2. Постройте новый сервер таким образом, чтобы он соответствовал вашей исходной ферме.
3. Установите Sharepoint и модернизируйте его так, чтобы он соответствовал исходной версии. Создайте новую ферму.
4. Активируйте службы, которые использовались, такие как Search.
5. Восстановите веб-приложения и подключите любые другие дополнительные базы данных контента, восстановите SSP и укажите на существующие базы данных контента.
6. Переустановите любые другие дополнительные программы третьих фирм и реализуйте необходимые настройки в ферме.
СЛОЖНОСТЬ
3 из 5.