[Allegro] Avanti auf V-Server: Starten per Cronjob

Thomas Berger ThB at Gymel.com
Do Mär 25 16:16:34 CET 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr/Frau Jessen,

Ich kenne V-Server nicht, wenn es sich aber um die unter
http://linux-vserver.org/Overview skizzierte Technik handelt,
kann ich meine Erfahrungen zu avantis in chroot-Jails beisteuern

"On Unix systems, this technology can be thought of as an advanced extension of
the standard chroot mechanism."


> Pfade und aktiviert. Avanti wird auch gestartet, nur leider gibt Avanti
> keine Datensätze aus :-( Nach der Doku deutet das auf eine Problem mit
> dem starten von acon hin. Die Log-Datei ist leider leer. Und wie gesagt:
> Wenn ich Avanti manuell starte (eingeloggt als V-User per SSH) läuft es.
> Der Cronjob läuft auch mit den gleichen Username.
> 
> Hat jemand Erfahrung mit Avanti und Cronjob auf einem V-Server?
> Oder irgendeine Idee, woran es liegen könnte?
> 
> Danke für eine Antwort.
> 
> Mit freundlichen Gruß
> Jessen
> 
> 
> Cronjob:
> 
> #!/bin/bash
> # check if "avanti" runs, if not, start it
> 
> if ps -C avanti -o pid h >> /dev/null  ;
> then
>         #echo "Avanti laeuft bereits"
> else
>         /pathToVserver/pathToAvanti/avanti -daemon
>     
>     # auch schon versucht, ohne Erfolg:
>     #  cd /pathToVserver/
>     #  pathToAvanti/avanti -daemon
> 
>         #echo "Avanti wurde gestartet"
> fi

Es scheint sich um einen Cronjob auf der Hostmaschine zu handeln.
Wahrscheinlich kann man bei V-Server die Prozesse der Guests
auf dem Host sehen, und auch auf deren Dateisysteme zugreifen.

Im Kontext des virtuellen Servers sieht der jeweilige Prozess
aber ganz andere (gekappte) Pfade, und vom Host aus muss in
einer chroot-Situation auch speziell aufgerufen werden (sowie
einige Systemlibraries und eine Shell vorhanden sein) und
natuerlich die Verzeichnisse mit den Datenbanken lokal
gemouted.

der "einfache" avanti-Start sieht in einer chroot-Umgebung z.B.
so aus, ganz wichtig ist der Parameter -e

/sbin/startproc -e $CHROOT_PREFIX -p $AVANTI_PID -l $AVANTI_OUT -t5
- -u$AVANTI_USER -g $AVANTI_GROUP $AVANTI_BIN -daemon

Worauf ich hier hinauswill: Beim Agieren vom Host aus muss es einfach
ein Systemprogramm mit Schaltern geben, das den zu startenden Prozess
den richtigen Kontext zuordnet, und das ist in Ihrem cronjob einfach
nicht der Fall.

Bei einem VServer scheint die Kompartimentierung wesentlich weiter
zu gehen, wenn der Clou der ganzen Angelegenheit ist, dass es sich
wirklich wie ein virtueller Server verhaelt, muessten ja cron und
ssh auf dem Gast laufen und dann ist alles ganz einfach. Die
haeufigen "/pathToVserver" in Ihrem Job deuten darauf hin, dass Sie
es auf dem Host versuchen, evtl. ist das bereits im Ansatz verkehrt
/ zu umstaendlich gedacht.

viele Gruesse
Thomas Berger



-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iJwEAQECAAYFAkurflIACgkQYhMlmJ6W47NpEgQAi/huK+buTN8L82rUHLsx75EP
0xWywuJ93Xg4vQ/7tPB+CnrqFRQ/kEtb1Nl7Ix1ZNTFJ6OQ+ZS7GYraK9txHqdoC
pVmBTH9nWGa8Lo9N7qxGhBvHKotycFo4yCqCI0u0K3QLDmEGvqXsm1AlFQKU3TeB
M8CNtoZEA9s4kvB+hAM=
=dp4F
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro