Re: IP-based vhosts im jail

From: Oliver Fromme <olli(at)secnetix.de>
Date: Thu, 14 Feb 2002 15:13:07 +0100 (CET)

Clemens Hermann <haribeau(at)gmx.de> wrote:
> ich wuerde gerne IP-based virtual apache hosts in einem Jail betreiben.

Da stellt sich mir gleich die Frage: Mußt Du das wirklich
so machen? Wenn sie ohnehin IP-based sind, kannst Du jedem
auch sein eigenes Jail (und seinen eigenen Apache) verpas-
sen. Dann hast Du das Problem nicht.

> [via ipfw/nat auf verschiedene Ports in einem jail redirecten]
> Ist diese Idee realistisch, oder sollte man die Finger davon lassen?

Mit etwas Gebastel ist das hinzukriegen, aber ich bin nicht
sicher, ob das wirklich die beste Lösung wäre.

> Mich wuerden noch drei Dinge zum Thema Jails interessieren:
> - wie kann ich die ports des Host-Systems im Jail nutzen, um nicht in jedem
> Jail die Ports installieren zu muessen?
> - Wie update ich ein Jail am besten? Ich kann ja nicht in jedem Jail nen
> eigenen Sourcetree pflegen.
> - ist es moeglich, ein jail weiter zu schroepfen, damit es nicht die 130 MB
> benoetigt?

Die drei Fragen hänge alle miteinander zusammen.

Prinzipiell würde ich dazu raten, _nicht_ in jedes Jail
eine eigene »World« zu installieren. Ich ziehe es vor,
neben dem Hostsystem nur _eine_ »World« zu bauen (die
liegt bei mir üblicherweise unter /export) und diese dann
per NFS an localhost read-only (!) zu exportieren und in
den einzelnen Jails wiederum von localhost zu mounten.

Das sieht dann z.B. so aus:

/dev/ad0s1f 4065262 1178767 2561275 32% /usr
/dev/da0s1g 1016303 166621 768378 18% /export
localhost:/export 1016303 166621 768378 18% /usr/jail/foo
localhost:/export 1016303 166621 768378 18% /usr/jail/bar
localhost:/export 1016303 166621 768378 18% /usr/jail/baz

Wobei die NFS-mounts per »-o union« über die bestehenden
Sachen in /usr/jail/* drübergemountet sind. Die darunter-
liegenden Dinge in /usr/jail/* (hier in /usr mit drin) sind
halt diejenigen, die read-write sein müssen bzw. die sich
von Jail zu Jail ändern. Abgesehen von home und tmp sind
das bei mir nur 150 Kbyte (hierfür habe ich ein »template«-
Jail, das ich einfach duplizieren kann, wenn ein neues Jail
dazukommt). Also sehr geringer Overhead pro Jail.

Du kannst auch mit Hardlinks arbeiten, wie es Bernd vor-
geschlagen hat. Hat beides Vor- und Nachteile.

In jedem Fall hast Du dann Deine drei Fragen beantwortet:
 - Du installierst Ports nicht mehr in die einzelnen Jails,
   sondern nur einmal nach /exports.
 - Beim Updaten mußt Du nur /export updaten (DESTDIR).
 - Statt 130 Mbyte hast Du nur noch maximal ein paar hun-
   dert Kbyte per-Jail-Overhead.

Einen Port in /export installieren ist auch nicht so
schwer. Du kannst in der Host-Umgebung einfach ein Package
bauen (oder downloaden), dann ein chroot nach /export
machen und dort dann pkg-add.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"All that we see or seem is just a dream within a dream" (E. A. Poe)
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Thu 14 Feb 2002 - 15:13:11 CET

search this site