2014-11-22 11 views
5

Il suggested strategy per gestire i dati di backup in finestra mobile simile a questa:Strategia di backup "ufficiale" della finestra mobile: per quanto riguarda la coerenza?

docker run --name mysqldata -v /var/lib/mysql busybox true 
docker run --name mysql --volumes-from mysqldata mysql 
docker run --volumes-from mysqldata -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /var/lib/mysql 

Tuttavia, quando ho di backup contenitori in esecuzione in quel modo, non otterrà un sostegno costante, avrei dovuto? Sono a conoscenza di strumenti come mysqldump, ma cosa succede se ho bisogno di fare il backup, ad esempio, una cartella in cui i file vengono costantemente aggiunti e rimossi?

risposta

1

Il problema di fondo che si sta affrontando, ovvero il backup dei file di modifica è indipendente dalla finestra mobile. Utilizzare uno strumento come rsnapshot o dirvish per creare backup in un volume e quindi utilizzare l'approccio menzionato in precedenza per spostare tali backup in un luogo più sicuro come Amazon s3 o ghiacciaio in base ai requisiti di affidabilità.

Se si montano i volumi da un altro contenitore o l'host vm utilizzando l'opzione -v, le modifiche ai file si riflettono in tutti i contenitori (o host vm) in un tempo più o meno in tempo reale. (C'è un ritardo a causa dell'AUFS che la finestra mobile utilizza su host fs, ma non è enorme). Se il contenitore di backup era in esecuzione perennemente, poteva continuare a prendere i backup e i file riflettevano sempre gli ultimi file visti dal contenitore mysql.

Modifica: Per chiarezza.

+0

_ "per fare i backup in un volume" _ Ma questi backup non saranno coerenti quindi, giusto? Cosa intendo: fondamentalmente non puoi fare backup coerenti all'interno di un contenitore. Devi eseguire un'istantanea (lvm/btrfs)/var/lib/docker/volumi/XYZ e eseguirne il backup sul computer host. – S1lentSt0rm

+0

I volumi sono condivisi tra i contenitori in esecuzione in tempo reale (ish). Puoi persino montarli dal file system host. usando -v/host_fs/location:/container_fs/location. Tutte le modifiche ai file nel volume devono essere disponibili a tutti i contenitori e all'host contemporaneamente. –

+1

Ne sono consapevole. Il problema è che ho bisogno di backup _consistent_: snapshot dello stato del filesystem _atomically_ in un punto nel tempo e backup dei dati da questa istantanea di sola lettura. Non so come farlo all'interno di un contenitore, poiché ho bisogno di usare lvm o btrfs-tools per farlo. Con l'approccio descritto sopra, nessuno impedisce al filesystem di cambiare mentre sta avvenendo il backup. – S1lentSt0rm

Problemi correlati