Verschieben oder Klonen von einer Hardware auf eine andere für Azure DevOps lokal

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

Sie können Ihre Bereitstellung von Azure DevOps Server Software verschieben oder klonen. Sie verschieben Azure DevOps Server von einem Computer auf einen anderen, indem Sie sie auf neuer Hardware wiederherstellen (als wiederherstellungsbasierte Verschiebung bezeichnet). Beispielsweise können Sie Azure DevOps Server auf einen Server mit höherer Kapazität oder höherer Verarbeitungsgeschwindigkeit verschieben. Wenn Sie zu einem neuen Server wechseln, verlieren Sie keinen Projektverlauf.

Um Ihre Azure DevOps Server Bereitstellung zu klonen, führen Sie die gleichen Schritte wie eine Verschiebung und einige zusätzliche Schritte aus.

Sie führen eine Verschiebung durch, wenn Sie planen, die Verwendung der ursprünglichen Hardware und Azure DevOps Server Bereitstellung einzustellen. Sie führen einen Klon aus, wenn Sie die ursprüngliche Azure DevOps Server instance weiterhin verwenden möchten.

Wichtig

In einigen Situationen können Sie die Domäne einer Azure DevOps Server Bereitstellung sowie die Zugehörige Hardware ändern. Die Änderung der Domäne ist eine umgebungsbasierte Verschiebung, und die beiden Verschiebungstypen dürfen niemals kombiniert werden. Schließen Sie zunächst die Hardwareverschiebung ab, und ändern Sie erst dann die Umgebung.

Überprüfen Ihrer Berechtigungen

Um Azure DevOps Server erfolgreich zu verschieben, müssen Sie ein Administrator für beide Hardwaresätze (alte und neue) sein. Darüber hinaus müssen Sie Administrator sein (oder über die entsprechenden Berechtigungen) für Azure DevOps Server und die gesamte Software verfügen, von der Ihre Bereitstellung abhängt: SQL Server, Berichterstellung und jede andere Software, mit der Ihre Bereitstellung interagiert, z. B. Project Server.

Stellen Sie sicher, dass Sie Mitglied der folgenden Gruppen sind:

  • Server: Administratoren (lokale Administratorengruppe oder entsprechend)
  • Azure DevOps Server: Team Foundation-Administratoren und benutzer der Admin-Konsole
  • SQL Server: sysadmin

Wenn Sie kein Mitglied einer oder mehrerer dieser Gruppen sind, erhalten Sie jetzt Berechtigungen.

Sichern von Datenbanken und Verschlüsselungsschlüsseln

  1. Öffnen Sie die Verwaltungskonsole für Azure DevOps Server, und erstellen Sie auf der Seite Geplante Sicherungen eine vollständige Sicherung. Die Sicherung sichert alles, was Sie im Sicherungsplan zur Sicherung konfiguriert haben, jedoch sofort, nicht erst zu dem Zeitpunkt, der im Plan angegeben ist. Wenn die Bereitstellung Berichterstellung verwendet, können Sie den Verschlüsselungsschlüssel als Teil dieses Sicherungssatzes speichern.

    Das Fenster kann geschlossen werden, während der Auftrag abgeschlossen wird

    (Wenn Sie keine Sicherungen konfiguriert haben, müssen Sie einen Plan erstellen , bevor Sie eine vollständige Sicherung erstellen können.)

  2. Wenn die Sicherung abgeschlossen ist, überprüfen Sie, ob die Sicherung auf dem Datenträger oder der Netzwerkfreigabe verfügbar ist und ob Sie von der neuen Hardware auf diese Sicherung zugreifen können.

Installieren und Konfigurieren von SQL Server auf dem neuen Datenebenenserver

  • Installieren Sie SQL Server auf dem neuen Server, und stellen Sie sicher, dass er betriebsbereit ist. Wenn die vorherige Bereitstellung Berichterstellung verwendet, müssen Sie auch die Berichterstellungs- und Analysedienstkomponenten aufnehmen. Sie müssen die gleiche Version und Edition installieren, die Sie zuvor verwendet haben, einschließlich der Service Packs und kumulativen Updates.

    SQL Server 2008 R2 installieren - Funktionen

    Alternativ können Sie eine instance von SQL Server auf einem Server erstellen, auf dem bereits eine übereinstimmende Version installiert ist, und die Azure DevOps Server Datenbanken in diesem instance wiederherstellen. Hierfür ist jedoch eine weitere Konfiguration nach der Wiederherstellung erforderlich.

    Weitere Informationen zu Optionen zum Installieren und Konfigurieren von SQL Server finden Sie hier.

    Wenn die Bereitstellung Berichterstellung umfasst, öffnen Sie, nachdem Sie SQL Server installiert haben, SQL Server Management Studio, und trennen Sie die ReportServer- oder ReportServerTempDB-Datenbanken. Andernfalls können Sie diese Datenbanken möglicherweise nicht mit der Sicherung wiederherstellen, die Sie für die Azure DevOps Server Datenbanken erstellt haben.

    Vorhandene Datenbanken müssen vor dem Wiederherstellen getrennt werden

Installieren und Konfigurieren der Software auf dem neuen Anwendungsebenenserver

Um einen neuen Server oder Server für Azure DevOps Server zu konfigurieren, müssen Sie zuerst die Software installieren und konfigurieren, die für die Unterstützung erforderlich ist. Diese Software umfasst die folgenden Komponenten:

  • ein unterstütztes Betriebssystem für die Bereitstellungskonfiguration

  • Installieren und konfigurieren Sie Windows, IIS (sofern nicht standardmäßig konfiguriert), und stellen Sie sicher, dass der Server und die zugehörige Software betriebsbereit sind. 

    Weitere Informationen finden Sie in den Systemanforderungen für Azure DevOps Server.

Wiederherstellen der Azure DevOps Server Datenbanken

Um die Azure DevOps Server Datenbanken mithilfe des Wiederherstellungstools wiederherzustellen, müssen Sie Azure DevOps Server auf dem neuen Datenebenenserver installieren, aber nicht konfigurieren und dann die Wiederherstellungsfunktion im Knoten Geplante Sicherungen verwenden.

Wenn Sie Azure DevOps Server Datenbanken manuell mithilfe SQL Server Wiederherstellungstools wiederherstellen möchten, ist dies jedoch schwieriger. Außerdem müssen Sie die Datenbanken in der neuen Bereitstellung manuell aus dem Ruhemodus wecken. Der Wiederherstellungs-Assistent in Azure DevOps Server übernimmt dies automatisch im Rahmen des Wiederherstellungsprozesses, aber diese Funktionalität ist nicht Teil der Wiederherstellungstools von SQL Server.

  1. Starten Sie das Azure DevOps Server Installationsmedium. Wählen Sie auf der Seite Team Foundation Server-Setupdie Option Installieren aus.

  2. Nach Abschluss der Installation wird das Team Foundation Server Configuration Center geöffnet. Schließen Sie es.

    Die Verwaltungskonsole wird automatisch in unkonfiguriertem Zustand geöffnet. Dies entspricht dem erwarteten Verhalten.

  3. Öffnen Sie zum Starten des Wiederherstellungs-Assistenten die Verwaltungskonsole für Azure DevOps Server, und öffnen Sie Geplante Sicherungen.

    Wiederherstellungs-Assistenten starten

  4. Geben Sie den Pfad zum Sicherungssatz an, und wählen Sie den Satz aus, den Sie erstellt haben, nachdem Sie die alte Bereitstellung in den Ruhezustand versetzt hatten.

    Den Netzwerkpfad und dann den Wiederherstellungssatz auswählen

  5. Schließen Sie den Assistenten ab, und stellen Sie die Datenbanken auf der neuen Instanz von SQL Server wieder her.

    Die Datenbank werden auf dem neuen Server wiederhergestellt.

(Klonoption) Neukonfigurieren von Server-IDs und Neuzuordnen von Datenbanken

Hinweis

PrepareClone wurde früher für die Verwendung empfohlen, bevor eine neue Azure DevOps Server Bereitstellung mithilfe einer Datenbanksicherung, die sich bereits in der Produktion auf einem anderen Server befindet, eingerichtet wurde. Dieser Befehl ist nicht mehr erforderlich, da wir seine Funktionalität im Konfigurations-Assistenten in die Szenarien "Upgrade vor der Produktion" und "Klonen" integriert haben.

Führen Sie die nächsten Schritte auf dem neuen Anwendungsschichtserver aus, wenn Sie die ursprüngliche Azure DevOps Server instance weiterhin verwenden möchten. Diese Schritte sind notwendig, um die potenzielle Beschädigung einer oder sogar beider Bereitstellungen zu verhindern. Wenn beide Server live sind, kann es zu Beschädigungen kommen, insbesondere wenn sie auf die gleichen Berichtsressourcen verweisen.

  1. Öffnen Sie ein Eingabeaufforderungsfenster als Administrator, und ändern Sie die Verzeichnisse in Drive:%programfiles%\TFS 12.0\Tools. Öffnen Sie ein Eingabeaufforderungsfenster und geben Sie Folgendes ein:

  2. Führen Sie den TFSConfig PrepareClone-Befehl aus, um Informationen zu geplanten Sicherungen und Berichtsressourcen zu entfernen.

    TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL
    
  3. Führen Sie den TFSConfig-Befehl ChangeServerID aus, um die Server-GUIDs zu ändern, die den Datenbanken zugeordnet sind. GUIDs müssen innerhalb Azure DevOps Server Bereitstellung eindeutig sein.

    TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]
    
  4. Führen Sie den BEFEHL TFSConfig RemapDBs aus, um die geklonten Azure DevOps Server an die zugehörigen Datenbanken umzuleiten.

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

Konfigurieren des Anwendungsebenenservers

  1. Wählen Sie in der Verwaltungskonsole für Azure DevOps Server die Option Installierte Features konfigurieren aus, um das Konfigurationscenter zu starten.

  2. Starten Sie den Assistenten Application-Tier Nur, und geben Sie unter Datenbanken die neue SQL Server instance an, in der Sie die Azure DevOps Server Datenbanken wiederhergestellt haben. Wählen Sie die Datenbank "Tfs_Configurations" aus der Liste aus.

    SQL Server und Datenbanksicherungssatz auswählen

  3. Halten Sie, bevor Sie die letzte Seite des Assistenten schließen, nach dem "i"-Symbol Ausschau. Es signalisiert Informationen, die Sie möglicherweise später noch benötigen. Die letzte Seite enthält auch den Speicherort des Konfigurationsprotokolls.

    Notieren Sie alle Probleme und den Speicherort der Protokolldatei

Aktualisieren Azure DevOps Server URLs

  1. Wechseln Sie zum Knoten auf Anwendungsebene, und sehen Sie sich die Benachrichtigung und die Webportal-URLs an. Sie sehen, dass sie nach wie vor auf den Speicherort der alten Bereitstellung verweisen. Aktualisieren Sie sie.

    Die Benachrichtigungs- und Web-URLs sind veraltet

  2. Nachdem Sie die URLs mit dem Namen des neuen Servers aktualisiert haben, überprüfen Sie, ob die Informationen korrekt sind.

    Server-URL verwendet weiterhin localhost

Aktualisieren aller Dienstkonten

Sie müssen das Dienstkonto für Azure DevOps Server (TFSService) und das Datenquellenkonto (TFSReports) aktualisieren. Auch wenn sich diese Konten nicht geändert haben, müssen Sie die Informationen aktualisieren, um sicherzustellen, dass die Identität und das Format der Konten für den neuen Server geeignet sind.

  1. Öffnen Sie ein Eingabeaufforderungsfenster als Administrator, und ändern Sie die Verzeichnisse in Laufwerk:\%programfiles%\TFS 12.0\Tools.

  2. Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um das Dienstkonto für Azure DevOps hinzuzufügen, wobei DatabaseName der Name der Konfigurationsdatenbank ist (standardmäßig TFS_Configuration):

    TfsConfig-Konten /add /AccountType:ApplicationTier /account:AccountName/SQLInstance:ServerName/DatabaseName:DatabaseName

  3. Geben Sie an der Eingabeaufforderung den folgenden Befehl zum Hinzufügen des Datenquellenkontos ein:

    TfsConfig-Konten /add /AccountType:ReportingDataSource /account:AccountName/SQLInstance:ServerName/DatabaseName:DatabaseName

    Weitere Informationen finden Sie unter Kontobefehl.

Aktualisieren der Buildserver

Jetzt müssen Sie Ihre Buildserver umleiten, um auf die verschobene Azure DevOps Server Bereitstellung zu verweisen.

  1. Öffnen Sie auf jedem Buildserver die Verwaltungskonsole, und beenden Sie den Builddienst.

  2. Aktualisieren Sie in den Eigenschaften für den Builddienst die Kommunikationseigenschaften.

    Den Dienst beenden und dann Änderungen vornehmen

Konfigurieren von Reporting und Analysis Services

Wenn Ihre Bereitstellung einen Berichtsserver verwendet, müssen Sie Azure DevOps Server an seinen Speicherort umleiten, das Warehouse neu starten und die Datenbank für Analysis Services manuell neu erstellen. Wenn Sie die Berichterstellung nicht verwenden, lassen Sie dieses Verfahren aus.

  1. Wechseln Sie zum Knoten "Berichterstellung". Die aufgelisteten Berichtsserverwerte sind die alten, nicht die neuen; bearbeiten Sie sie also.

    Berichte zeigen weiterhin auf den alten Server

  2. Ändern Sie die Werte auf allen drei Registerkarten so ab, dass sie auf den neuen Server verweisen. Geben Sie unbedingt die korrekten Informationen für das Datenquellenkonto in der neuen Bereitstellung an.

    Vergewissern Sie sich, dass die Informationen auf allen 3 Registerkarten richtig sind

  3. Wählen Sie Aufträge starten aus, um die Berichterstellung neu zu starten.

  4. Wählen Sie Neu erstellen starten aus, um das Warehouse neu zu erstellen.

Überprüfen von Berechtigungen für Benutzer, Gruppen und Dienstkonten

Stellen Sie nach der Verschiebung auf neue Hardware sicher, dass alle Benutzer, Gruppen und Dienstkonten für die Bereitstellung mit den Berechtigungen konfiguriert werden, die sie benötigen, um ordnungsgemäß auf den einzelnen Servern zu funktionieren. Einige Berechtigungen, z. B. zusätzliche Berechtigungen in SQL Server oder auf dem lokalen Computer, können nicht automatisch migriert werden. Beispielsweise müssen Azure DevOps-Administratoren Mitglieder der lokalen Gruppe Administratoren auf dem Anwendungsebenenserver sein, um die Verwaltungskonsole öffnen zu können. Daher müssen Sie sie dieser Gruppe manuell hinzufügen.

  • Melden Sie sich am Server an, und stellen Sie sicher, dass Benutzer, Gruppen und Dienstkonten mit den erforderlichen Berechtigungen für Vorgang konfiguriert werden. Überprüfen Sie manuell anhand von Stichproben die Mitgliedschaft in den Projektgruppen und Teams, und sehen Sie nach, ob diese Gruppen und Teams über die erwarteten Berechtigungen verfügen.

  • Navigieren Sie zu einer Projektsammlung, und stellen Sie sicher, dass alle Projekte in dieser Sammlung wie erwartet angezeigt werden und dass Benutzer in diesen Projekten entsprechend auf ihre Arbeitselemente zugreifen können.

  • Öffnen Sie das Webportal, und vergewissern Sie sich, dass Teamwebsites und Teams wie erwartet angezeigt werden.

Sind Sie nicht sicher, welche Gruppen und Berechtigungen zu erwarten sind? Weitere Informationen finden Sie unter Hinzufügen von Benutzern zu Projekten, Festlegen von Administratorberechtigungen für Projektsammlungen, Festlegen von Administratorberechtigungen für Azure DevOps Server und Dienstkonten und Abhängigkeiten in Azure DevOps Server.

Aktualisieren des Datencaches auf Clientcomputern

  • Melden Sie sich beim Server an, und verwenden Sie den ClientService-Webdienst , um Clients zu erzwingen, den Cache für die Nachverfolgung von Arbeitselementen und für die Azure DevOps-Versionskontrolle zu aktualisieren.

    http://ServerName:8080/tfs/WorkItemTracking/v3.0/ClientService.asmx
    

    Weitere Informationen finden Sie unter Aktualisieren der Datencaches auf Clientcomputern.

    Wenn Sie den gesamten Cache für alle Benutzer bei der nächsten Anmeldung aktualisieren möchten, verwenden Sie den Befehl witadmin rebuildcache .

    Hinweis

    Wenn Sie Ihre Datenbanken zu einem anderen Zeitpunkt wiederhergestellt haben, müssen Sie auch den Versionskontrollcache aktualisieren, wie unter Aktualisieren der Datencaches auf Clientcomputern dokumentiert.

Benachrichtigen von Benutzern

Nachdem Sie Azure DevOps Server verschoben haben, müssen Sie Ihren Benutzern mitteilen, wie sie eine Verbindung mit der verschobenen Bereitstellung herstellen. Insbesondere müssen Sie ihnen die folgenden Informationen geben:

  • Der Name des neuen Servers und die URL für das Webportal, damit sie wieder eine Verbindung mit ihren Projekten herstellen können.

  • Die neuen Datenbanknamen für die Berichterstellung, wenn die Berichterstellung Teil der Bereitstellung ist

  • Wenn sie Mitglieder eines Projekts sind, das Git verwendet, sollten Sie Anweisungen zum Aktualisieren jedes klonen, über das sie lokal für jedes Repository für dieses Projekt verfügen. Insbesondere müssen sie für jeden Klon den folgenden Befehl ausführen:

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

    Benutzer können sehen, was die URL für jeden Klon ist, indem sie das Projekt über die Registerkarte Explorer durchsuchen.

    URL wird für das manuelle Klonen eines Repositorys kopiert

Konfigurieren von Sicherungen

Auch wenn Sie bereits Sicherungen für die alte Bereitstellung geplant haben, wurden diese geplanten Sicherungen nicht geändert, und die verschobene Bereitstellung wird nicht gesichert. Sie müssen sie noch konfigurieren.

  • Navigieren Sie in der Verwaltungskonsole zum Knoten Geplante Sicherungen, und konfigurieren Sie die geplanten Sicherungen neu, um die Azure DevOps Server Datenbanken auf dem neuen Server zu sichern. Weitere Informationen finden Sie unter Create eines Sicherungszeitplans und -plans.

Fragen und Antworten

F: Ich möchte die Domäne wechseln, nicht den eigentlichen Server. Ist das möglich?

A: Ja. Dies wird als umgebungsbasiertes Verschieben bezeichnet, und die Schritte finden Sie hier. Versuchen Sie nicht, eine umgebungsbasierte Verschiebung mit einer hardwarebasierten Verschiebung zu kombinieren. Schließen Sie zunächst die Hardwareverschiebung ab, und ändern Sie erst dann die Umgebung.

F: Ich habe gerade gemerkt, dass ich meine alte Azure DevOps Server nach dem Wechsel zu neuer Hardware weiter verwenden möchte. Ist das möglich?

Eine: Ja, aber es ist sehr wichtig, dass Sie sofort zusätzliche Schritte ausführen. Idealerweise sollten Sie diese Schritte bereits beim Verschieben oder Klonen durchgeführt haben. So können Sie am besten die potenzielle Beschädigung einer oder sogar beider Bereitstellungen verhindern. Wenn beide Server live sind, kann es zu Beschädigungen kommen, insbesondere wenn sie auf die gleichen Berichtsressourcen verweisen.

So beheben Sie dieses Problem:

  1. Ausführen des TFSConfig PrepareClone-Befehls auf dem neuen Server

  2. Führen Sie den TFSConfig ChangeServerID-Befehl auf dem neuen Server aus.

  3. Ausführen des TFSConfig RemapDBs-Befehls auf dem neuen Server

F: Ich habe eine Bereitstellung, die in Project Server integriert ist. Muss ich zusätzliche Schritte ausführen, damit es mit meinem verschobenen Azure DevOps Server funktioniert?

Eine: Ja, nachdem Sie die Hardwareverschiebung abgeschlossen haben, müssen Sie den Befehl TFSAdmin ProjectServer/RegisterPWA mit den Optionen /tfs, /force und /pwa verwenden, um Azure DevOps Server bei Project Server erneut zu registrieren. Weitere Informationen zu Azure DevOps Server Integration in Project Server finden Sie hier.