Linux - Mount(zeit) einstellbar?

moby07

Lieutenant
Registriert
Sep. 2007
Beiträge
899
Guten Morgen zusammen,

kennt jemand die Möglichkeit die Mountzeit einzustellen, so dass er nach x Sekunden selbst abbricht, damit ich daraus eine Status-Nachricht basteln kann?

Gruß

moby07
 
Du willst das er automatisch wenn der Mount nicht geklappt hat abbricht oder das er etwas Mountet und nach x Sekunden es wieder unmountet?

Beide fälle kannst mit einem bash script abdecken, google einfach danach du wirst sicher eine Anleitung finden.
 
In meinem Skript soll er kurzfristig mounten - Dateien kopieren und wieder unmounten. Nur falls er doch mal länger für das Mounten braucht, möchte ich es in der Zeit begrenzen können und mir die Meldung anzeigen lassen bzw. sie weiterverwenden.

Ich kann nebenbei sagen, dass es sich um eine längere Strecke handelt. Daher kann es unter Umständen auch beim Mounten mal länger dauern oder bei einem Fehlerfall der Leitung natürlich ewig dauern. Daher der ganze Aufwand.
 
Hier wird erklärt wie du es machen kannst natürlich musst du dann selber alles in ein Bashscript packen, ausführbar machen und dann ein CronJob anlegen. Natürlich darfst du eins nicht vergessen das du dein Script auf Herz und Nieren testest.
 
Mir ist die Programmierung des Skripts soweit klar. Mir geht es alleine darum selbst zu bestimmen wie lange der Mount-Versuch dauern darf und wann es eine Rückmeldung somit geben soll. Dein Link sagt nur was über das normale Mounten ohne die Zeitangabe.
 
Führe den mountbefehl doch einmal einfach so in der Konsole aus und gibt davor time ein.

Also sowas wie "time mount /dev/sdb8 /mnt/daten".

Danach wird dir die Zeit angezeigt, die der Befehl gebraucht hat.

Wenn es ein NTFS System ist, dass öfter mal an Windows gesteckt wird: Vorher auch wieder machen, bei meiner Externen kommt beim mounten dann zuerst immer noch "Not safely closed on Windows, fixing", das braucht so seine 2 Sekunden. Liegt wohl daran, dass ich unter Windows Datenträger nie sicher entferne.
 
Na dann führe zusätzlich zum Mountbefehl noch ein Ping auf den localhost aus. Der Ping dauert ca 1 Sekunden wenn du sagen wir mal 10 sekunden Pingst und der Mountbefehl immer noch nicht geklappt dann kannst ja sagen das er abbrechen soll. Wenn du das mitm Pingen nich machen willst dann probiers halt mit wait.
 
Also es zwei Linux-Maschinen. Beide liegen etwas weiter entfernt von einander weg (>100km).

@Autokiller677
Es sind nur zwei Linux-ext4-Maschinen im Spiel. Wenn ich mir mit "time mount..." die Zeit auslesen lasse, kann es aber passieren, dass er irgendwann einen Timeout hat, aber erst nach X Minuten. Mir würde es einfach helfen, wenn er nach einer eingestellten Zeit mit der Info kommt. So kann ich auch eine Schleife bauen, in der er das merfach probiert.
Bei mehreren Systemen, die von einem System "gewartet" werden, würde es einfach sonst zu lange dauern.

@herliTz_234
Das Problem ist beim Ping jedoch, dass es keine Aussage darüber gibt, ob z. B. das Laufwerk (noch) da ist bzw. existiert.
 
Zuletzt bearbeitet:
Ich glaub ich hab mich falsch ausgedrückt. Du nimmst den Ping nicht um die Verbindung zu checken sondern um Zeit zu überbrücken um danach nocheinmal zu checken ob das Laufwerk da ist. Dann weißt du ob der Mount geklappt hat oder nicht und kannst ggf. deine Warnung ausgeben.
 
Nutz doch die Errorcodes in einer Schleife:

Pseudo:

while error!=0 and timeout < 30
mount>>errorcode
wait 1
timeout=timeout+1
 
Dafuer gibts mehrere fstab optionen:
timeo=n

The time in deciseconds (tenths of a second) the NFS client waits for a response before it retries an NFS request.

For NFS over TCP the default timeo value is 600 (60 seconds). The NFS client performs linear backoff: After each retransmission the timeout is increased by timeo up to the maximum of 600 seconds.

However, for NFS over UDP, the client uses an adaptive algorithm to estimate an appropriate timeout value for frequently used request types (such as READ and WRITE requests), but uses the timeo setting for infrequently used request types (such as FSINFO requests). If the timeo option is not specified, infrequently used request types are retried after 1.1 seconds. After each retransmission, the NFS client doubles the timeout for that request, up to a maximum timeout length of 60 seconds.

retrans=n

The number of times the NFS client retries a request before it attempts further recovery action. If the retrans option is not specified, the NFS client tries each request three times.

The NFS client generates a "server not responding" message after retrans retries, then attempts further recovery (depending on whether the hard mount option is in effect).

soft / hard

Determines the recovery behavior of the NFS client after an NFS request times out. If neither option is specified (or if the hard option is specified), NFS requests are retried indefinitely. If the soft option is specified, then the NFS client fails an NFS request after retrans retransmissions have been sent, causing the NFS client to return an error to the calling application.

NB: A so-called "soft" timeout can cause silent data corruption in certain cases. As such, use the soft option only when client responsiveness is more important than data integrity. Using NFS over TCP or increasing the value of the retrans option may mitigate some of the risks of using the soft option.
 
herliTz_234 schrieb:
Na dann führe zusätzlich zum Mountbefehl noch ein Ping auf den localhost aus. Der Ping dauert ca 1 Sekunden wenn du sagen wir mal 10 sekunden Pingst und der Mountbefehl immer noch nicht geklappt dann kannst ja sagen das er abbrechen soll. Wenn du das mitm Pingen nich machen willst dann probiers halt mit wait.

Unter Windows braucht man vielleicht dieses komische Ping-Workaround, unter Linux kann man aber einfach den "sleep" Befehl nutzen ;)

Ansonsten würde ich es so machen, wie Ulukay beschrieben hat, nämlich über Mount-Optionen. Also z.B. so:
Code:
mount -t nfs server:/path/to/share /mount/point -o soft,timeo=50,retrans=5
Damit würde der Timeout 5 Sekunden (50 Zehntelsekunden) betragen. Nach 5 fehlgeschlagenen Verbindungsversuchen gibt er dann auf.
 
Zurück
Oben