autofs und lokale mounts

Hinweis: In dem Thema autofs und lokale mounts gibt es 3 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Hallo!


    Ich verwende NIS + NFS/automount (NFS und NIS+automount wurden in Yast eingerichtet).
    Die config files sind (fast) identisch auf jedem Client:
    /etc/fstab:
    /dev/disk/by-id/ata-ST1000VX000-1CU162_Z1DCQMPZ-part3 swap swap defaults 0 0
    /dev/disk/by-id/ata-ST1000VX000-1CU162_Z1DCQMPZ-part1 swap swap defaults 0 0
    /dev/disk/by-id/ata-ST1000VX000-1CU162_Z1DCQMPZ-part2 / ext4 acl,user_xattr 1 1
    /localhome /nfs4/localhome none defaults,bind 0 0


    /etc/exports:
    /nfs4 *(fsid=0,crossmnt,rw,no_root_squash,async,no_subtree_check,insecure)
    /nfs4/localhome *(rw,no_root_squash,async,no_subtree_check,insecure)
    /nfs4/localhome/[local client name] *(rw,no_root_squash,async,no_subtree_check,insecure)


    /etc/auto.master:
    +auto.master
    /home auto.home rsize=8192,wsize=8192


    /etc/auto.home:
    * -fstype=nfs4,rw,intr,hard,timeo=300 &:/localhome/&


    /home wird von automount verwaltet und ist leer bis ein Benutzer sich anmeldet.
    (auto.home sagt dem automounter, dass &:/localhome/& in /home gemountet werden soll, wobei & eine wildcard für Client und subdir ist, wo das home der Benutzer physikalisch liegt)


    Bisher hatten die Benutzer ihre homes in /etc/passwd des nis-Servers definiert als /home/[client]/[Benutzer-ID]
    und alles hat gut funktioniert: Benutzer konnten sich auf jedem Client im Subnetz anmelden und fanden ihr home gemonted.
    Die aktuelle (und funktionierende) Einstellung ist zum Beispiel:
    Benutzer joe arbeitet in der Regel auf den Client tesla, also ist sein home in passwd am NIS-Server mit "/home/tesla/joe" definiert.
    physisch liegt es auf den Client tesla in /localhome/tesla/joe.
    Dies wird durch NFS/automount sowohl lokal als auch auf entfernten Rechnern beim Login von user Joe in /home/tesla/joe
    gemountet.


    Aber jetzt habe ich in einen Client einige zusätzliche Harddisks für mehr Platz auf einigen homes eingebaut und diese in den subdirs 1 bis 3 von /localhome gemounted.


    Die Konfigurationsdateien für den Client mit den Zusatzplatten:
    /etc/fstab:
    /dev/disk/by-id/ata-INTEL_SSDSC2BW240H6_CVTR551303N8240CGN-part1 swap swap defaults 0 0
    /dev/disk/by-id/ata-INTEL_SSDSC2BW240H6_CVTR551303N8240CGN-part3 swap swap defaults 0 0
    /dev/disk/by-id/ata-INTEL_SSDSC2BW240H6_CVTR551303N8240CGN-part2 / ext4 acl,user_xattr 1 1
    /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z9CWSK-part1 /localhome/gauss/1 ext4 defaults 1 2
    /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z9D4KQ-part1 /localhome/gauss/2 ext4 defaults 1 2
    /dev/disk/by-id/ata-ST4000NM0033-9ZM170_Z1Z9D7WZ-part1 /localhome/gauss/3 ext4 defaults 1 2
    /localhome /nfs4/localhome none defaults,rbind 0 0


    /etc/exports:
    /nfs4 *(fsid=0,crossmnt,rw,no_root_squash,async,no_subtree_check,insecure)
    /nfs4/localhome *(rw,no_root_squash,async,no_subtree_check,insecure)
    /nfs4/localhome/gauss *(rw,no_root_squash,async,no_subtree_check,insecure)
    /nfs4/localhome/gauss/1 *(rw,no_root_squash,async,no_subtree_check,insecure)
    /nfs4/localhome/gauss/2 *(rw,no_root_squash,async,no_subtree_check,insecure)
    /nfs4/localhome/gauss/3 *(rw,no_root_squash,async,no_subtree_check,insecure)


    Der neue Fall sollte /home/gauss/1/[Benutzer-ID] für die lokalen Benutzer sein und das ist auch genau das, was von autofs und NFS auf Remote-Clients durchgeführt wird.
    Beispiel: home für Benutzer Mark ist als /home/gauss/1/mark eingetragen und physisch in gauss:/localhome/gauss/1/mark angelegt.


    Diese subdirs werden korrekt exportiert, so dass sie auf Remote-Clients sichtbar sind und mit ihrem Inhalt gefüllt.
    Aber auf dem lokalen Host sind sie leer.
    Die subdir Mounts scheinen vom lokalen automount nicht mitübernommen zu werden, sondern nur von remote nfs-mounts.
    (Ein Hinzufügen der Zeile
    /localhome/gauss/1 /nfs4/localhome/gauss/1 none defaults,bind 0 0
    hat daran auch nichts geändert)
    Es sieht so aus, dass autofs den Aufruf als lokal erkennt und anders mountet als auf remote clients.
    Ergebnis ist, dass die Unterordner 1 bis 3 des lokal gemounteten localhome/gauss/ nicht das Dateisystem zeigen, sondern nur die leeren subdirs 1 bis 3.
    In der Folge führt eine lokale Anmeldung des Benutzers zur Fehlermeldung:
    > cd ~
    bash: cd: /home/gauss/1/[Benutzer-ID]: Keine solche Datei oder das Verzeichnis


    Ich habe irgendwo gelesen, dass diese Mount-Probleme mit Symlinks umgangen werden können, habe aber keine Ahnung, was wo zu symlinken wäre.
    Da /home leer ist (und meines Wissens in dieser Konfiguration für automount auch leer sein muss), bis sich Benutzer anmelden, kann ich zumindest dort nichts symlinken.


    Irgendwelche Vorschläge, wie man autofs dazu bringen kann, anstatt bind den parameter rbind zu verwenden oder so?
    Irgendein workaround für dieses Szenario?

    Für den Inhalt des Beitrages 97369 haftet ausdrücklich der jeweilige Autor: moserh5

  • Auf welchem System läuft der Server?
    13.1 oder Tumbleweed?

    Für den Inhalt des Beitrages 97376 haftet ausdrücklich der jeweilige Autor: Sauerland

  • in tumbleweed ist es aber auch dasselbe: lokaler automount ohne rbind, entfernter mount mit allen filesystems in subdirs.

    Für den Inhalt des Beitrages 97419 haftet ausdrücklich der jeweilige Autor: moserh5