Поделиться через


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

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Вы можете переместить или клонировать развертывание программного обеспечения 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, отчеты и любое другое программное обеспечение, с которым взаимодействует развертывание, например Project Server.

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

  • Серверы: администраторы (локальные администраторы или эквивалентные)
  • Azure DevOps Server: администраторы Team Foundation и пользователи консоли администрирования
  • SQL Server: sysadmin

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

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

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

    Окно можно закрыть, пока задание завершится.

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

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

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

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

    Установка 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, необходимо сначала установить и настроить программное обеспечение, необходимое для его поддержки. Это программное обеспечение включает следующие компоненты:

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

  • Установите и настройте Windows, IIS (если он не настроен по умолчанию), и убедитесь, что сервер и его программное обеспечение работают. 

    Дополнительные сведения см . в требованиях к системе для Azure DevOps Server.

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

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

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

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

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

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

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

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

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

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

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

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

(Клонировать параметр) Перенастройка идентификаторов серверов и повторное сопоставление баз данных

Примечание.

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

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

  1. Откройте окно командной строки от имени администратора и измените каталоги на Drive:%programfiles%\TFS 12.0\Tools. Откройте окно командной строки и введите:

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

    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 на свои базы данных.

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

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

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

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

    Выбор набора резервных копий SQL Server и базы данных

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

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

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

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

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

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

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

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

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

  1. Откройте окно командной строки от имени администратора и измените каталоги на Drive:\%programfiles%\TFS 12.0\Tools.

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

    Учетные записи TfsConfig /add /AccountType:ApplicationTier /account: AccountName /SQLInstance: ServerName /DatabaseName: DatabaseName: DatabaseName

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

    Учетные записи TfsConfig /add /AccountType:ReportingDataSource /account: AccountName /SQLInstance:ServerName /DatabaseName:DatabaseName:DatabaseName

    Дополнительные сведения см. в разделе "Команда учетных записей".

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

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

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

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

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

Настройка служб Reporting и Analysis Services

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

  1. Перейдите на узел отчетов. Перечисленные значения сервера отчетов являются старыми, а не новыми, поэтому измените их.

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

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

    Убедитесь, что информация правильна на всех 3 вкладках

  3. Нажмите кнопку "Пуск заданий ", чтобы перезапустить отчеты.

  4. Нажмите кнопку "Начать перестроение", чтобы перестроить хранилище.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтобы устранить эту проблему, выполните следующие действия.

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

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

  3. Запуск команды TFSConfig RemapDBs на новом сервере

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

Ответ. Да, после завершения перемещения оборудования необходимо использовать команду TFSAdmin ProjectServer /RegisterPWA с параметрами /tfs, /force и /pwa , чтобы повторно зарегистрировать Azure DevOps Server в Project Server. Дополнительные сведения об интеграции Azure DevOps Server с Project Server см. здесь.