GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mencadangkan Gitlab skala besar?

Solusi 1:

Saya akan meninjau apa yang Anda cadangkan dan mungkin menggunakan pendekatan "multi-jalur". Misalnya, Anda dapat mencadangkan repositori Git dengan terus-menerus menjalankan Git pulls di server cadangan. Itu hanya akan menyalin diff dan meninggalkan Anda dengan salinan kedua dari semua repositori Git. Agaknya Anda bisa mendeteksi repo baru dengan API.

Dan gunakan prosedur pencadangan "bawaan" untuk mencadangkan masalah, dll. Saya ragu 3TB berasal dari bagian ini sehingga Anda dapat melakukan pencadangan sangat sering dengan biaya yang sangat kecil. Anda juga dapat menyiapkan database PostgreSQL dengan standby hangat dengan replikasi.

Mungkin 3TB Anda berasal dari gambar kontainer di registri Docker. Apakah Anda perlu mencadangkannya? Jika demikian, mungkin ada pendekatan yang lebih baik hanya untuk itu.

Pada dasarnya, saya akan merekomendasikan untuk benar-benar melihat apa yang membuat cadangan Anda dan mencadangkan data di berbagai bagian.

Bahkan alat pencadangan dari GitLab memiliki opsi untuk menyertakan/mengecualikan bagian tertentu dari sistem seperti Docker Registry.

Solusi 2:

Untuk waktu yang singkat antara pencadangan (1 jam), cara terbaik Anda adalah mengandalkan snapshot tingkat sistem file dan send/recv dukungan.

Jika menggunakan ZoL tidak menjadi masalah di lingkungan Anda, saya sangat menyarankan untuk menggunakannya. ZFS adalah sistem file yang sangat kuat dan Anda akan sangat menyukai semua ekstra (misalnya:kompresi) yang ditawarkannya. Jika digabungkan dengan sanoid/syncoid , ini dapat memberikan strategi cadangan yang sangat kuat. Kerugian utamanya adalah tidak disertakan ke dalam kernel arus utama, jadi Anda perlu menginstal/memperbaruinya secara terpisah.

Alternatifnya, jika Anda benar-benar perlu membatasi diri Anda pada hal-hal yang termasuk arus utama, Anda dapat menggunakan BTRFS. Namun pastikan untuk memahami (banyak) kekurangan dan kekurangannya.

Terakhir, solusi alternatif adalah menggunakan lvmthin untuk mengambil cadangan reguler (misalnya:dengan snapper ), mengandalkan alat pihak ketiga (misalnya:bdsync , blocksync , dll) hanya untuk menyalin/mengirim delta.

Pendekatan yang berbeda adalah memiliki dua mesin yang direplikasi (melalui DRBD ) tempat Anda mengambil snapshot independen melalui lvmthin .


Linux
  1. Bagaimana GNOME menggunakan Git

  2. Cara Mencadangkan dan Memulihkan Basis Data di PostgreSQL

  3. Bagaimana cara melakukan pencadangan terenkripsi seperti rsync?

  1. Cara Membuat Cadangan

  2. Cara menskalakan menu GRUB pada tampilan 4K

  3. Bagaimana Cara Memiliki Modul Pam Cadangan?

  1. Cara mengambil Cadangan Cluster Elasticsearch

  2. Cara Menginstal GitLab di Ubuntu 20.04

  3. Bagaimana Cara Mencadangkan File crontab -e?