Jail sauber beenden

arcona

Well-Known Member
Hallo,
ich experimentiere immer noch mit dem virtual network stack. Dabei kann ich eine Jail nicht in der rc.conf starten. Deswegen starte ich die Jail zZ so:
Code:
jail -c vnet jid="101" name=one host.hostname=one.domain.tld path=/jail/arcona/jail1 persist
ifconfig bridge0 create
ifconfig bridge0 10.1.0.1
ifconfig epair0 create
ifconfig epair0a 10.0.0.1
ifconfig bridge0 addm em0 addm epair0a
ifconfig epair0b vnet 101
jexec 101 ifconfig epair0b 192.168.0.101
jexec 101 route add default 192.168.0.1

Und so "stoppe" ich die Jail:
Code:
jail -r 101
ifconfig bridge0 destroy
ifconfig epair0a destroy

Ich verstehe nun nicht ganz wie die Jail dabei beendet wird.
Wird der Prozess einfach abgeschossen oder werden auch laufende Server / Prozesse in der Jail sauber beendet?

Ist es sinnvoller die Jail vorsichtiger zu beenden:
Code:
jexec 101 /etc/rc.d/dienstA stop
jexec 101 /etc/rc.d/dienstB stop
jexec 101 /etc/rc.d/dienstC stop

...

jail -r 101
ifconfig bridge0 destroy
ifconfig epair0a destroy
Grüße
craano
 
Die Jail ist gar kein laufender Prozess. Das ist nur eine Umgebung. Du kannst jedoch Prozesse, die in der Umgebung laufen starten.
 
OK, dann formuliere ich meine Frage anders.
Ist es sicher die Jail-Umgebung mit
Code:
jail -r 101
zu beenden oder muss ich vorher alle Anwendungen in der Umgebung explizit stoppen?
Ich denke da zum Beispiel an eine Datenbank. Wie diese korrekt beendet oder einfach abgeschossen wenn ich die Jail mit dem oben genannnten Befehl entferne?

Gruß
craano
 
Ich weiß es nicht. Aber wenn du killall -j verwendest bekommen die Anwendungen ein ganz normales sigterm und sollte sich normal beenden. Um ehrlich zu sein, glaube ich, dass bei jail -r das gleiche passiert - sonst würde ich eine Warnung in der Manual-Page erwarten.
 
Ja, tut es. Der "saubere" Weg ist daher in der Jail /etc/rc.shutdown aufzurufen und nach einigen Minuten der Sicherheitspause eventuell überlebende Prozesse im Jail per "jail -r" oder eben "killall -j" zu töten. Das Jail verschwindet dann nach einigen weiteren Minuten, halt wenn alle Timeouts abgelaufen sind.
 
Code:
/etc/rc.shutdown
ps: /boot/kernel/kernel: No such file or directory
Ist das richtig?

Die obige Meldung bekomme ich immer, auch wenn ich versuche ein Skript aus /etc/rc.d zu starten.
 
Zuletzt bearbeitet:
Zurück
Oben