Mehrere chroots auf einem Server, sharen von Daten (Files)

FreeBSD, Gentoo, openSUSE, CentOS, Ubuntu, Debian
rfc
Posts: 19
Joined: 2006-05-29 15:28

Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by rfc » 2006-05-29 15:38

Hi,

folgende Problemstellung:
Ich hab auf einem physischen Server mehrere chroots laufen, ist notwendig fuer unterschiedliche Versionen diverse Programme. Weniger aus gruenden der Sicherheit, eher aus gruenden der Flexibilitaet.

Die Struktur schaut grob so aus:

Code: Select all

phys. Server
|
+--- chroot1 (samba fuer u.A. Windows clients)
|
+--- chroot2 (apache1, mysql4, php4)
|
+--- chroot3 (apache2, mysql5, php5)
Jetzt habe ich aber z.B. Files in chroot1, die ich gerne in chroot2 und chroot3 auch zur Verfuegung haette. Aus dem chroot komm ich aber nicht raus (ist ja der Sinn der Sache auch), aber trotzdem Suche ich eine moeglichkeit die Files zu sharen.

Im wesentlichen Suche ich nach der einfachsten Loesung die Files in chroot1 den anderen chroots zur Verfuegung zu stellen. Da ich chroot1 schon Samba laufen habe, koennt ichs damit machen. Nur fuerchte ich ein wenig um den Overhead. Ich hab auch mit anderen Sharing-Moeglichkeiten keine Erfahrung, gelaeufig sind mir nur NFS und mit Google finden sich sicher noch welche.

Waer das eventuell schon die beste Loesung, es entweder ueber Samba direkt zu machen oder zusaetzlich eben halt NFS? Funktioniert das mit NFS loopback <> loopback? Oder bei Samba.

Danke fuer allem moeglichen Hinweise.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11133
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by Joe User » 2006-05-29 16:16

Hardlinks? rsync? mount --bind?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

rfc
Posts: 19
Joined: 2006-05-29 15:28

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by rfc » 2006-05-29 16:27

Joe User wrote:Hardlinks? rsync? mount --bind?
Hardlinks funktionieren nicht ueber chroot-Grenzen hinweg.

Rsync kann (afaik) nur kopieren, nicht direkt Files anbieten.

Aber mount --bind scheint perfekt zu sein :) Setzt voraus dass die uid/gids gleich sind, was sich regeln kann. Einfach genial, Danke!

duergner
Posts: 923
Joined: 2003-08-20 11:30
Location: Pittsburgh, PA, USA

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by duergner » 2006-05-29 16:43

Hardlinks funktionieren sehr wohl über chroot Grenzen hinweg. Der Hardlink geht direkt auf den Inode der Datei. Sonst würden viele postfix-mysql Installationen nicht gehn die auf Socket setzen.

rfc
Posts: 19
Joined: 2006-05-29 15:28

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by rfc » 2006-05-30 10:21

duergner wrote:Hardlinks funktionieren sehr wohl über chroot Grenzen hinweg. Der Hardlink geht direkt auf den Inode der Datei. Sonst würden viele postfix-mysql Installationen nicht gehn die auf Socket setzen.
Ich hatte es kurz getestet, aber dann hab ich wahrscheinlich einen Fehler gemacht.

Angenommen ich habe ein Verzeichnis (in der physischen Installation)

Code: Select all

/shareThisDir/
und ich gehe in das root-Verzeichnis des chroots (ohne ins chroot zu wechseln) und fuere folgenden Befehl aus:

Code: Select all

cd /chrootInstallation/ ; ln /shareThisDir
nahm ich an, dass ich einen Hardlink erzeugt habe, da die man-Page sagt "Create hard links by default". Wenn ich aber ins chroot wechsle, funktioniert dieser Link nicht (erscheint im ls auch farblich als Rot).

Wo hab ich den Fehler gemacht?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11133
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by Joe User » 2006-05-30 10:37

Code: Select all

cd /
ln /chroot1/file_orig /chroot2/file_link
ls -lh /chroot2/file_link
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by mattiass » 2006-05-30 10:39

rfc wrote: Wo hab ich den Fehler gemacht?
Hardlinks auf Directories sind keine gute Idee.

rfc
Posts: 19
Joined: 2006-05-29 15:28

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by rfc » 2006-05-30 10:40

Joe User wrote:

Code: Select all

cd /
ln /chroot1/file_orig /chroot2/file_link
ls -lh /chroot2/file_link
Ok, da ist der Haken, nicht? Es geht nur mit Files, ich brauch aber eine Verzeichnis mit allen Unterverzeichnissen, d.h. directory hardlink funktioniert nicht.

Wobei, GsD gibts mount --bind, welches das Problem eh loest :)

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by mattiass » 2006-05-30 10:49

rfc wrote: Wobei, GsD gibts mount --bind, welches das Problem eh loest :)
"mount -o bind" oder "mount_nullfs" macht auch mehr Sinn.

Bei meinen BSD-Systemen mounte ich oft noch ein UnionFS über einen Ast des Verzeichnisbaums. Dann können in einem Jail auf diesem Ast Schreiboperationen stattfinden, ohne dass sie in den anderen Jails Auswirkungen hätten... Das nur zur Vollständigkeit.

rfc
Posts: 19
Joined: 2006-05-29 15:28

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by rfc » 2006-05-30 10:52

MattiasS wrote:
rfc wrote: Wobei, GsD gibts mount --bind, welches das Problem eh loest :)
"mount -o bind" oder "mount_nullfs" macht auch mehr Sinn.

Bei meinen BSD-Systemen mounte ich oft noch ein UnionFS über einen Ast des Verzeichnisbaums. Dann können in einem Jail auf diesem Ast Schreiboperationen stattfinden, ohne dass sie in den anderen Jails Auswirkungen hätten... Das nur zur Vollständigkeit.
Urks, das uebersteigt schon meine Auffassungsgabe. Aber danke fuer den Teaser, werde ich mir mal anschauen!

danke nochmals an alle fuer die Hilfen, echt super Know-How austausch hier (Bin uebrigens ueber http://www.rootforum.org/forum/viewtopic.php?t=40195 hierher gekommen .. arme Sau ... :).

mattiass
Userprojekt
Userprojekt
Posts: 608
Joined: 2005-12-16 17:57

Re: Mehrere chroots auf einem Server, sharen von Daten (Files)

Post by mattiass » 2006-05-30 11:25

rfc wrote: danke nochmals an alle fuer die Hilfen, echt super Know-How austausch hier (Bin uebrigens ueber http://www.rootforum.org/forum/viewtopic.php?t=40195 hierher gekommen .. arme Sau ... :).
Das mit dem

Code: Select all

rm -rf /
scheint hier eine Art Initiationsritus zu sein. Man mag dazu stehen wie man will -- er ist recht effizient, wenn es darum geht, ernsthaft am Rootserver interessierte Nutzer von der "Ich will nur mal bißchen basteln"-Fraktion zu trennen.

Du scheinst schonmal ernsthaft interessiert zu sein. :-)