Soluzione proposta:
Hai un'istanza Amazon EC2, con un archivio di blocchi elastici abbastanza grande da contenere l'intera immagine che intendi eseguire il backup:
backup-host.yourdomain.com:
/mnt/EBS/my-desktop-backup/coreimage.dmg
/mnt/EBS/my-laptop-backup/coreimage.dmg
Dove:
/dev/ebs-disk-001 -> /mnt/EBS/my-desktop-backup
/dev/ebs-disk-002 -> /mnt/EBS/my-laptop-backup
etc.
etc.
o
backup-host.yourdomain.com:
/mnt/EBS/my-desktop-backup_coreimage.dmg
/mnt/EBS/my-laptop-backup_coreimage.dmg
Dove:
/dev/ebs-disk-001 -> /mnt/EBS
Il tuo backup iniziale richiederebbe molto tempo per essere sincronizzato, ma se utilizzi rsync per sincronizzare, puoi finalmente far sì che l'immagine remota raggiunga le modifiche dell'immagine locale.
Una volta che è stato raggiunto, puoi iniziare un'istantanea EBS da Amazon per il volume EBS contenente l'immagine crittografata.
Risciacquare e ripetere per ciascun periodo di backup + snapshot di cui si desidera eseguire il backup sul server remoto, tenendo conto dei seguenti elementi / requisiti:
- L'immagine crittografata deve essere smontata.
- La copia dell'immagine remota deve essere sincronizzata al 100% con l'immagine locale non montata.
- L'istantanea deve essere eseguita con il volume EBS remoto sincronizzato, i buffer del filesystem scaricati e senza modifiche in sospeso.
Con questo, sarai in grado di fare i backup incrementali usando la tecnologia cloud di Amazon.
S3 ha alcune limitazioni gravi, che non soddisfano le tue esigenze, per questo particolare scopo.
L'istanza EC2, se completamente supportata da EBS, può essere chiusa quando non si esegue una sincronizzazione remota. Cioè, quando il tuo backup prende il via, puoi farlo attivare l'istanza tramite l'API EC2 di Amazon e ottenere il nome dinamico o l'indirizzo IP. Una volta confermato, è possibile avviare il backup rsync. Al termine, può arrestare l'immagine remota e avviare un'azione di istantanea del volume Amazon EBS.
Modifica
rsync fa differenze di blocchi / blocchi per file di grandi dimensioni. È possibile specificare la dimensione della differenza del blocco:
--block-size=SIZE
Puoi anche specificare il flusso di dati che viene inviato al server remoto per essere compresso, salvandoti nel traffico.
Avvertenze su S3 rispetto a EBS:
A meno che la soluzione che utilizzi supporti la suddivisione del singolo file di grandi dimensioni in segmenti e l'invio in parallelo, Amazon S3 riduce i dati inviati a meno di 400 KB / sec dopo una determinata dimensione.
Uso i backup differenziali rsync sui miei server su S3 come tarball compressi. Anche con dimensioni di tarball di circa 500 MB, S3 si accelera. Per ovviare a questo, è necessario dividere il file che si sta inviando in parti, altrimenti il backup su S3 richiederà sempre.
Mentre un'istanza EC2 con volumi EBS sarà più veloce e non richiede la necessità di dividere file, semplificando il backup e il ripristino.