automatisches Einbinden des storagespace hakelt

  • ich habe drei Root-Server mit Ubuntu 16.04. Mit einem ist ein storagespace verknüpft. Für die anderen sind deren IP-Adressen im storage space freigegeben. Bei allen kann ich das Laufwerk mounten und darauf zugreifen. Nur das automatische Einbinden via fstab funktioniert nur bei dem Rechner bei dem der storagespace verknüpft ist. Der Eintrag in fstab sieht bei allen drei gleich aus:

    46.38.248.210:/voln12345a1 /mnt/storagespace nfs defaults 0 2

    Nur der eine Rechner läuft beim Booten glatt durch; die beiden anderen bleiben beim Einbinden des storagespaces hängen "a start job is running for /mnt/storagespace (1 min 37). Nach Ablauf der 1:37 geht es weiter.


    Im Syslog steht im Fehlerfall:

    mnt-storagespace.mount: Directory /mnt/storagespace to mount over is not empty, mounting anyway.

    Mounting /mnt/storagespace...

    mnt-storagespace.mount: Mounting timed out. Stopping.

  • Code
    mnt-storagespace.mount: Directory /mnt/storagespace to mount over is not empty, mounting anyway.

    Ist getrennt zu betrachten. Es sagt aus, dass im Verzeichnis (ungemounted) schon daten liegen, also auf der lokalen Platte des Servers. Das solltest du dir mal anschauen.


    Der eigentliche Fehler ist:

    Code
    mnt-storagespace.mount: Mounting timed out. Stopping.

    Was halt aussagt, dass er nach der von dir genanten Zeit aufgegeben hat zu mounten; sei es weil das Remote-System nicht antwortet oder nicht antworten will.


    Ich kenne mich mit dem Storagespace hier nicht aus (betreibe meinen eigenen Storage Cluster), aber vielleicht kann der nur auf ein System gleichzeitig gemouted werden?


    Wie ist es, wenn du den Server runterfährst, auf dem es klappt (und ausgeschaltet lässt) und dann einen der anderen rebootest - klappt dort dann das Mounten?

  • Zitat

    Wie ist es, wenn du den Server runterfährst, auf dem es klappt (und ausgeschaltet lässt) und dann einen der anderen rebootest

    Das habe ich auch ausprobiert - da ändert sich nix. Auch kann ich auf dem ausgetimten Rechner das LW von Hand mounten und dann den anderen booten - der Boot läuft da wieder problemlos durch.

  • Ist die Netzwerk-Konfiguration bei allen drei Servern identisch (bis auf die Adresse natürlich)?

    Eventuell haben die anderen beiden Kisten beim Booten noch kein Netzwerk, wenn sie den Storage mounten wollen..

  • Also die Netzwerkkonfiguratinen sind gleich:

    Die Mount-Optionen _netdev ändert am Verhalten nichts.

  • Verwendet Du eine Firewall?


    Nachfolgend ein Workaround, mit dem es vorläufig einmal funktionieren sollte. Füge bei den Mount-Optionen noauto hinzu und lege einen neuen Cronjob an: (z.B. via crontab -e)


    Code
    @reboot mount /mnt/storagespace

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Zitat

    Verwendet Du eine Firewall?

    Ja, ufw.

    Dein Vorschlag hat funktioniert:

    Ich habe in /etc/fstab die Mount-option noauto hinzugefügt und in crontab -e einen job @reboot.

    Er bleibt jetzt beim Booten nicht mehr bis zum timeout hängen.

    Danke.

  • Und die Firewall ist auf allen drei Systemen gleich konfiguriert?


    Ich persönlich würde ja einmal alle Dateien in /etc mit einem rekursiven Diff-Tool vergleichen und schauen, ob da etwas anders ist, was gleich sein sollte. Und zusätzlich die dpkg Liste aller installierten Pakete vergleichen. Vielleicht taucht die Ursache so schneller auf.



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Statt solcher Hacks könntet Ihr euch auch mal AutoFS anschauen. Ich habe meinen Backup Space in einer Umgebung laufen, die etwas instabil ist und hatte mit dem normalen fstab Eintrag das Problem, dass der Reconnect nicht so ganz klappte.


    AutoFS kümmert sich da sehr gut drum, seit dem gibt es keine Probleme mehr.


    Auch verhindert AutoFS den Zugriff auf den Mount Point wenn der Space mal nicht eingebunden sein sollte. So kann es nicht passieren, dass ein Backup auf das lokale Laufwerk geschrieben wird und unter Umständen die Platte voll läuft.

  • OK, guter Vorschlag. AutoFs ist ja in Ubuntu 16.04 in Systemd enthalten. Habe den Cron Job wieder entfernt. und den Eintrag in FSTAB geändert zu:

    Code
    46.38.248.210:/voln12345a1 /mnt/storagespace nfs noauto,x-systemd.automount,x-systemd.device-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 2

    Scheint so zu laufen wie erwartet.