GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire il backup su larga scala di Gitlab?

Soluzione 1:

Vorrei rivedere ciò di cui stai eseguendo il backup e possibilmente utilizzare un approccio "multi-percorso". Ad esempio, è possibile eseguire il backup dei repository Git eseguendo costantemente i pull Git su un server di backup. Ciò copierebbe solo il diff e ti lascerebbe con una seconda copia di tutti i repository Git. Presumibilmente potresti rilevare nuovi repository con l'API.

E usa le procedure di backup "incorporate" per eseguire il backup dei problemi, ecc. Dubito che i 3 TB provengano da questa parte, quindi potresti eseguire backup molto spesso a un costo molto basso. Puoi anche configurare il database PostgreSQL con un warm standby con replica.

Forse i tuoi 3 TB provengono da immagini del contenitore nel registro Docker. Hai bisogno di eseguire il backup di quelli? Se è così, allora potrebbe esserci un approccio migliore proprio per questo.

Fondamentalmente, consiglierei davvero di guardare cosa costituisce il tuo backup e di eseguire il backup dei dati in varie parti.

Anche lo strumento di backup di GitLab ha opzioni per includere/escludere alcune parti del sistema come il registro Docker.

Soluzione 2:

Per un tempo così breve tra i backup (1h), la soluzione migliore è affidarsi a snapshot a livello di filesystem e send/recv supporto.

Se l'utilizzo di ZoL non è un problema nel proprio ambiente, consiglio vivamente di utilizzarlo. ZFS è un filesystem molto robusto e ti piaceranno davvero tutti gli extra (es:compressione) che offre. Quando accoppiato con sanoid/syncoid , può fornire una strategia di backup molto efficace. Lo svantaggio principale è che non è incluso nel kernel principale, quindi è necessario installarlo/aggiornarlo separatamente.

In alternativa, se hai davvero bisogno di limitarti alle cose incluse nella mainline, puoi usare BTRFS. Ma assicurati di capire i suoi (molti) svantaggi e pita.

Infine, una soluzione alternativa è usare lvmthin per eseguire backup regolari (es:con snapper ), basandosi su strumenti di terze parti (es:bdsync , blocksync , ecc.) per copiare/spedire solo delta.

Un approccio diverso sarebbe avere due macchine replicate (tramite DRBD ) dove si scattano istantanee indipendenti tramite lvmthin .


Linux
  1. Come GNOME usa Git

  2. Come creare un backup

  3. Come ridimensionare il menu di GRUB su schermi 4K

  4. Come eseguire il backup crittografato simile a rsync?

  5. Come eseguire il backup dei file crontab -e?

Come installare Gitlab su Debian 8

Come installare Gitlab su Debian 11

Come installare Gitlab su Centos 7

Come installare Gitlab su Debian 10?

Come configurare GitLab su CentOS 8

Come installare GitLab CE su Oracle Linux 8