À propos des problèmes connus avec les sauvegardes de GitHub Enterprise Server
GitHub fournit des solutions de contournement pour les problèmes suivants qui peuvent impacter la sauvegarde ou la restauration des données pour une instance GitHub Enterprise Server. Pour plus d’informations, consultez « Problèmes connus » dans les Notes de publication de GitHub Enterprise Server.
Les utilisateurs ne peuvent pas se connecter après la restauration d’une sauvegarde
Remarque : ce problème connu a été corrigé dans GitHub Enterprise Server Backup Utilities 3.9.1.
Si vous avez utilisé GitHub Enterprise Server Backup Utilities 3.7.0, 3.8.0, ou 3.9.0 pour sauvegarder une instance exécutant n'importe quelle version de la GitHub Enterprise Server 3.7 ou 3.8, après avoir restauré la sauvegarde dans une nouvelle instance, les utilisateurs ne peuvent pas se connecter. Même si les utilisateurs ne peuvent pas se connecter, la sauvegarde elle-même n’est pas affectée et toutes les données sont intactes.
Après avoir restauré une sauvegarde existante affectée par ce problème, vous pouvez le résoudre en modifiant la configuration sur la nouvelle instance.
Restauration à partir d’une sauvegarde existante
Si vous avez restauré une sauvegarde existante à partir de GitHub Enterprise Server Backup Utilities 3.7.0, 3.8.0, ou 3.9.0 vers une nouvelle instance et que les utilisateurs ne peuvent pas se connecter, vous devez générer des données de configuration à partir de l'instance GitHub Enterprise Server source et ajuster la configuration sur l'instance cible.
Pour vous assurer que les utilisateurs peuvent se connecter à la nouvelle instance cible, assurez-vous que votre environnement répond aux exigences suivantes.
- L’instance GitHub Enterprise Server source doit être en cours d’exécution et accessible via SSH.
- Vous devez avoir une sauvegarde existante de GitHub Enterprise Server Backup Utilities 3.7.0, 3.8.0, ou 3.9.0.
- Vous devez avoir provisionné une nouvelle instance GitHub Enterprise Server cible et restauré la sauvegarde. Pour plus d’informations, consultez « Configuration d’une instance GitHub Enterprise Server » et « Configuration des sauvegardes sur votre instance ».
-
Connectez-vous en mode SSH à l’instance GitHub Enterprise Server source que vous avez sauvegardée. Si votre instance comprend plusieurs nœuds, par exemple si la haute disponibilité ou la géoréplication sont configurées, connectez-vous via SSH au nœud principal. Si vous utilisez un cluster, vous pouvez vous connecter via SSH à n’importe quel nœud. Remplacez HOSTNAME par le nom d’hôte réel de votre instance. Pour plus d’informations sur l’accès SSH, consultez « Accès à l’interpréteur de commandes d’administration (SSH) ».
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Pour afficher la liste des clés de déchiffrement, exécutez la commande suivante.
Shell ghe-config secrets.github.encrypted-column-keying-material
ghe-config secrets.github.encrypted-column-keying-material
-
Copiez la sortie vers un emplacement sécurisé et temporaire.
-
Pour afficher la liste des clés de chiffrement, exécutez la commande suivante.
Shell ghe-config secrets.github.encrypted-column-current-encryption-key
ghe-config secrets.github.encrypted-column-current-encryption-key
-
Copiez la sortie vers un emplacement sécurisé et temporaire.
-
Connectez-vous en mode SSH à l’instance GitHub Enterprise Server de destination où vous avez restauré la sauvegarde. Remplacez HOSTNAME par le nom d’hôte réel de votre instance.
Shell ssh -p 122 admin@HOSTNAME
ssh -p 122 admin@HOSTNAME
-
Activez le mode maintenance. Pour plus d’informations, consultez « Activation et planification du mode de maintenance ».
-
Pour vérifier que l'instance de destination est prête pour la configuration, exécutez les commandes suivantes. Aucune sortie ne doit être affichée.
Shell ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
-
Pour mettre à jour les clés de déchiffrement sur l’instance de destination, exécutez la commande suivante. Remplacez DECRYPTION-KEY-LIST par la sortie de l’étape 1.
Shell ghe-config secrets.github.encrypted-column-keying-material "DECRYPTION-KEY-LIST"
ghe-config secrets.github.encrypted-column-keying-material "DECRYPTION-KEY-LIST"
-
Pour mettre à jour la clé de chiffrement sur l’instance de destination, exécutez la commande suivante. Remplacez ENCRYPTION-KEY par la sortie de l’étape 4.
Shell ghe-config secrets.github.encrypted-column-current-encryption-key "ENCRYPTION-KEY"
ghe-config secrets.github.encrypted-column-current-encryption-key "ENCRYPTION-KEY"
-
Pour appliquer la configuration, exécutez la commande suivante.
Shell ghe-config-apply
ghe-config-apply
-
Attendez la fin de l’exécution de la configuration.
-
Pour vous assurer que la configuration de l'instance cible contient les clés, exécutez les commandes suivantes et vérifiez que la sortie correspond à l'étape 1 et à l'étape 4.
Shell ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
ghe-config secrets.github.encrypted-column-keying-material ghe-config secrets.github.encrypted-column-current-encryption-key
-
Faites en sorte qu’un utilisateur se connecte à l’instance de destination. En cas de problème, contactez le Support GitHub Enterprise. Pour plus d’informations, consultez « Contacter le support GitHub ».