Verschieben oder Klonen von einer Hardware in 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 ihn auf neue Hardware wiederherstellen (als wiederherstellungsbasierte Verschiebung bezeichnet). Sie können z. B. Azure DevOps Server auf einen Server mit einer höheren Kapazität oder einer verbesserten Verarbeitungsgeschwindigkeit verschieben. Wenn Sie zu einem neuen Server wechseln, verlieren Sie keinen Der Projektverlauf.
Um Ihre Azure DevOps Server-Bereitstellung zu klonen, führen Sie dieselben Schritte wie eine Verschiebung und einige weitere schritte aus.
Sie führen eine Verschiebung durch, wenn Sie beabsichtigen, die Verwendung der ursprünglichen Hardware und der Azure DevOps Server-Bereitstellung einzustellen. Sie führen einen Klon aus, wenn Sie die ursprüngliche Azure DevOps Server-Instanz weiterhin verwenden möchten.
Wichtig
In einigen Fällen möchten Sie möglicherweise die Domäne einer Azure DevOps Server-Bereitstellung sowie deren Hardware ändern. Das Ändern der Domäne ist eine umgebungsbasierte Verschiebung, und Sie sollten die beiden Verschiebungstypen niemals kombinieren. Schließen Sie zuerst den Hardwareverschiebungsvorgang ab, und ändern Sie dann die Umgebung.
Überprüfen Ihrer Berechtigungen
Um Azure DevOps Server erfolgreich zu verschieben, müssen Sie ein Administrator auf beiden Hardwaregruppen (alt und neu) sein. Darüber hinaus müssen Sie ein Administrator (oder die entsprechenden Berechtigungen) für Azure DevOps Server und alle Software sein, von der Ihre Bereitstellung abhängt: SQL Server, Berichterstellung und andere Software, mit der Ihre Bereitstellung interoperates, z. B. Project Server.
Stellen Sie sicher, dass Sie Mitglied der folgenden Gruppen sind:
- Server: Administratoren (lokale Administratorengruppe oder gleichwertig)
- Azure DevOps Server: Team Foundation-Administratoren und Administratorkonsolenbenutzer
- SQL Server: sysadmin
Wenn Sie kein Mitglied einer oder mehrerer dieser Gruppen sind, erhalten Sie jetzt Berechtigungen.
Sichern von Datenbanken und Verschlüsselungsschlüsseln
Öffnen Sie die Verwaltungskonsole für Azure DevOps Server, und nehmen Sie auf der Seite "Geplante Sicherungen " eine vollständige Sicherung ein. Die Sicherung sichert alles, was Sie für die Sicherung in Ihrem Sicherungsplan konfiguriert haben. Dies geschieht jedoch sofort, nicht entsprechend der im Plan geplanten Zeit. Wenn Ihre Bereitstellung Berichte verwendet, können Sie den Verschlüsselungsschlüssel als Teil dieses Sicherungssatzes sichern.
(Wenn Sie keine Sicherungen konfiguriert haben, müssen Sie einen Plan erstellen, bevor Sie eine vollständige Sicherung durchführen können.)
Überprüfen Sie nach Abschluss der Sicherung, ob die Sicherung auf dem Speichergerät oder der Netzwerkfreigabe verfügbar ist, und dass Sie von der neuen Hardware aus 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 sie betriebsbereit ist. Wenn Ihre vorherige Bereitstellung Berichterstellung verwendet hat, stellen Sie sicher, dass Sie die Komponenten für Berichterstellung und Analysedienste einschließen. Sie müssen dieselbe Version und Edition installieren, die Sie zuvor verwendet haben, einschließlich Service Pack und kumulativer Updateebenen.
Alternativ können Sie eine Instanz von SQL Server auf einem Server erstellen, auf dem bereits eine übereinstimmende Version installiert ist, und die Azure DevOps Server-Datenbanken in dieser Instanz wiederherstellen. Dies erfordert jedoch eine weitere Konfiguration nach der Wiederherstellung.
Weitere Informationen zu optionen für die Installation und Konfiguration von SQL Server finden Sie hier.
Öffnen Sie nach der Installation von SQL Server, wenn Ihre Bereitstellung Berichte enthält, SQL Server Management Studio, und trennen Sie die ReportServer- und 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.
Installieren und Konfigurieren von 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 Ihre Bereitstellungskonfiguration
Installieren und konfigurieren Sie Windows, IIS (sofern nicht standardmäßig konfiguriert), und stellen Sie sicher, dass der Server und seine Software betriebsbereit sind.
Weitere Informationen finden Sie unter 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, jedoch nicht konfigurieren und dann die Wiederherstellungsfunktion im Knoten "Geplante Sicherungen" verwenden.
Wenn Sie Azure DevOps Server-Datenbanken manuell mithilfe von SQL Server-Wiederherstellungstools wiederherstellen möchten, ist dies jedoch ein schwierigeres Verfahren. Darüber hinaus müssen Sie die Datenbanken in der neuen Bereitstellung manuell aufheben. Der Wiederherstellungs-Assistent in Azure DevOps Server erledigt dies automatisch als Teil des Wiederherstellungsvorgangs, aber diese Funktionalität ist nicht Teil der Wiederherstellungstools von SQL Server.
Starten Sie das Azure DevOps Server-Installationsmedium. Wählen Sie auf der Seite "Team Foundation Server Setup" die Option "Installieren" aus.
Nach Abschluss der Installation wird das Team Foundation Server Configuration Center geöffnet. Schließen Sie es.
Die Verwaltungskonsole wird automatisch in einem nicht konfigurierten Zustand geöffnet. Dies entspricht dem erwarteten Verhalten.
Um den Wiederherstellungs-Assistenten zu starten, öffnen Sie die Verwaltungskonsole für Azure DevOps Server, und öffnen Sie geplante Sicherungen.
Geben Sie den Pfad zum Sicherungssatz an, und wählen Sie den Satz aus, den Sie nach dem Stilllegen der alten Bereitstellung erstellt haben.
Schließen Sie den Assistenten ab, und stellen Sie die Datenbanken in der neuen Instanz von SQL Server wieder her.
(Klonoption) Neukonfigurieren von Server-IDs und Neuzuordnung von Datenbanken
Hinweis
PrepareClone wurde für die Verwendung empfohlen, bevor eine neue Azure DevOps Server-Bereitstellung mithilfe einer Datenbanksicherung ausgeführt wird, die bereits in der Produktion auf einem anderen Server vorhanden ist. Dieser Befehl ist nicht mehr erforderlich, da wir seine Funktionalität in die Szenarien "Vorabproduktionsupgrade" und "Klonen" im Konfigurations-Assistenten integriert haben.
Führen Sie die nächsten Schritte auf dem neuen Anwendungsebenenserver aus, wenn Sie die ursprüngliche Azure DevOps Server-Instanz weiterhin verwenden möchten. Diese Schritte sind erforderlich, um das Risiko einer Beschädigung einer oder beider Bereitstellungen zu vermeiden. Wenn beide Server live sind, könnten Sie zu Beschädigungen führen, insbesondere, wenn sie auf die gleichen Berichtsressourcen verweisen.
Öffnen Sie ein Eingabeaufforderungsfenster als Administrator, und ändern Sie Verzeichnisse in Drive:%programfiles%\TFS 12.0\Tools. Öffnen Sie ein Eingabeaufforderungsfenster, und geben Sie Folgendes ein:
Führen Sie den BEFEHL TFSConfig PrepareClone aus, um Informationen zu geplanten Sicherungen und Berichtsressourcen zu entfernen.
TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL
Führen Sie den BEFEHL TFSConfig ChangeServerID aus, um die Server-GUIDs zu ändern, die den Datenbanken zugeordnet sind. GUIDs müssen innerhalb der Azure DevOps Server-Bereitstellung eindeutig sein.
TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]
Führen Sie den BEFEHL TFSConfig RemapDBs aus, um den geklonten Azure DevOps Server an seine Datenbanken umzuleiten.
TFSConfig RemapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,erverName2 [/AnalysisInstance:ServerName] [/AnalysisDatabaseName:DatabaseName] [/review] [/continue] [/usesqlalwayson]
Konfigurieren des Anwendungsebenenservers
Wählen Sie in der Verwaltungskonsole für Azure DevOps Server die Option "Installierte Features konfigurieren" aus, um das Konfigurationscenter zu starten.
Starten Sie den Assistenten "Nur Anwendung" und geben Sie in Datenbanken die neue SQL Server-Instanz an, in der Sie die Azure DevOps Server-Datenbanken wiederhergestellt haben. Wählen Sie in der Liste die Tfs_Configuration Datenbank aus.
Bevor Sie die letzte Seite des Assistenten schließen, suchen Sie nach dem Symbol "i". Es bedeutet Informationen, die Sie möglicherweise für zukünftige Verweise benötigen. Die letzte Seite enthält auch den Speicherort des Konfigurationsprotokolls.
Aktualisieren von Azure DevOps Server-URLs
Wechseln Sie zum Knoten "Anwendungsebene", und sehen Sie sich die Benachrichtigung und die Webportal-URLs an. Beachten Sie, dass sie weiterhin auf den Speicherort der alten Bereitstellung verweisen. Aktualisieren Sie sie.
Überprüfen Sie nach dem Aktualisieren der URLs mit dem Namen des neuen Servers die Informationen, um sicherzustellen, dass sie korrekt ist.
Aktualisieren aller Dienstkonten
Sie müssen das Dienstkonto für Azure DevOps Server (TFSService) und das Datenquellenkonto (TFSReports) aktualisieren. Auch wenn diese Konten nicht geändert wurden, müssen Sie die Informationen aktualisieren, um sicherzustellen, dass die Identität und das Format der Konten für den neuen Server geeignet sind.
Öffnen Sie ein Eingabeaufforderungsfenster als Administrator, und ändern Sie Verzeichnisse in Drive:\%programfiles%\TFS 12.0\Tools.
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
Geben Sie an der Eingabeaufforderung den folgenden Befehl ein, um das Datenquellenkonto hinzuzufügen:
TfsConfig-Konten /add /AccountType:ReportingDataSource /account: AccountName /SQLInstance:ServerName /DatabaseName:DatabaseName
Weitere Informationen finden Sie unter "Accounts Command".
Aktualisieren von Buildservern
Jetzt müssen Sie Ihre Buildserver umleiten, um auf die verschobene Azure DevOps Server-Bereitstellung zu verweisen.
Öffnen Sie auf jedem Buildserver die Verwaltungskonsole, und beenden Sie den Builddienst.
Aktualisieren Sie in den Eigenschaften für den Builddienst die Kommunikationseigenschaften.
Konfigurieren von Reporting and Analysis Services
Wenn Ihre Bereitstellung einen Berichtsserver verwendet, müssen Sie Azure DevOps Server an seinen Standort umleiten, das Lager neu starten und die Datenbank für Analysis Services manuell neu erstellen. Wenn Sie keine Berichterstellung verwenden, überspringen Sie dieses Verfahren.
Wechseln Sie zum Knoten "Berichterstellung". Die aufgelisteten Berichtsserverwerte sind die alten, nicht die neuen, also bearbeiten Sie sie.
Ändern Sie die Werte auf allen drei Registerkarten so, dass sie auf den neuen Server verweisen. Stellen Sie sicher, dass Sie die richtigen Informationen für das Datenquellenkonto in der neuen Bereitstellung angeben.
Wählen Sie "Aufträge starten" aus, um die Berichterstellung neu zu starten.
Wählen Sie "Neu erstellen " aus, um das Lager neu zu erstellen.
Überprüfen von Berechtigungen für Benutzer, Gruppen und Dienstkonten
Nachdem Sie zu neuer Hardware wechseln, stellen Sie sicher, dass alle Benutzer, Gruppen und Dienstkonten für Ihre Bereitstellung mit den Berechtigungen konfiguriert sind, die für die ordnungsgemäße Funktion auf jedem Server erforderlich sind. 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 Administratorgruppe auf dem Anwendungsebenenserver sein, um die Verwaltungskonsole zu öffnen, sodass Sie sie dieser Gruppe manuell hinzufügen müssen.
Melden Sie sich beim Server an, und stellen Sie sicher, dass Benutzer, Gruppen und Dienstkonten mit den berechtigungen konfiguriert sind, die für den Betrieb erforderlich sind. Überprüfen Sie manuell die Mitgliedschaft in Projektgruppen und Teams, und stellen Sie sicher, dass diese Gruppen und Teams über die erwarteten Berechtigungen verfügen.
Navigieren Sie zu einer Projektsammlung, und stellen Sie sicher, dass alle Projekte in dieser Auflistung erwartungsgemäß angezeigt werden, und dass Benutzer in diesen Projekten entsprechend auf ihre Arbeitsaufgaben zugreifen können.
Öffnen Sie das Webportal, und überprüfen Sie, ob Teamwebsites und -teams erwartungsgemäß angezeigt werden.
Sie sind nicht sicher, welche Gruppen und Berechtigungen erwartet werden sollen? 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 Arbeitsaufgaben und für die Azure DevOps-Versionssteuerung 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 aktualisieren möchten, wenn sie sich das nächste Mal anmelden, verwenden Sie den Befehl "witadmin rebuildcache" .
Hinweis
Wenn Sie Ihre Datenbanken zu einem anderen Zeitpunkt wiederhergestellt haben, müssen Sie auch den Versionsverwaltungscache aktualisieren, wie in "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 können. Insbesondere müssen Sie ihnen die folgenden Informationen geben:
Der Name des neuen Servers und die URL für das Webportal, sodass sie erneut eine Verbindung mit ihren Projekten herstellen können.
Die neuen Datenbanknamen für die Berichterstellung, wenn die Berichterstellung Teil Ihrer Bereitstellung ist
Wenn sie Mitglieder eines Projekts sind, das Git verwendet, anweisungen zum Aktualisieren aller Klone, die sie lokal für jedes Repository für dieses Projekt haben. Insbesondere müssen sie den folgenden Befehl für jeden Klon 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.
Konfigurieren von Sicherungen
Obwohl Sie Sicherungen für Ihre alte Bereitstellung geplant hatten, wurden diese geplanten Sicherungen nicht geändert, um Ihre verschobene Bereitstellung zu sichern. Sie müssen sie konfigurieren.
- Wechseln 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 Erstellen eines Sicherungszeitplans und -plans.
Fragen und Antworten
F: Ich möchte Domänen ändern, nicht physische Server. Ist das möglich?
A: Ja. Dies wird als umgebungsbasierte Verschiebung bezeichnet, und die Schritte finden Sie hier. Sie sollten nicht versuchen, eine umgebungsbasierte Verschiebung mit einer hardwarebasierten Verschiebung zu kombinieren. Schließen Sie zuerst den Hardwareverschiebungsvorgang ab, und ändern Sie dann die Umgebung.
F: Ich habe gerade erkannt, dass ich meinen alten Azure DevOps Server weiterhin verwenden möchte, nachdem ich auf neue Hardware umgezogen bin. Ist das möglich?
A: Ja, aber es ist sehr wichtig, dass Sie sofort zusätzliche Schritte ausführen. Im Idealfall sollten Sie diese Schritte im Rahmen der Verschiebung oder der Klonschritte ausgeführt haben. Dies ist die beste Möglichkeit, das Risiko einer Beschädigung einer oder beider Bereitstellungen zu vermeiden. Wenn beide Server live sind, könnten Sie zu Beschädigungen führen, insbesondere, wenn sie auf die gleichen Berichtsressourcen verweisen.
So beheben Sie dieses Problem:
Ausführen des BEFEHLS TFSConfig PrepareClone auf dem neuen Server
Ausführen des TFSConfig ChangeServerID-Befehls auf dem neuen Server
Ausführen des Befehls "TFSConfig RemapDBs" auf dem neuen Server
F: Ich habe eine Bereitstellung, die in Project Server integriert ist. Muss ich zusätzliche Schritte ausführen, um die Arbeit mit meinem verschobenen Azure DevOps Server zu erreichen?
A: Ja, nachdem Sie die Hardwareverschiebung abgeschlossen haben, müssen Sie den TFSAdmin ProjectServer /RegisterPWA-Befehl mit den Optionen "/tfs", "/force" und "/pwa" verwenden, um Azure DevOps Server mit Project Server neu zu registrieren. Weitere Informationen zur Azure DevOps Server-Integration in Project Server finden Sie hier.