Перемещение или клонирование с одного оборудования на другое для локальной службы Azure DevOps

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 — TFS 2013

Примечание

Предложение Azure DevOps Server раньше называлось Visual Studio Team Foundation Server.

Вы можете переместить или клонировать развертывание Azure DevOps Server программного обеспечения. Вы перемещаете Azure DevOps Server с одного компьютера на другой, восстанавливая его на новое оборудование (которое называется перемещением на основе восстановления). Например, может потребоваться переместить Azure DevOps Server на сервер с большей емкостью или повышением скорости обработки. При переходе на новый сервер журнал проекта не теряется.

Чтобы клонировать развертывание Azure DevOps Server, выполните те же действия, что и перемещение, и несколько дополнительных.

Вы выполняете перемещение, когда планируете прекратить использование исходного оборудования и Azure DevOps Serverного развертывания. Клонирование выполняется, когда планируется продолжать использовать исходный экземпляр Azure DevOps Server.

Важно!

В некоторых ситуациях может потребоваться изменить домен развертывания Azure DevOps Server, а также его оборудование. Изменение домена — это перемещение на базе среды. Сочетать эти два типа перемещения не следует. Сначала выполните перемещение оборудования, а затем измените среду.

Проверить свои разрешения

Чтобы успешно переместить Azure DevOps Server, необходимо быть администратором обоих наборов оборудования (старого и нового). Кроме того, необходимо быть администратором (или иметь аналогичные разрешения) для Azure DevOps Server и всего программного обеспечения, от которого зависит ваше развертывание: SQL Server, отчеты, продукты SharePoint (если в развертывании используются отчеты или SharePoint) и любое другое программное обеспечение, с которым взаимодействует развертывание, например Project Server.

Убедитесь, что вы являетесь членом следующих групп:

  • Серверы: администраторы (локальная группа «Администраторы» или эквивалент)

  • Azure DevOps Server: Администраторы Team Foundation и пользователи консоли администрирования

  • SQL Server: системный администратор

  • Продукты SharePoint. Администраторы фермы (если развертывание Azure DevOps Server интегрируется с продуктами SharePoint)

Если вы не являетесь членом одной или нескольких этих групп, получите разрешения сейчас.

Резервное копирование баз данных и ключа шифрования

  1. Откройте консоль администрирования для Azure DevOps Server и на странице запланированное резервное копирование создайте полную резервную копию. В резервную копию будет включено все, что настроено для резервного копирования в плане копирования, однако сделано это будет немедленно, а не в соответствии с графиком из плана. Если в развертывании используется отчетность, можно создать резервную копию ключа шифрования в рамках этого набора резервных копий.

    На время выполнения задания окно можно закрыть

    (Если у вас нет настроенных резервных копий, необходимо создать план , прежде чем можно будет выполнить полное резервное копирование.)

  2. После создания резервной копии убедитесь, что резервная копия доступна на устройстве хранения или в общей сетевой папке и что есть доступ к этой резервной копии с нового оборудования.

Установка и настройка SQL Server на новом сервере уровня данных

  • Установите SQL Server на новом сервере и убедитесь, что он работает. Если в предыдущем развертывании использовалась отчетность, не забудьте включить компоненты служб отчетов и служб анализа. Необходимо установить версию и выпуск, которые использовались ранее, включая пакеты обновления и накопительные пакеты обновления.

    Установка SQL Server 2008 R2 — компоненты

    В качестве альтернативы можно создать экземпляр SQL Server на сервере, на котором уже установлена соответствующая версия, и восстановить базы данных Azure DevOps Server в этом экземпляре, но для этого потребуется больше конфигурации после восстановления.

    Дополнительные сведения о вариантах установки и настройки SQL Server см. здесь.

    После установки SQL Server, если развертывание включает отчетность, откройте SQL Server Management Studio и отсоедините базы данных ReportServer и ReportServerTempDB. В противном случае восстановление этих баз данных с резервной копией, созданной для баз данных Azure DevOps Server, может оказаться невозможным.

    Существующие базы данных перед восстановлением необходимо отсоединить

Установка и настройка программного обеспечения на новом сервере уровня приложений

Чтобы настроить новый сервер или серверы для Azure DevOps Server, необходимо сначала установить и настроить программное обеспечение, необходимое для его поддержки. Это программное обеспечение включает следующие компоненты:

  • поддерживаемая конфигурацией развертывания операционная система;

  • Поддерживаемая версия продуктов SharePoint (если развертывание интегрировано с продуктами SharePoint и вы хотите переместить его на тот же сервер, что и Azure DevOps Server)

Примечание

В отличие от установки нового развертывания Azure DevOps Server вы не сможете установить продукты SharePoint как часть стандартных Single-Server или дополнительных параметров при переходе на новый сервер. Необходимо вручную установить ту же версию и выпуск продуктов SharePoint, которые использовались в предыдущем развертывании, либо следовать указаниям по версии и выпуску продуктов SharePoint для перемещения развертывания на новое оборудование отдельно.

Восстановление баз данных Azure DevOps Server

Чтобы восстановить базы данных Azure DevOps Server с помощью средства восстановления, необходимо установить, но не настроить Azure DevOps Server на новом сервере уровня данных, а затем использовать функцию Restore на узле запланированных резервных копий.

Если вы хотите восстановить Azure DevOps Server базы данных вручную с помощью средств SQL Server восстановления, то можете, но это более сложная процедура. Кроме того, потребуется вручную «разморозить» базы данных в новом развертывании. Мастер восстановления в Azure DevOps Server автоматически делает это в рамках процесса восстановления, но эта функция не является частью средств восстановления SQL Server.

Если вы установили SharePoint Foundation 2013, выполнив действия, описанные в статье Перемещение SharePoint на новое оборудование для Azure DevOps Server, и планируете использовать этот сервер в качестве сервера для Azure DevOps Server, консоль BITS и консоли администрирования уже будет присутствовать на сервере, и вы сможете пропустить первые два шага в следующей процедуре.

  1. Запустите установочный носитель Azure DevOps Server. На странице установка Team Foundation Server нажмите кнопку установить.

  2. После завершения установки откроется Центр настройки Team Foundation Server . Закройте его.

    Консоль администрирования открывается автоматически в ненастроенном состоянии. Это ожидаемое поведение.

  3. Чтобы запустить мастер восстановления, откройте консоль администрирования для Azure DevOps Server и откройте плановые резервные копии.

    Запуск мастера восстановления

  4. Укажите путь к набору резервных копий и выберите набор, созданный после остановки предыдущего развертывания.

    Выберите сетевой путь, а затем набор для восстановления

  5. Завершите работу мастера и восстановите базы данных в новом экземпляре SQL Server.

    Базы данных восстанавливаются на новом сервере

Перенаправление продуктов SharePoint в новое расположение базы данных контента

Если в развертывании используются продукты SharePoint, то вы уже установили ту же версию и выпуск продуктов SharePoint, которые использовались в предыдущем развертывании, выполнив действия, описанные в статье Перемещение SharePoint на новое оборудование для Azure DevOps Server, как упоминалось выше. Теперь после восстановления базы данных содержимого старого развертывания ( _ содержимого WSS) на новом сервере в составе набора восстановления необходимо перенаправить сервер, на котором выполняются продукты SharePoint, в новое расположение этой базы данных. Эта база данных должна быть работоспособной, прежде чем можно будет перенастроить Azure DevOps Server с новыми расположениями баз данных.

  1. Откройте командную строку с правами администратора на новом оборудовании, на котором выполняется SharePoint Foundation.

  2. Перейдите в каталог диск: \ Program Files \ Common Files \ Microsoft Shared \ Web Server extensions \ 15 \ bin и запустите stsadm.exe со следующими параметрами, где Шарепоинтфаундатионсервернаме — это имя сервера, на котором установлена SharePoint Foundation 2013, а SQLSERVERNAME — имя сервера, на котором была восстановлена _ база данных содержимого WSS в процессе восстановления баз данных Azure DevOps Server.

    stsadm.exe –o addcontentdb –url http://SharePointFoundationServerName/sites -databasename WSS_Content -databaseserver SQLServerName
    
  3. После успешного завершения этой команды введите следующую команду, где домен \ имя_пользователя — это учетная запись, использованная для установки и настройки SharePoint Foundation 2013 для использования с Azure DevOps Server.

    stsadm.exe -o addpermissionpolicy -url http://SharePointFoundationServerName -userlogin Domain\UserName -permissionlevel "full control"
    

(Вариант для клонирования) Изменение настройки идентификаторов серверов и повторное сопоставление баз данных

Примечание

PrepareClone, рекомендуемый для использования перед развертыванием нового Azure DevOps Server развертывания с помощью резервной копии базы данных, которая уже находится в рабочей среде на другом сервере. Эта команда больше не требуется, так как мы включили ее функциональные возможности в подготовительные сценарии обновления и клонирования в мастере настройки.

Выполните следующий набор действий на новом сервере уровня приложений, если планируется продолжать использовать исходный экземпляр Azure DevOps Server. Эти действия позволяют избежать риска повреждения одного или обоих развертываний. Если оба сервера активны, это может привести к повреждению, особенно если они оба указывают на одни и те же ресурсы отчетов или SharePoint.

  1. Откройте окно командной строки от имени администратора и перейдите в каталог диск: % програмфилес%\тфс 12.0 \ Tools. Откройте окно командной строки и введите следующее:

  2. Выполните команду TFSConfig PrepareClone , чтобы удалить сведения о запланированных резервных копиях, SharePoint и ресурсах отчетов.

    TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL
    
  3. Выполните команду TFSConfig ChangeServerID , чтобы изменить идентификаторы GUID сервера, связанные с базами данных. Идентификаторы GUID должны быть уникальными в пределах Azure DevOps Server развертывания.

    TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]
    
  4. Выполните команду TFSConfig RemapDBs , чтобы перенаправить клонированные Azure DevOps Server в свои базы данных.

    TFSConfig RemapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,erverName2 [/AnalysisInstance:ServerName] [/AnalysisDatabaseName:DatabaseName] [/review] [/continue] [/usesqlalwayson]
    

Настройка сервера уровня приложений

  1. В консоли администрирования для Azure DevOps Server выберите Настройка установленных компонентов, чтобы запустить центр конфигурации.

  2. Запустите мастер только Application-Tier и в поле базы данных укажите новый экземпляр SQL Server, в котором были восстановлены базы данных Azure DevOps Server. Выберите _ базу данных конфигурации TFS из списка.

    Выбор резервного набора данных SQL Server и базы данных

  3. Прежде чем закрыть последнюю страницу мастера, поищите символ «i». Он указывает на сведения, которые могут потребоваться в дальнейшем. Последняя страница также содержит расположение журнала конфигурации.

    Обратите внимание на проблемы (если есть) и расположение файла журнала

Обновление URL-адресов Azure DevOps Server

  1. Перейдите на узел уровня приложения и просмотрите уведомления и URL-адреса веб-портала. Обратите внимание, что они по-прежнему указывают на расположение старого развертывания. Обновите их.

    Уведомление и URL-адреса устарели

  2. После обновления URL-адресов в соответствии с именем нового сервера, проверьте сведения.

    В URL-адресе сервера по-прежнему используется localhost

Обновление всех учетных записей служб

Необходимо обновить учетную запись службы для Azure DevOps Server (TFSService) и учетной записи источников данных (TFSReports). Чтобы обеспечить соответствие удостоверений и формата учетных записей на новом сервере, необходимо обновить данные, даже если эти учетные записи не менялись.

  1. Откройте окно командной строки от имени администратора и измените каталоги на диск: \ % ProgramFiles% \ инструменты TFS 12,0 \ .

  2. В командной строке введите следующую команду, чтобы добавить учетную запись службы для Azure DevOps, где DatabaseName — это имя базы данных конфигурации (по умолчанию, конфигурация TFS _ ):

    TFSConfig Accounts/Add/AccountType.: ApplicationTier/Account: AccountName /SQLInstance: ServerName /DatabaseName: DatabaseName

  3. В командной строке введите следующую команду, чтобы добавить учетную запись источника данных:

    TFSConfig Accounts/Add/AccountType.: репортингдатасаурце/Account: AccountName /SQLInstance:ServerName /DatabaseName:DatabaseName

    Дополнительные сведения см. в статье Команда Accounts.

Обновление серверов сборки

Теперь необходимо перенаправить серверы сборки, чтобы они указывали на перемещенное развертывание Azure DevOps Server.

  1. На всех серверах сборок откройте консоли администрирования и остановите службы сборок.

  2. В свойствах службы сборки обновите свойства взаимодействия.

    Остановите службу, затем внесите изменения

Настройка веб-приложений SharePoint

Если в развертывании используются продукты SharePoint и вы переместили SharePoint Foundation 2013 в процессе перемещения Azure DevOps Server, может потребоваться перенаправление Azure DevOps Server в новое веб-приложение. Даже если этого не делать, все равно необходимо восстановить подключение, чтобы обеспечить надлежащую производительность.

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

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

    Azure DevOps Server по-прежнему перенаправляет старое приложение

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

Настройка служб отчетов и служб Analysis Services

Если в развертывании используется сервер отчетов, необходимо перенаправить Azure DevOps Server в его расположение, перезапустить хранилище и вручную перестроить базу данных для Analysis Services. Если отчеты не используются, пропустите эту процедуру.

  1. Перейдите к узлу «Отчеты». Перечислены старые значения сервера отчетов. Их нужно обновить.

    Отчеты по-прежнему указывают на старый сервер

  2. Измените значения на всех трех вкладках, чтобы они указывали на новый сервер. Убедитесь, что предоставлена правильная информация для учетной записи источников данных в новом развертывании.

    Проверьте правильность информации на всех трех вкладках

  3. Выберите Запуск заданий , чтобы перезапустить отчеты.

  4. Выберите запустить перестроение , чтобы перестроить хранилище.

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

После перемещения на новое оборудование проверьте, что для всех учетных записей пользователей, групп и служб в развертывании настроены разрешения, необходимые для их корректной работы на всех серверах. Некоторые разрешения, такие как дополнительные разрешения в SQL Server или на локальном компьютере, невозможно перенести автоматически. Например, администраторы DevOps Azure должны быть членами локальной группы администраторов на сервере уровня приложений, чтобы открыть консоль администрирования, поэтому необходимо вручную добавить их в эту группу.

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

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

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

Не знаете, какие здесь должны быть группы и разрешения? Дополнительные сведения см. в статьях Добавление пользователей в проекты, Установка разрешений администратора для коллекций проектов, Установка разрешений администратора для Azure DevOps Server, учетные записи служб и зависимости в Azure DevOps Server.

Обновление кэша данных на клиентских компьютерах

Уведомить пользователей

Теперь, когда вы переместили Azure DevOps Server, вам нужно сообщить пользователям о том, как подключиться к перемещенному развертыванию. В частности, необходимо сообщить им следующее:

  • Имя нового сервера и URL для веб-портала, чтобы они могли повторно подключаться к своим проектам

  • Новые имена базы данных для отчетов, если развертывание подразумевает отчеты.

  • Новый URL-адрес SharePoint, если в рамках развертывания используется SharePoint.

  • Если они являются членами проекта, использующего Git, инструкции по обновлению каждого клона, который они имеют локально, для каждого репозитория в этом проекте. В частности, им необходимо выполнить следующую команду для каждого клона:

    git remote set-url <remote name> <new URL>
    

    Пользователи могут видеть, какой URL-адрес предназначен для каждого клона, просмотрев проект на вкладке Обозреватель.

    Копирование URL-адреса, по которому репозиторий будет клонирован вручную

Настройка резервного копирования.

Для старого развертывания были запланированы резервные копии, однако эти запланированные резервные копии не изменились в соответствии с перемещенным развертыванием. Их необходимо настроить.

  • В консоли администрирования перейдите к узлу запланированные резервные копии и повторно настройте запланированные резервные копии, чтобы создать резервные копии баз данных Azure DevOps Server на новом сервере. Дополнительные сведения см. в разделе Создание расписания и плана архивации.

Вопросы и ответы

Вопрос. я хочу изменить домены, а не физические серверы. Можно ли это сделать?

Ответ. Да. Это называется перемещением на основе среды, и действия можно найти здесь. Не пытайтесь объединить перемещение на основе среды с перемещением на основе оборудования. Сначала выполните перемещение оборудования, а затем измените среду.

Вопрос. я только что понял, что я хочу использовать старый Azure DevOps Server после перехода на новое оборудование. Можно ли это сделать?

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

Для устранения этой проблемы:

  1. Выполните команду TFSConfig PrepareClone на новом сервере.

  2. Выполните команду TFSConfig ChangeServerID на новом сервере.

  3. Выполните команду TFSConfig RemapDBs на новом сервере.

Вопрос. у меня есть развертывание, которое интегрируется с Project Server. Нужно ли выполнять дополнительные действия, чтобы заставить его работать с перемещенными Azure DevOps Server?

Ответ . Да, после завершения перемещения оборудования необходимо использовать команду TfsAdmin /регистерпва с параметрами /ТФС, /force и /ПВА для повторной регистрации Azure DevOps Server с Project Server. Дополнительные сведения об интеграции Azure DevOps Server с Project Server можно узнать здесь.