[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[OT] Quesito su backup



Salve ragazzi,
scusate per la lunghezza.
Ho per le mani un server dedicato sul quale sono presenti diverse applicazioni. Sempre sul server ho una partizione di circa 200G dove andranno tutti i file delle applicazioni. Il programma utilizzato per i backup è bacula e il backup viene effettuato su un disco usb3 esterno. Come prerequisito del backup, mi è stato richiesto che il db non deve essere inconsistente rispetto ai file, quindi devo spegnere il servizio (tomcat) per evitare caricamenti durante il backup. Al momento non ci sono problemi sulle tempistiche in quanto non ci sono tanti dati da backuppare, quindi il downtime del servizio è molto basso. I miei dubbi cominciano ad affiorare pensando al backup FULL di 150/180 GB di dati. In questo caso in 1 o 2 ore dovrebbe farcela, e anche in questo caso il downtime non crea problemi al cliente.

Al momento essendo pochi dati su un massimo di 200GB ho pianificato:
1 full al mese,
1 differenziale ogni fine settimana (4 diff)
e per i giorni da lunedi al sabato incrementali.

In futuro però, se il progetto cresce, potrebbe essere necessario cambiare macchina e aumentare la dimensione della partizione che devo backuppare.


Supponiamo che la partizione sia da 1TB e che debba backuppare circa 750 GB e che il backup venga effettuato, non sul disco esterno, ma su un altro server nella stessa rete. In questo caso i tempi per un backup full (prendiamo in considerazione solo il full perche è il più oneroso) aumentano e aumentano anche il downtime del servizio.

E qui sorge il problema. Come affrontarlo?

La prima cosa che mi viene in mente è quella di allungare gli archi temporali dei backup

1 full ogni 6 mesi (anche 12)
1 diff ogni mese
e tutti incrementali.

In questa maniera avrei solo un downtime lungo anche se le dimensioni dei differenziali potrebbero aumentare di parecchio e anche questa soluzione potrebbe portare a disservizi lunghi.

Un'altra soluzione che mi viene in mente è l'High Availability. Non sono esperto su HA, ho configurato qualcosina ma niente di complesso, quindi perdonatemi se dico idiozie. Due macchine in master/slave, stessi servizi, filesystem gfs replicati con glusterfs e montanti su tutte e due le macchine, db in replica tra loro. Quando devo fare il backup "freezo" la macchina master, lo slave prende il controllo (spero con tutti i dati sincronizzati tra db e fs) e il servizio prosegue sullo slave. Effettuo il backup dei dati dal server freezato, finito il backup, riattivo il server che diventa il nuovo slave, i db e gli fs si risincronizzano. Pero anche qui mi sorgono dei dubbi: che succede con la risincronizzazione tra i due fs dopo questa operazione? Con drbd, ricordo che se le macchine erano tutte e due master e tutti e due i drbd0 erano montati avevo problemi con la sincronizzazione (se non sbaglio split-brain). Come garantire che tutto (dati e db) siano sincronizzati tra le due macchine al momento del backup? Come risincronizzare i db?


So che il caso al momento non è reale, ma se tra qualche tempo dovrò affrontare una configurazione HA, vorrei studiarlo più a fondo.


Vi viene in mente altro?

Grazie in anticipo e scusate la lunghezza.


Reply to: