Skip to content

MySQL-Backups mit ZFS

ZFS ist ein "relativ" neues Filesystem, von SUN Microsystems. Es beinhaltet nicht nur Filesystem mit Volume Manager.
Daher ist es naheliegend, Datenbanken auch auf so ein Filesystem zu legen und Snapshots zu machen um damit Backups zu "erstellen".

Meine Idee war zuerst den Snapshot zu kreieren, ein mysqldump drauf loszulassen und die entstehenden Dump-Daten ins Backup zu schieben.
Nachdem ich aber gesehen habe dass mylvmbackup von Lenz Grimme auch "nur" .tar.gz-Dateien erstellt dachte ich fange ich mit folgendem Einzeiler auf der Shell an:


mysql -ufoo -h localhost -p mysql -e "flush tables with read lock" && \
zfs snapshot $pool/$volume@backup1 && \
mysql -ufoo -p mysql "unlock tables" && \
cd /$pool/$volume/.zfs/snapshot/backup/root/$datadir && \
tar cvf /backup/backup1.tar . && \
zfs destroy $pool/$volume@backup1


Natürlich kann man den destroy weglassen und den Snapshot behalten (und das ganze damit stagen). Ob und wie das performed werde ich mal nächstens testen.

**Update** Kris sagt mir gerade dass der flush tables with read lock nur bis zum Disconnect gilt - was natürlich doof ist. Also werde ich das ganze in Perl bauen müssen. mylvmbackup umbauen viellkeicht; wobei das deutlich mehr macht (weil lvm mehr Handling braucht).

Trackbacks

Keine Trackbacks

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Kristian Köhntopp am :

I> rince,
I> mach es bitte wie mylvmbackup
I> 1. flush tables
I> das mimimiert die puffer
I> 2. flush tables with read lock
I> das flusht die puffer und sperrt die db
I> 3. snapshot
I> 4. unlock tables.
I> 5. snap mounten und sichern
I> andernfalls ist der snapshot nicht konsistent
I> und rince, du musst es in einem perl-script o.a. machen,
I> als shell geht das nicht, denn
I> flush tables with read lock
I> haelt die locks bis zum unlock tables oder disconnect
I> und der snapshot muss gelockt erfolgen,
I> aber ein shellscript kann die verbindung nicht halten

Rince am :

So wie im Update bereits beschrieben. Ich werde wohl mylvmbackup erweitern; Lenz hatte ich dafür schon angefragt. zfs ist ein wenig "aktiver" als lvm; man muss nicht mit devices arbeiten und man muss sie nicht extra mounten... aber das mache ich dann.

Florian Laws am :

Schau auch mal da:
http://blogs.digitar.com/jjww/?itemid=56
Da hat schon einer ein Backupskript für MySQL auf ZFS geschrieben.

(via c0t0d0s0)

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Um einen Kommentar hinterlassen zu können, erhalten Sie nach dem Kommentieren eine E-Mail mit Aktivierungslink an ihre angegebene Adresse.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Formular-Optionen