Avant de configurer le service de sauvegarde, vérifiez que vous disposez des éléments suivants :
- Une instance GitHub Enterprise Server fonctionnant sous la version 3.17 ou ultérieure.
- Volume de stockage dédié provisionné et géré pour servir de cible de sauvegarde.
Exigences de stockage
Afin de garantir des sauvegardes fiables et performantes, votre stockage doit répondre aux exigences suivantes :
-
**Capacité :** allouez au moins cinq fois la quantité de stockage utilisée par votre disque de données principal GitHub. Cela tient compte des données historiques et de la croissance future. -
**Prise en charge du système de fichiers :** le service de sauvegarde utilise des liens physiques pour un stockage efficace, et votre instance GitHub utilise des liens symboliques. La cible de sauvegarde doit prendre en charge à la fois les liens symboliques et les liens physiques, et elle doit utiliser un système de fichiers sensible à la casse afin d'éviter les conflits.Vous pouvez vérifier si votre système de fichiers prend en charge les liens symboliques de type hardlink en exécutant :
cd /data/backup sudo touch file sudo ln -s file symlink sudo ln symlink hardlink ls -laSi la commande
ln symlink hardlinks'exécute correctement, le système de fichiers est pris en charge. -
**Performances :** utilisez un stockage haute performance avec une faible latence et un IOPS élevé afin d'éviter les sauvegardes et les restaurations lentes. -
**NFS :** évitez d'utiliser un montage NFS pour le répertoire de sauvegarde (généralement `/data/backup`), car cela peut entraîner des délais d'attente et une dégradation des performances.
Configuration du service de sauvegarde
Vous pouvez configurer GitHub Enterprise Server Backup Service via Console de gestion.
Configuration de la cible de sauvegarde
Avant de configurer le service, il est nécessaire de préparer le volume de stockage où les sauvegardes seront conservées.
Utilisation d’un nouvel appareil en bloc
Si vous utilisez un périphérique bloc dédié comme cible de sauvegarde, il est nécessaire de l'initialiser via SSH avant de poursuivre dans Console de gestion. Ce processus formatera l’appareil et effacera toutes les données existantes.
-
Connectez-vous à votre instance via SSH en tant qu'utilisateur
admin. Consultez « Accès à l’interpréteur de commandes d’administration (SSH) ». -
Connectez votre périphérique de sauvegarde à l'instance.
-
Identifiez le nom du périphérique à l'aide de
lsblkpour répertorier les périphériques blocs disponibles. Assurez-vous de sélectionner le bon appareil afin d'éviter toute perte de données.lsblk -
Exécutez la commande d'initialisation en remplaçant
YOUR_DEVICE_NAMEpar le nom réel du périphérique identifié à l'étape précédente.Avertissement
Cette commande effacera définitivement toutes les données présentes sur le périphérique spécifié. Vérifiez attentivement le nom de l'appareil et sauvegardez toutes les données importantes avant de continuer.
ghe-storage-init-backup /dev/YOUR_DEVICE_NAMECette commande :
-
Formate l'appareil (efface toutes les données).
-
Prépare le fichier pour qu'il puisse être utilisé par le service de sauvegarde.
-
Configure le montage automatique sur
/data/backupau démarrage. -
Si, dans un environnement en cluster, le nœud
cluster.confest configuré avec le rôlebackup-server.
-
Détacher un disque de sauvegarde
Avertissement
Avant de détacher un disque de sauvegarde, assurez-vous qu’aucune sauvegarde ou restauration n’est en cours. Le détachement d’un disque pendant son utilisation peut entraîner une perte de données ou une interruption de service.
Si vous devez détacher le disque de sauvegarde à partir de GitHub Enterprise Server, procédez comme suit
-
Répertorier les périphériques de blocs et démonter
/data/backup.sudo lsblk sudo umount /data/backup -
Répertorier les volumes logiques et désactiver le volume logique.
sudo lvs sudo lvchange -an <backup_VG>/<backup_LV> -
Détachez le disque à l’aide de la console ou de l’interface CLI fournie par le fournisseur cloud ou l’hyperviseur.
-
Supprimez le point de montage.
sudo rmdir /data/backup
Réutilisation d'un disque préalablement initialisé
Si le périphérique a déjà été initialisé à l'aide de ghe-storage-init-backup, vous pouvez le réutiliser sans le reformater :
-
Connectez-vous à votre instance via SSH en tant qu'utilisateur
admin. -
Attachez le disque à l’instance.
-
Créez le point de montage s'il n'existe pas.
sudo mkdir -p /data/backup -
Activez et démarrez le service de montage.
sudo systemctl enable ghe-backup-disk.service sudo systemctl start ghe-backup-disk.serviceCela permettra de monter le périphérique à l'emplacement
/data/backupet garantira qu'il sera monté automatiquement à l'avenir.
Configuration des paramètres de sauvegarde
Une fois la cible de sauvegarde montée, la page du service de sauvegarde sera disponible dans le Console de gestion dans la section « Sauvegarde ». Si votre instance fait partie d’un environnement en cluster, la page Service de sauvegarde sera disponible après ghe-config-apply.
Remarque
La page des paramètres n’apparaîtra pas tant que le stockage de sauvegarde n’est pas monté à /data/backup, après avoir complété les étapes d’initialisation ou de montage ci-dessus.
Si vous effectuez une migration depuis GitHub Enterprise Server Backup Utilities, vous pouvez transférer votre configuration de deux manières :
-
**Configuration manuelle** : recréez vos paramètres directement dans Console de gestion. -
**Migration via la ligne de commande** : connectez-vous à votre instance via SSH, copiez votre fichier `backup.config` depuis backup-utils, puis exécutez :ghe-migrate-backup-config /path/to/your/backup.configUtilisez l’indicateur
--dry-runpour afficher un aperçu des modifications sans les appliquer.
Effectuer une sauvegarde
Une fois le service configuré, vous pouvez effectuer une sauvegarde manuellement en procédant comme suit :
- Dans Console de gestion, ouvrez l'onglet « Sauvegardes » dans le menu supérieur.
- Cliquez sur Sauvegarder maintenant.
Une sauvegarde GitHub Enterprise Server sera effectuée et affichée dans une liste.
Planification de sauvegardes automatiques
Une fois le service configuré, vous pouvez définir un calendrier de sauvegarde.
- Dans Console de gestion, ouvrez l’onglet « Paramètres » dans le menu supérieur.
- Dans la section « Sauvegarde », choisissez une planification prédéfinie (par exemple, Quotidienne) ou entrez une expression cron personnalisée.
- Cliquez sur Enregistrer les paramètres pour appliquer les modifications.
La première exécution sera une sauvegarde complète. Les exécutions futures seront incrémentielles. Si une nouvelle tentative de sauvegarde est lancée alors qu'une précédente est encore en cours, elle peut être ignorée ou échouer. Dans ce cas, adaptez le calendrier afin d'éviter tout chevauchement.