Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Backup maken van een live container (OpenVZ)

Pagina: 1
Acties:

  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 29-11 15:03

Yzord

Ubi fumus, ibi ignis

Topicstarter
Ik heb een website die goed bezocht wordt en steeds "belangrijker" wordt ivm de informatie die er op staat. Deze draait in een OpenVZ container (i know i know) en ik wil deze eigenlijk elke nacht backuppen met vzdump.

Op zich is dit geen probleem, maar nu las ik dat het toch niet slim zou zijn, omdat ik er een MariaDB database op draai en deze dus corrupt kan raken tijdens het backuppen (en dan met name in de backup zelf).

Tevens lees ik weer dat het toch geen probleem moet zijn als je LVM2 hebt wat het live backuppen zelfs vergemakkelijkt en tevens geen downtime zou opleveren.

Maar nu het steeds belangrijker wordt dat ik dagelijks een goede backup maak (en met de komst van STACK incl. Webdav helemaal een uitkomst) vraag ik me toch af hoe ik het best een backup kan maken van een live container welke op OpenVZ loopt. Heeft iemand hier ervaring mee?

Tevens heb ik een server draaien met Proxmox. Dit omdat ik er een beetje moe van werd dat een OpenVZ container afhankelijk is van de kernel van zijn host. Met Proxmox is dit niet meer. Maar weet iemand hoe ik een OpenVZ container zoals die van hierboven gemigreerd krijg naar Proxmox KVM? Dit is namelijk vrij summier:

https://pve.proxmox.com/w..._containers_to_Proxmox_VE

[ Voor 5% gewijzigd door Yzord op 23-04-2016 20:20 ]


  • Yzord
  • Registratie: Augustus 2002
  • Laatst online: 29-11 15:03

Yzord

Ubi fumus, ibi ignis

Topicstarter
Tijdens een test is de backup wel gelukt, maar hoe weet ik nu zeker of ik geen corrupte database mee heb genomen..iemand nog een idee?

  • Thulium
  • Registratie: September 2011
  • Laatst online: 26-04 10:28
Op zich is er niets mis met OpenVZ, het is alleen een techniek die uit de gratie valt en langzaam aan uit het landschap verdwijnt :-) Wij draaien het op werk nog steeds, totdat we onze migratie naar Proxmox 4 hebben afgerond en alles op LXC draait (test dit wel heul goed van te voren!).

Goed, terug naar je backup vraag. Als je een snapshot backup maakt van een live database is het nog steeds een live database. Dus de kans dat het corrupt wordt blijft aanwezig. Dat gezegd hebbende, ik heb nog geen problemen gehad, maar ik heb voor de zekerheid het onderstaande script draaien:

#!/bin/bash
# backup each mysql db into a different file, rather than one big file
# as with --all-databases - will make restores easier

USER="root"
PASSWORD="mysup3rs3cur3p4$$w0rd"
OUTPUTDIR="/var/backups/mysql"
MYSQLDUMP="/usr/bin/mysqldump"
MYSQL="/usr/bin/mysql"

# get a list of databases
databases=$($MYSQL --user=$USER --password=$PASSWORD -e 'SHOW DATABASES;' | grep -Ev '(Database|performance_schema|information_schema)')

# dump each database in turn
for db in $databases; do
    $MYSQLDUMP --events --force --hex-blob --opt --user=$USER --password=$PASSWORD --databases $db | gzip > "$OUTPUTDIR/$db.gz"
done


Dit maakt van iedere database een sql file die je weer kunt inlezen met mysql/mariadb als je de zaak wilt terugzetten.

Hoe je met dit script en logrotate een snapshot historie kunt maken, laat ik als oefening voor de lezer ;-)