OpenVZ Forum - RDF feed
type: channel
items: /vz/private , /vz/root , backup und mount
items: Re: /vz/private , /vz/root , backup und mount

/vz/private , /vz/root , backup und mount
type: item
description: Hallo Gruppe, ich habe die Administration einiger OpenVZ Systeme übernommen. Da in einer VE eine große Datenbank angelegt werden muss, mache ich momentan ein paar Tests mit dem mounten eines externen Volumes in eine VE. Hier mal ein paar Fakten: 1. In einer VE wird ein Volume gemountet. In der VE zeigt mount folgendes an: /dev/sdb1 on /storage/db Vom Host aus betrachtet sieht das so aus: /dev/sdb1 on /var/lib/vz/root/340/storage/db 2. Das Backup der relevanten Daten in den VEs wird bisher von dem Host aus gemacht. Dazu wird /vz/private/340/... mittels tar und gz auf unser Backupsystem kopiert. 3. Mit dem Backupskript kann ich allerdings nicht den Inhalt des gemounteten Volumes sichern. Das erscheint leer. Nun die Fragen: Kann ich direkt vom Host aus sichern, also unter Umgehung der VE (/vz/root/VE) oder gibt das Konflikte? Gibt es eine schon bekannte Best Practice, wie man in so einem Fall vor geht? Danke und viele Grüße Michael
creator: SchnickSchnack
date: 2009-12-17T14:45:52-00:00

Re: /vz/private , /vz/root , backup und mount
type: item
description: Nach der langen Zeit noch an einer Lösung interessiert??
creator: TheStig
date: 2010-03-04T16:08:43-00:00

Re: /vz/private , /vz/root , backup und mount
type: item
description: Jap, ich bin noch immer an einer guten Lösung interessiert.
creator: SchnickSchnack
date: 2010-03-05T05:26:37-00:00

Re: /vz/private , /vz/root , backup und mount
type: item
description: Hm... ich mounte meine LVMs/Partitionen/Festplatten immer zuerst in der HN ein und dann stelle sie dann per mount --bind einem VPS zur Verfügung. Auf die Art und Weise steigt auch tar in diese Verzeichnisse ab (zumindest bei mir . Allerdings benutze ich das so nicht aktiv - sondern archiviere immer einzelne (Web-)Anwendungen bzw. deren MySQL-DBs. Dazu verwende ich ein Script, dass per vzctl exec VEID mysqldump zuerst einen (in der virtuellen Maschine) lokalen Dump erzeugt und diesen dann von der HN "weiterschickt". Mein Script arbeitet da ungefähr wie folgt: config-Part: #define database source: res_mysql="[declare as mysql] [where to store] [dbase_name] [dbuser] [dbpasswd] [(if_db_in_VZ)VZID]" # the name of the array has to start with "res" res_customer1database="mysql www_myapp_net /var/backup/local/ bkupuser securepasswd 144" Das Backup-Script lädt dass dann ungefähr folgend: source $configfile date1=`date +%Y.%m.%d` errlog="/var/log/wherever/" vzctl="/usr/sbin/vzctl" #### mysqldump function _dump() { # check for backup dir if [ ! -d $2/$5/ ] ; then mkdir -p $2/$5 ; fi # check if to use inside a VPS case $# in # dump locally 4 ) cd $2 && mysqldump -u $3 -p$4 $1 > $1.$date1.sql && \ tar Pczf $1.$date1.sql.tar.gz $1.$date1.sql && rm -rf $1.$date1.sql 2>> $errlog ;; # dump inside VPS 5 ) $vzctl exec $5 "if [ ! -d $2 ] ; then mkdir -p $2 ; fi && cd $2 && \ mysqldump -u $3 -p$4 $1 > $1.$date1.sql && \ tar Pczf $1.$date1.sql.tar.gz $2/$1.$date1.sql && rm -rf $2/$1.$date1.sql" 2>> $errlog # now for example move from VPS to backup device mv /vz/root/$5/$2/$1.$date1.sql.tar.gz $2/$5 ;; esac Mein Backup-Verzeichnis wird per rsync (read only) freigegeben und der Backup-Server ist für den automatischen Abgleich zuständig. Damit der obere Code-Teil funktioniert muss der Inhalt der Config noch an die dump-Funktion weitergegeben werden. Das mach ich so: #### call functions k=${!res@} for b in $k ; do a=(${!b}) case ${a[0]} in mysql ) _dump "${a[1]}" "${a[2]}" "${a[3]}" "${a[4]}…
creator: TheStig
date: 2010-03-05T10:08:53-00:00