PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : geBINDetes Verzeichnis über NFS durchreichen?



GabbbaGandalf
10.09.07, 13:08
Hallo,

ich habe hier eine Netzwerkbootlösung aufgesetzt, die NFS nutzt. Das bedeutet ich hab ohnehin NFS Client und Server und der Client olt sein rootfs vom Server. Dies befindet sich dort in /nfsboot/ nun möchte ich ein Verzeichnis, welches auf dem Server unter /mnt/movies gemountet ist, an den Client transparent durchreichen und zwar soll es nach /nfsboot/mnt/video eingehängt werden.
Das hab ich auch mit mount --bind /mnt/movies /nfsboot/mnt/video hinbekommen. Auf dem Server funktioniert das auch aber vom Client aus ist das Verzeichnis weiterhin leer. Was kann man da machen? Das ganze soll auch wirklich transparent laufen und nicht über weitere nfs freigaben, weil auch schon der /mnt/movies Ordner nur ein mit aufs zusammengefasster ordner aus /mnt/1/filme, /mnt/2/filme und /mnt/3/filme ist und ich wenn ich /mnt/movies über nfs exportiere das gleiche problem habe. Gibts da irgend ne wichtige Option, die ich noch setzen muss? Ich habe auch schon versucht mit mount --rbind zu mounten, kein erfolg.

/etc/exports:

/nfsboot *(rw,no_root_squash,sync,no_subtree_check)

craano
10.09.07, 13:42
Füge mal als Option in Deine /etc/exports noch "nohide" hinzu.
Siehe dazu "man exports".

Grüße.
craano.

GabbbaGandalf
10.09.07, 15:15
hmm, leider keine besserung.

THEReapMan
10.09.07, 15:58
So sieht mein exports eintrag aus. Das Vezeichniss is gebindet.



/data/Isos 192.168.10.0/255.255.255.0(rw,async,no_root_squash,subtree_chec k)

GabbbaGandalf
10.09.07, 17:48
ok jetzt hab auch ich es verstanden, das unterverzeichnis muss mit nohide freigegeben werden, obwohl es garnicht selber gemountet wird!! so funzt es

craano
10.09.07, 19:11
ok jetzt hab auch ich es verstanden, das unterverzeichnis muss mit nohide freigegeben werden, obwohl es garnicht selber gemountet wird!! so funzt es

Ich habe mir die man Page jetzt nochmal angesehen. Den selben Effekt müsstest Du auch erreichen, wenn Du das Elternverzeichnis mit der Option "crossmnt" freigibst.

Grüße.
craano.

GabbbaGandalf
10.09.07, 22:10
hmm das problem ist jetzt nur, das es mit dem darunterleigenden aufs nicht klappt, entweder wird nur eins der aufs-branches angezeigt oder er läd sich bei einem cd oder ls tot.

m.o.o.
31.10.07, 19:10
Ich werde aus der Option crossmnt nicht schlau.

Wenn ich ein Verzeichnis mit crossmnt exportiere, heißt das dann, dass alle Unterverzeichnisse (auch eventuelle Mountpoints und deren Inhalt) exportiert werden? Oder muss ich die in dem Verzeichnisbaum gemounteten Partitionen einzeln freigeben?

m.o.o.
31.10.07, 19:52
Scheint definitiv nicht zu gehen; d.h. ich muss für jede Partition, die ich üner NFS zur Verfügung stellen will, einen Eintrag in /etc/exports machen?

craano
14.11.07, 18:22
Ich werde aus der Option crossmnt nicht schlau.

Wenn ich ein Verzeichnis mit crossmnt exportiere, heißt das dann, dass alle Unterverzeichnisse (auch eventuelle Mountpoints und deren Inhalt) exportiert werden? Oder muss ich die in dem Verzeichnisbaum gemounteten Partitionen einzeln freigeben?

Ja , das heißt es. Siehe "man exports".

Wenn Du nohide verwendest, musst Du auch das Kindverzeichnis in der /etc/exports freigeben.

Wieso das bei Dir nicht klappt, kann ich nicht genau sagen. Es könnte daran liegen, dass diese beiden Optionen nicht mit Wildcards arbeiten, sondern nur mit "Single Hosts". Für jeden Host PC musst Du also diese Freigabe erstellen. Siehe obige Manpage.

Grüße.
craano.

m.o.o.
15.11.07, 10:02
Danke für die Antwort, ich werde das heute Abend nochmal ausprobieren.

Wildcards verwende ich nicht direkt, sondern diese x.x.x.x/24 Schreibweise.

craano
16.11.07, 15:01
Danke für die Antwort, ich werde das heute Abend nochmal ausprobieren.

Wildcards verwende ich nicht direkt, sondern diese x.x.x.x/24 Schreibweise.

Ich denke genau da liegt das Problem.
Siehe man exports

The nohide option is currently only effective on single host
exports. It does not work reliably with netgroup, subnet, or
wildcard exports.
Gebe die Verzeichnisstruktur testweise mal nur für einen client frei.

Grüße.
craano.

m.o.o.
17.11.07, 15:35
Funktioniert irgendwie auch nicht...

Die /etc/exports sieht momentan so aus:


# /etc/exports: the access control list for filesystems which may be exported
# to NFS clients. See exports(5).
#
# Example for NFSv2 and NFSv3:
# /srv/homes hostname1(rw,sync) hostname2(ro,sync)
#
# Example for NFSv4:
# /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
# /srv/nfs4/homes gss/krb5i(rw,sync)
#

/ 192.168.178.20(ro,sync,crossmnt,no_subtree_check)
.

Wenn ich jetzt mounte (mount -t nfs 192.168.178.20:/ /pub), dann ist z.B. /pub/music/ leer. Auf dem Server ist /music eine extra Partition.

Hast du eine Idee, wo der Fehler liegt?

Meine Manpage (Debian 4.0 r01) von exports scheint übrigens veraltet zu sein, da kommt kein crossmnt vor...

craano
18.11.07, 20:08
Gib doch in einer zweiten Zeile auch nochmal /pub/music/ frei zum Exportieren, mit den gleichen Optionen.
Mal sehen was dann passiert, wenn Du vom Client / mountest.

Wenn die man Page crossmnt nicht kennt, dann verwendest Du wahrscheinlich eine ältere Version des NFS Servers, der diese Option noch nicht kennt.

Grüße.
craano.

m.o.o.
18.11.07, 20:49
Das Problem mit der Manpage war, dass ich die deutsche Version installiert hatte und die veraltet war. Hab die mal runtergeschmissen.

Meinst du, ich soll /music frei geben? Weil in /pub hänge ich das NFS ja ein.
Werde das morgen ausprobieren.

m.o.o.
23.11.07, 14:37
Also, mit



/ 192.168.178.20(ro,sync,no_subtree_check,crossmnt)
/music 192.168.178.20(ro,sync,no_subtree_check)


wird auch /music exportiert, wenn ich nur / mounte (andere Dateisysteme die unter / liegen aber nicht).

Aus diesem Ergebnis würde ich folgern: crossmnt exportiert alle Dateisysteme, die auch in /etc/exports angegeben sind und unterhalb des mit crossmnt exportierten Dateisystems liegen. Der Unterschied zu no_hide liegt darin, dass man das nicht bei jedem exports-Eintrag angeben muss.


Funktioniert bei dir die Freigabe von Dateisystemen, die unterhalb eines mit crossmnt freigegebenen FS liegen, ohne explizite Angabe dieser Dateisysteme in /etc/exports?