среда, 20 октября 2010 г.

Перенос Project Server 2003 на другой сервер, с обновлением до 2007.

В данной заметке рассмотрен перенос сервера ProjectServer 2003 +MSSQL 2000 на другой физический сервер с версиями ПО ProjectServer 2007 + MSSQL 2005.

Дано: мультисерверная инсталляция Office ProjectServer 2003:

  1. Сервер Win 2k3, ProjectServer 2003, WSS 2.0 (не использовался)
  2. Сервер Win 2k3, MSSQL 2000 sp2a.
Осуществлён перенос на один сервер (в виртуальной среде, но не суть), с ОС Win 2008 x86 sp2, ProjectServer 2007, WSS 3.0, MSSQL 2005 sp3. Сервер в том же домене. Так как на исходном сервере не использовались службы WSS (SharePoint), то осуществляется перенос только части Project.

Прежде всего устанавливаем на новый сервер связку ProjectServer 2007, WSS 3.0, MSSQL  в режиме фермы, обновляем. Подробно процедура установки в режиме фермы, а так же первоначальной настройки рассмотрена в данной статье. Единственное, что хочется отметить - не следует на этом этапе добавлять пользователей, синхронизировать с доменом и пр., т.к. пользователи на целевом сервере имеют приоритет, и настройки совпадающих пользователей не будут записаны при миграции.

Далее необходимо установить и настроить средство миграции. Все шаги подробно описаны в документации (тыц), здесь изложу лишь основные моменты, которые были проделаны.

Прежде всего, необходимо убедиться что целевой сервер обновлён до версии 2003 SP2a.
Установка средств миграции осуществляется с носителя Office Project Prof. 2007. Запускаем установку, выбираем пункт "Настройка". На вкладке "Параметры установки" разворачиваем дерево "Компоненты для Office Project", выбираем "Средство переноса", делаем его активным. Утилита p12migrationtool.exe по умолчанию устанавливается в C:\Program Files\Microsoft Office\Office12\.

До начала миграции необходимо вернут все проекты и ресурсы. Для утилиты миграции можно указать исходный MSSQL сервер, с которого будет осуществляться перенос. Я предпочёл вариант с бэкап-рестором на новый сервер.

Если вы используете средства WSS на исходном сервере, то ознакомьтесь с данной статьёй  по переносу служб SharePoint.
Для работы средства переноса необходимо подготовить конфигурационный файл (если быть точнее - два файла. Один будет использоваться для переноса глобальных настроек и инициализации миграции, второй - для переноса проектов и ресурсов непосредственно). Пример файла конфигурации (ProjectServer2007Migrate.ini.sample) расположен там же, где и утилита миграции.

ПараметрОписание
[General]
Раздел общих параметров конфигурации. Параметры для этого раздела перечислены далее.
BatchName=
Средство миграции нужно запускать несколько раз (например, чтобы переносить проекты в виде пакетов). Соответственно, каждому запуску средства миграции нужно будет присвоить уникальное имя. Файл журнала, который создается при каждом запуске средства, получает имя, соответствующее значению параметра BatchName. Если уникальное имя не указано, файл перезаписывает предыдущий файл журнала.
LogFileNamePrefix=
Определяет префикс файла журнала перехода. Имя файла состоит из значения параметраLogFileNamePrefix и штампа времени запуска средства миграции. Например, файл журнала может называться batch1-20060314-1542.log:
  • LogFileNamePrefix=batch1
  • Миграция, которой соответствует этот файл, запущена 14.03.2006 в 15:42
Возможность добавлять к имени файла журнала префикс полезна при многократных переносах, например, с использованием последовательного подхода.
LogFilePath=
Определяет путь к файлам журнала, созданным средством миграции. Средство записывает в журнал подробную информацию. Файл журнала — это основной источник сведений при устранении неполадок средства миграции. Если средству не удается записать данные в журнал, оно прекращает работать. Благодаря этому в файле всегда можно прочесть дополнительную информацию о средстве миграции.
MigrateAll=
Save: все проекты Project Server 2003 перенесены на Office Project Server 2007 и ни один не опубликован.
Publish: все проекты Project Server 2003 перенесены наOffice Project Server 2007 и опубликованные проекты из Project Server 2003 автоматически опубликованы в Office Project Server 2007.
Чтобы игнорировать параметр MigrateAll, закомментируйте строку MigrateAll с помощью двоеточия. В этом случае при запуске средства миграции проекты не переносятся.
NoteПримечание:
Закомментируйте параметр MigrateAll, чтобы следовать рекомендуемой методике, по которой перед миграцией проектов средство миграции запускается для миграции данных, не относящихся к проекту (данных глобального корпоративного шаблона, корпоративных ресурсов и веб-клиента Project). Кроме того, убедитесь, что в разделах [Project Names to Save and Publish] и [Project Names to Publish] не указаны проекты.
ImportantВажно:
Настройка MigrateAll= игнорируется, если в разделе [Project Names to Save and Publish]или [Project Names to Publish] указаны какие-либо имена проектов.
FixUpSecurityCategories=
Если параметр FixUpSecurityCategories установлен в Yes, то в процессе миграции проекты автоматически добавляются в категории безопасности. Если он установлен в No, проекты после переноса не добавляются в категории безопасности. Обычно выбирается значение No, если категории Office Project Server 2007 будут заметно отличаться от категорий Project Server 2003 и проекты предполагается добавлять в категории вручную.
StopProjectMigrationIfStatusUpdatesPending=
По умолчанию значение параметра StopProjectMigrationIfStatusUpdatesPending — Yes. Если выбрано значение Yes, то проекты с ожидающими утверждения обновлениями не переносятся. Если выбрана настройка No, то переносятся все проекты с ожидающими утверждения обновлениями. Параметр No полезен в том случае, если клиенту нужно перенести даже проекты с такими обновлениями. Например, это происходит в том случае, если нужно перенести старые проекты, но активных менеджеров, способных обработать обновления, нет.
NeverPublishMasterProjects=
По умолчанию выбрано значение NeverPublishMasterProjects Yes. Эта настройка не позволяет ошибочно публиковать главные проекты. Она пригодится клиентам, которые выбрали значение параметра Never Publish Master Projects в Project Server 2003.
Если после миграции нужно будет опубликовать какие-либо главные проекты, выберите значение параметра NeverPublishMasterProjects No. Даже при такой настройке нужно будет вручную включить главный проект в раздел [Project Names to Save and Publish].
NoteПримечание:
Публикация главного проекта в Office Project Server 2007 не увеличивает доступность.
[Project Names to Save]
Введите имена проектов, которые нужно будет сохранить после переноса. Указанные в этом разделе проекты не публикуются.
NoteПримечание:
Необходимо указать полное имя (как в столбце PROJ_NAME таблицы MSP_PROJECTS).
[Project Names to Save and Publish]
Введите имена проектов, которые нужно будет сохранить и опубликовать после переноса.
NoteПримечание:
Только опубликованные проекты (с расширением .PUBLISHED) в Project Server 2003 можно опубликовать в Office Project Server 2007. Если указать проект с версиями, он только сохраняется, но не публикуется.
NoteПримечание:
Необходимо указать полное имя проекта (как оно сохранено в столбце PROJ_NAME в таблице MSP_PROJECTS).
NoteПримечание:
Если указан главный проект с настройкой neverPublishMasterProjects=false, подпроекты (уже перенесенные или подлежащие переносу при данном запуске) публикуются автоматически. Обратите внимание, что публикация главного проекта в Office Project Server 2007 не увеличивает доступность.
[Excluded Project Names]
Укажите все проекты, которые нужно явным образом исключить при переносе. Обычно этот параметр используется с настройкой MigrateAll, при переносе большинства, но не всех проектов.
NoteПримечание:
Необходимо указать полное имя проекта (как оно сохранено в столбце PROJ_NAME в таблице MSP_PROJECTS).
[Project Server 2007]
Раздел настройки Office Project Server 2007. Параметры для этого раздела перечислены далее.
Project2007PWAServer=
Введите URL-адрес Microsoft Office Project Web Access. Например, введитеProject2007PWAServer=http://Project2007PWAServer/pwa
Project2007SQLServer=
Введите имя экземпляра SQL Server, где размещаются базы данных Office Project Server 2007.
ImportantВажно:
По умолчанию базы данных Project Server 2003 должны находиться в том же экземпляре SQL Server, что и Office Project Server 2007. Для этого нужно сделать резервные копии и восстановить базы данных Project Server 2003 в экземпляре SQL Server, где находятся базы данных Office Project Server 2007. При наличии серьезных проблем см. описание свойства Project2003LinkedSQLServer из раздела [Project Server 2003].
DraftDB =
Введите имя базы данных черновиков Office Project Server 2007.
PublishedDB =
Введите имя базы данных опубликованных проектов Office Project Server 2007.
[Project Server 2003]
Раздел настройки Project Server 2003. Параметры для этого раздела перечислены далее.
Project2003ProjectTablesDB =
При наличии одной конфигурации базы данных Project Server 2003 (вместо распределенной конфигурации), нужно ввести имя базы данных и следующую настройкуProject2003WebTablesDB=.
NoteПримечание:
Средство миграции не переносит таблицы кубов SQL Server Analysis Services. После переноса кубы придется создавать заново.
Project2003WebTablesDB=
При наличии распределенной базы данных Project Server 2003 введите имя базы данных веб-таблиц. Как уже говорилось выше, если использовалась конфигурация одной базы данных Project Server 2003, сюда и в настройку Project2003ProjectTablesDB= нужно ввести имя базы.
Project2003LinkedSQLServer=SQLServerName
По умолчанию настройка не включена (настройка Project2003LinkedSQLServer=закомментирована). Если этот параметр не указан, средство миграции предполагает, что базы данных Project 2003 находятся на том же компьютере, что и Office Project Server 2007 SQL Server. Если SQL Server, где находятся база данных Project 2003, нельзя разместить на компьютере с базами данных Office Project Server 2007 , с помощью этой настройки можно указать компьютер с базой данных Project Server 2003. Для этого обязательно нужно добавить базу данных Project Server 2003 в качестве связанного сервера к Office Project Server 2007 SQL Server. Описание настройки подключения к связанному серверу SQL lсм. в разделе под названием "Настройка подключения к связанному серверу SQL" ниже в этой статье.


В моём конкретном случае файл переноса глобальных настроек выглядел так:

[General]

LogFilePath=c:\ProjectServer2007Migration
LogFileNamePrefix=Batch1
MigrateAll=
FixUpSecurityCategories=yes
StopProjectMigrationIfStatusUpdatesPending=yes
NeverPublishMasterProjects=yes
ResetStatusManagerToOwnerOnConflict=yes

[Project Names to Save]
;Project1.published
;Project2.Target

[Project Names to Save and Publish]
;Project3.Published
;Project4.Published

[Excluded Project Names]

;Project5.published
;Project6.Target

[Project Server 2007]
Project2007PWAServer=http://projectsrv/pwa
Project2007SQLServer=ProjectSrv
DraftDB=ProjectServer_Draft
PublishedDB=ProjectServer_Published

[Project Server 2003]
Project2003ProjectTablesDB=ProjectServer # название базы данных исходного 2003 сервера, подключенного в "новом" MSSQL сервере.
Project2003WebTablesDB=ProjectServer
;Project2003LinkedSQLServer=


Файл для переноса проектов отличался лишь одной строкой:
MigrateAll=Publish
Здесь же можно указать какие проекты переносить, если идёт частичный перенос проектов.

Вначале запускаем перенос глобальных данных, пользователей, настроек и пр. Для этого запускаем утилиту
p12MigrationTool.exe -c c:\TMP\Global_conf.ini
где Global_conf.ini путь к файлу конфигурации, рассмотренного выше. При запуске утилиты не забудьте про UAC, запускайте с правами администратора. После того как утилита отработала внимательно изучите логи, на предмет проблем с переносом пользователей, проектов и т.д. В моём случае утилита оповестила, что некоторые проекты не могут быть перенесены, т.к. заняты в Project 2003. При этом данные проекты не числились в разряде открытых. Для решения этой проблемы пришлось в клиенте Office Project 2003 открывать зависшие проекты, и возвращать вручную. После этого повторно запускать процедуру миграции. (Возможно есть более изящный вариант вернуть "зависшие" проекты).
Теперь можно запускать перенос проектов, т.е. вызов утилиты p12migrationtool со вторым файлом конфигурации.

Перенос закончен. Исходный сервер можно выключить, базу данный, подключенную в новом сервере - отключить и удалить.

3 комментария:

  1. В следующей заметке будет рассмотрен перенос сервера Project в другой домен.

    ОтветитьУдалить
  2. Гже же ваша заметка о переводе в другой домен, очень интересно, как это делать?

    ОтветитьУдалить
  3. Заметка написана: http://sqrnotes.blogspot.com/2011/02/project-server.html

    видимо стоило линк оставить и в статье

    ОтветитьУдалить