GNU/Linux >> Tutoriels Linux >  >> Linux

Comment sauvegarder Gitlab à grande échelle ?

Solution 1 :

J'examinerais ce que vous sauvegardez et j'utiliserais éventuellement une approche "multi-chemins". Par exemple, vous pouvez sauvegarder les référentiels Git en exécutant constamment des extractions Git sur des serveurs de sauvegarde. Cela ne copierait que le diff et vous laisserait une deuxième copie de tous les référentiels Git. Vraisemblablement, vous pourriez détecter de nouveaux dépôts avec l'API.

Et utilisez les procédures de sauvegarde "intégrées" pour sauvegarder les problèmes, etc. Je doute que les 3 To proviennent de cette partie, vous pourrez donc effectuer des sauvegardes très souvent à très peu de frais. Vous pouvez également configurer la base de données PostgreSQL avec un secours à chaud avec réplication.

Il est possible que vos 3 To proviennent d'images de conteneurs dans le registre Docker. Avez-vous besoin de les sauvegarder ? Si tel est le cas, il existe peut-être une meilleure approche rien que pour cela.

Fondamentalement, je recommanderais de vraiment regarder ce qui constitue votre sauvegarde et de sauvegarder les données dans différentes parties.

Même l'outil de sauvegarde de GitLab a des options pour inclure/exclure certaines parties du système telles que le registre Docker.

Solution 2 :

Pour un laps de temps aussi court entre les sauvegardes (1h), votre meilleur pari est de vous fier à l'instantané au niveau du système de fichiers et send/recv soutien.

Si l'utilisation de ZoL n'est pas un problème dans votre environnement, je vous conseille fortement de l'utiliser. ZFS est un système de fichiers très robuste et vous aimerez vraiment tous les extras (par exemple :la compression) qu'il offre. Lorsqu'il est couplé avec sanoid/syncoid , il peut fournir une stratégie de sauvegarde très solide. Le principal inconvénient est qu'il n'est pas inclus dans le noyau principal, vous devez donc l'installer/le mettre à jour séparément.

Alternativement, si vous avez vraiment besoin de vous limiter aux éléments inclus dans la ligne principale, vous pouvez utiliser BTRFS. Mais assurez-vous de comprendre ses (nombreux) inconvénients et pita.

Enfin, une solution alternative consiste à utiliser lvmthin faire des sauvegardes régulières (ex :avec snapper ), en s'appuyant sur des outils tiers (ex :bdsync , blocksync , etc.) pour copier/expédier les deltas uniquement.

Une approche différente serait d'avoir deux machines répliquées (via DRBD ) où vous prenez des instantanés indépendants via lvmthin .


Linux
  1. Comment GNOME utilise Git

  2. Comment créer une sauvegarde

  3. Comment mettre à l'échelle le menu GRUB sur les écrans 4K

  4. Comment avoir le module Pam de sauvegarde ?

  5. Comment sauvegarder les fichiers crontab -e ?

Comment installer Gitlab sur Debian 8

Comment installer Gitlab sur Debian 11

Comment installer Gitlab sur Centos 7

Comment installer Gitlab sur Debian 10 ?

Comment configurer GitLab sur CentOS 8

Comment installer GitLab CE sur Oracle Linux 8