Hinweis
Enterprise Live Migrations ist in Öffentliche Vorschau und kann geändert werden.
Wenn bei Ihrer Migration ein Problem auftritt, überprüfen Sie den Migrationsstatus mit elm migration status --migration-id MIGRATION-ID und sehen Sie sich die Fehlerinformationen an.
Status und empfohlene Aktionen
| Status | Bedeutung | Empfohlene Maßnahme |
|---|---|---|
| Erstellt | Die Migration wurde erstellt, aber noch nicht gestartet. | Ausführen elm migration start |
| Queued | Die Migration wartet auf den Start | Warten |
| Exportieren | Daten werden aus der Quelle exportiert. | Überwachen mit elm migration status |
| Verarbeitung | Exportierte Daten werden an das Ziel importiert. | Überwachen mit elm migration status |
| Bereit für die Umschaltung | Die erste Migration ist abgeschlossen, und die Migration ist für die Übernahme bereit. | Wenn Sie bereit sind, führen Sie elm migration cutover-to-destination aus. |
| Schneiden | Das Quell-Repository ist gesperrt, und die verbleibenden Änderungen werden auf das Ziel angewendet. | Monitor; der Status wechselt zu "Abgeschlossen" |
| Completed | Die Migration wurde erfolgreich abgeschlossen. | Überprüfen des Ziel-Repositorys und Zurückfordern von Mannequins |
| Fehler | Bei der Migration ist ein nicht wiederherstellbarer Fehler aufgetreten. | Untersuchen des Fehlers (siehe unten) |
| Pausiert | Die Migration wird angehalten. | Überprüfen Sie den Grund für die Unterbrechung und beheben Sie ihn (siehe unten). |
| beendet | Die Migration wurde abgebrochen. | N/A |
| Beeinträchtigt | Das Ziel ist nicht erreichbar. | Überprüfen der Netzwerkkonnektivität zwischen der GitHub Enterprise Server-Appliance und GHE.com (siehe unten) |
Der Migrationsstatus lautet "Fehlgeschlagen"
Eine Migration wechselt in den Status "Fehler" , wenn ein nicht behebbarer Fehler verhindert, dass sie fortgesetzt wird. Dies unterscheidet sich von einzelnen Ressourcen, die nicht importiert werden konnten . Eine fehlgeschlagene Migration bedeutet, dass die Migration selbst nicht fortgesetzt werden kann.
Führen Sie elm migration status --migration-id MIGRATION-ID aus und prüfen Sie die Fehlerdetails in der Antwort, um sie zu untersuchen. Jeder Fehler enthält eine Korrelations-ID im Format (Correlation ID for Support: UUID). Wenn Sie kontaktieren GitHub-Support, geben Sie diese ID an, damit das Supportteam untersuchen kann.
Nachdem das zugrunde liegende Problem behoben wurde, brechen Sie die fehlgeschlagene Migration mit elm migration cancel --migration-id MIGRATION-ID ab und starten Sie eine neue Migration.
Der Migrationsstatus ist „Angehalten“
Eine Migration wechselt in den Status " Angehalten ", wenn für ein Problem ein Eingreifen erforderlich ist, bevor sie fortgesetzt werden kann. Führen Sie elm migration status --migration-id MIGRATION-ID aus und überprüfen Sie den Grund für die Unterbrechung.
Häufige Pausengründe:
- Anmeldeinformationen abgelaufen: Eine der personal access tokens (classic) Anmeldeinformationen ist abgelaufen. Erstellen Sie ein neues Token mit den erforderlichen Bereichen, und aktualisieren Sie es mit
elm credential update. Starten Sie dann die Migration neu. - Ratenbegrenzung: Die Migration stieß auf API-Ratenbegrenzungen. Warten Sie einige Minuten, und starten Sie es dann neu.
So starten Sie eine angehaltene Migration nach dem Beheben des zugrunde liegenden Problems neu:
elm migration start --migration-id MIGRATION-ID
Migrationsstatus ist "Herabgestuft"
Ein herabgestufter Status bedeutet, dass der Migrationsdienst in der GitHub Enterprise Server Appliance das Zielunternehmen nicht erreichen kann. Die Migration wird auf der Quellseite fortgesetzt, der Zielstatus ist jedoch unbekannt.
Überprüfen Sie die Netzwerkkonnektivität zwischen dem GitHub Enterprise Server-Gerät und Ihrer Unterdomäne GHE.com, und führen Sie dann elm migration status --migration-id MIGRATION-ID erneut aus. Die Statusantwort enthält einen Zeitstempel für den letzten erfolgreichen Kontakt mit dem Ziel, mit dem Sie beurteilen können, wie lange das Verbindungsproblem aufgetreten ist.
Die Migration bleibt beim "Exportieren" hängen
Wenn Ihre Migration 30 Minuten oder länger im Status Exporting ohne Fortschritt verbleibt, hat sich der Exporter möglicherweise aufgehängt.
-
Führen Sie
elm migration status --migration-id MIGRATION-IDaus und notieren Sie, ob sich die Ressourcenzahlen ändern. -
Wenn die Zählerstände unverändert bleiben, überprüfen Sie die Netzwerkverbindung der Appliance zum Ziel.
-
Überprüfen von Exporterprotokollen in der GitHub Enterprise Server Appliance (erfordert SSH-Administratorzugriff):
Shell journalctl -t elm-exporter-backfiller --since "1 hour ago" | tail -50 journalctl -t elm-exporter-sender --since "1 hour ago" | tail -50
journalctl -t elm-exporter-backfiller --since "1 hour ago" | tail -50 journalctl -t elm-exporter-sender --since "1 hour ago" | tail -50 -
Wenn die Exporteraufgabe abgestürzt ist, sollte sie automatisch wiederhergestellt werden. Wenn dies nicht der Fall ist, wenden Sie sich an GitHub-Support.
Git-Synchronisierung nicht abgeschlossen
Wenn elm migration status angezeigt wird, dass der anfängliche Git-Push nach einem längeren Zeitraum nicht abgeschlossen wurde, überprüfen Sie die Git-Synchronisierungsprotokolle:
journalctl -t elm-exporter-git-syncer --since "2 hours ago"
journalctl -t elm-exporter-git-syncer --since "2 hours ago"
Suchen nach:
connection refused: Ein Netzwerkproblem zwischen der GitHub Enterprise Server Appliance und dem Ziel. Überprüfen Sie Firewallregeln und DNS-Auflösung.authentication failed: personal access token (classic) verfügt möglicherweise nicht über die erforderlichen Berechtigungen oder ist abgelaufen.remote: error: Das Ziel kann den Push ablehnen. Wenden Sie sich mit den Fehlerdetails an GitHub-Support.
Einige Ressourcen konnten nicht importiert werden.
Einzelne Ressourcen können nicht importiert werden, ohne dass die gesamte Migration fehlschlägt. Die Anzahl der fehlgeschlagenen Ressourcen wird in der Ausgabe von elm migration status --migration-id MIGRATION-IDangezeigt.
Fehlgeschlagene Ressourcen werden erst angezeigt, nachdem alle automatischen Wiederholungsversuche erschöpft sind, sodass die angezeigten Fehler ohne Eingreifen als unlösbar bestätigt werden. Überprüfen Sie die Fehlerdetails in der Statusantwort: "state": "failed" wird für jede Ressource angezeigt, die in der Rückfüllung oder bei Live-Updates fehlgeschlagen ist.
Wenn die Anzahl und Arten der fehlgeschlagenen Ressourcen als akzeptabel gelten, können Sie mit der Übernahme fortfahren. Falls nicht, beenden Sie die Migration, beheben Sie das zugrunde liegende Problem, und starten Sie dann eine neue Migration.
Der Umstellungsvorgang ist fehlgeschlagen, und das Quell-Repository ist gesperrt.
Wenn ein Cutover-Fehler auf halbem Weg auftritt, bleibt das Quell-Repository möglicherweise gesperrt oder archiviert. Dadurch wird verhindert, dass Entwickler an die Quelle pushen, während das Ziel möglicherweise noch unvollständig ist.
Um das Quell-Repository zu entsperren, muss ein Websiteadministrator es von der GitHub Enterprise ServerVerwaltungskonsole.
Nachdem die Quelle entsperrt wurde, können Sie entweder den Cutover erneut versuchen mit elm migration cutover-to-destination --migration-id MIGRATION-ID oder die Migration mit elm migration cancel --migration-id MIGRATION-ID abbrechen und eine neue Migration starten, wenn Sie bereit sind.
Die Migration muss aufgrund eines erzwungenen Push neu gestartet werden.
Wenn jemand während einer Migration in den Standardbranch des Quell-Repositorys force-pusht, wird die Git-Synchronisierung zwischen Quell- und Ziel-Repository unterbrochen. Erzwingt das Neuschreiben des Commitverlaufs auf eine Weise, die nicht schrittweise abgeglichen werden kann.
Wenn dies der Fall ist, brechen Sie die Migration mit elm migration cancel --migration-id MIGRATION-ID ab und starten Sie eine neue Migration. Teilen Sie Ihrem Team vor dem Neustart mit, dass erzwungene Pushs zu dem Standardzweig nicht gestattet sind, solange eine Migration aktiv ist.
Zugriffstoken wurde abgelehnt
Wenn ihre Migration mit einem Authentifizierungsfehler fehlschlägt, überprüfen Sie Folgendes:
- Sowohl die Quell- als auch die Zieltoken sind personal access tokens (classic). Feinkörnige Token werden nicht unterstützt.
- Die Token weisen die bereiche auf, die in Migrieren Ihres Repositorys mit Enterprise Live-Migrationen angegeben sind.
- Wenn die Zielorganisation saml single sign-on erzwingt, muss das Token für SSO autorisiert werden.
Wenn Sie kürzlich ein Token gedreht haben, nimmt die Migration automatisch neue Anmeldeinformationen auf. Sie müssen den Migrationsdienst nicht ausführen ghe-config-apply oder neu starten.
Die Quell-GHES-URL wurde abgelehnt.
Enterprise Live Migrations erfordert, dass die GitHub Enterprise Server URL HTTPS verwendet. Wenn die URL mit HTTP konfiguriert ist, schlägt die Migration die Preflight-Überprüfung fehl.
Sammeln von Protokollen zur Unterstützung
Bei der Kontaktaufnahme mit GitHub-Support sind die hilfreichsten Artefakte:
- Ein Support-Paket (bevorzugt): Führen Sie
ghe-support-bundle -uauf der GitHub Enterprise Server Appliance aus. Dadurch werden alle ELM-Protokolle automatisch erfasst. - Ausgabe des Migrationsstatus:
elm migration status --migration-id MIGRATION-ID - Die Migrations-ID und ungefähre Fehlerzeit (mit Zeitzone)
- Beliebige Korrelations-IDs aus Fehlermeldungen
Wenn ein Supportpaket nicht möglich ist, können Sie Protokolle manuell sammeln:
journalctl -t elm-exporter-migration-manager --since "24 hours ago" > migration-manager.log journalctl -t elm-exporter-backfiller --since "24 hours ago" > backfiller.log journalctl -t elm-exporter-sender --since "24 hours ago" > sender.log journalctl -t elm-exporter-git-syncer --since "24 hours ago" > git-syncer.log
journalctl -t elm-exporter-migration-manager --since "24 hours ago" > migration-manager.log
journalctl -t elm-exporter-backfiller --since "24 hours ago" > backfiller.log
journalctl -t elm-exporter-sender --since "24 hours ago" > sender.log
journalctl -t elm-exporter-git-syncer --since "24 hours ago" > git-syncer.log