Xen Maschinen synchronisieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
alfonsodiecko
Beiträge: 16
Registriert: 08.08.2008 20:23:18

Xen Maschinen synchronisieren

Beitrag von alfonsodiecko » 19.08.2008 17:52:53

Hallo,
ich arbeite gerade mit ein paar anderen Leuten an einem Projekt,cms-demo, welches viele Opensource CMS usw. zum Testen bereitstellt. Ich möchte gerne 2 Xen Maschinen synchronisieren um den Urzustand der Demos herzustellen, Maschine 1 ist zugänglich für alle Tester und Maschine 2 nur über VPN(um Systeme einzuspielen). Ich habe ein Bash Script geschrieben, der über SSH fehlerfrei funktioniert, nun wollte ich das Ganze über ein Cronjob alle 2 std. machen.

Code: Alles auswählen

00 */2 * * * screen -amdS sync /home/sync/sy_up.sh
komischerweise werden alle xm Befehle ignoriert/nicht ausgeführt, aber Befehle wie rm,mv und cp schon, habt ihr eine Idee, warum das so ist?
Hier erst mal der script sy_up.sh:

Code: Alles auswählen

#/bin/bash 
mv /home/sync/restore.sh  /home/sync/restore_dis.sh >>sync.log  .// umbenennen des zukünftigen cronjobs für xm restore
xm shutdown demos-sauber >>sync.log // Maschine 2 runterfahren 
sleep 10 
cp  /home/xen/domains/demos-sauber/disk.img /home/xen/domains/demos.cms-demo.org/disk_cp.img >>sync.log // Disk Image der Maschine 2 in den Ordner der Maschine 1 Kopieren 
cp  /home/xen/domains/demos-sauber/swap.img /home/xen/domains/demos.cms-demo.org/swap_cp.img >>sync.log  log // SWAP Image der Maschine 2 in den Ordner der Maschine 1 Kopieren
mount -o loop /home/xen/domains/demos.cms-demo.org/disk_cp.img /mnt >>sync.log // Image für Anpassungen öffnen 
cp -R /home/sync/interfaces /mnt/etc/network/interfaces >>sync.log  // interfaces Anpassungen 
cp -R /home/sync/php.ini /mnt/etc/php5/apache2/php.ini >>sync.log  // php.ini Anpassungen
rm -R /mnt/var/www/install >>sync.log  // löschen des PHP Installations Script, welcher nur auf Maschine 2 verfügbar ist
rm -R /mnt/var/www/install2 >>sync.log // löschen des PHP Installations Script 2, welcher nur auf Maschine 2 verfügbar ist
umount /mnt >>sync.log  // Images schließen 
sleep 5 
xm shutdown demos.cms-demo.org >>sync.log  // Maschine 1 schließen  
sleep 10 
rm  /home/xen/domains/demos.cms-demo.org/disk.img>>sync.log  // Löschen des nicht mehr benötigten  Images 
rm  /home/xen/domains/demos.cms-demo.org/swap.img >>sync.log // Löschen des nicht mehr benötigten  Images
rm  /home/xen/domains/demos.cms-demo.org/demos.chk >>sync.log  // Löschen des nicht mehr benötigten  save
mv  /home/xen/domains/demos.cms-demo.org/disk_cp.img /home/xen/domains/demos.cms-demo.org/disk.img >>sync.log // umbenennen Disk Images 
mv  /home/xen/domains/demos.cms-demo.org/swap_cp.img /home/xen/domains/demos.cms-demo.org/swap.img >>sync.log // umbenennen SWAP Images
sleep 10 
xm create /etc/xen/demos.cms-demo.org.cfg >>sync.log  // Starten der Maschine 1
sleep 10 
xm create /etc/xen/demos-sauber.cfg >>sync.log // Starten der Maschine 2
sleep 10 
xm save demos.cms-demo.org /home/xen/domains/demos.cms-demo.org/demos.chk >>sync.log // Snapshot erstellen von Maschine 1 
sleep 10 
xm restore /home/xen/domains/demos.cms-demo.org/demos.chk >>sync.log  // Starten der Maschine 1 
sleep 10 >>sync.log 
mv /home/sync/restore_dis.sh /home/sync/restore.sh >>sync.log // wiederherstellen des zukünftigen restores 
Dann habe ich noch ein Problem, xm restore geht nicht(Maschine startet doch Änderungen werden nicht rückgängig gemacht ), was auch der Grund dafür ist, dass ich den Script sy_up.sh alle 2 std. ausführe und nicht xm restore, was ja viel schneller und ressourcenschonender wäre. Ich bin mir ziemlich sicher, dass es am mySQL Server liegt, aber wie man die Synchronisation dateischonender hinbekommen soll, ist mir ein Rätsel. Vielleicht habt ich ja noch einen guten Rat auf Lager.
Mfg alfons

alfonsodiecko
Beiträge: 16
Registriert: 08.08.2008 20:23:18

Re: Xen Maschinen synchronisieren

Beitrag von alfonsodiecko » 25.08.2008 10:17:13

Ich habe gelesen das ein Cron nicht in der Umgebung sattfindet wie in der SSH Session.Gibt es eine Möglichkeit diese Umgebung zu definieren, so dass die xm Befehle funktionieren ?

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Xen Maschinen synchronisieren

Beitrag von roli » 25.08.2008 13:52:40

Hi,

gibt's denn Fehlermeldungen?
Bei Cron Jobs ist es u.a. sinnvoll die entsprechenden Tools vollqualifiziert aufzurufen, da das Environment nicht das selber ist wie fuer deinen "Normal" User.
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

alfonsodiecko
Beiträge: 16
Registriert: 08.08.2008 20:23:18

Re: Xen Maschinen synchronisieren

Beitrag von alfonsodiecko » 25.08.2008 23:01:39

Erst mal danke für deine Antwort. Ich habe ein Blick in die syslog geworfen und da steht das er ausgeführt wurde

Code: Alles auswählen

Aug 25 14:00:01 cms-demo /USR/SBIN/CRON[8529]: (root) CMD (root screen -amdS sync /home/sync/sy_up.sh)
, gibt es noch ein anderes logfile welches sinnvoll wäre für die Fehlersuche ?
vollqualifiziert aufzurufen
meinst du mit den absoluten Pfad ? Habe ich bereits gemacht,
xm wird immer so aufgerufen "/usr/sbin/xm create /etc/xen/demos.cms-demo.org.cfg"

alfonsodiecko
Beiträge: 16
Registriert: 08.08.2008 20:23:18

Re: Xen Maschinen synchronisieren

Beitrag von alfonsodiecko » 30.08.2008 16:38:18

Was hat es nun mit den "vollqualifizierten Aufruf" auf sich ?

Antworten