Hallo zusammen,
wir haben aktuell ein Problem bei der Nutzung von greenfoot/BlueJ (Java) auf unseren linuxmuster-Clients (Ubuntu, linuxmuster-linuxclient).
Die Homeverzeichnisse der Benutzer werden dabei wie üblich per SMB/CIFS (pam_mount) eingebunden (H:-Laufwerk).
Problem:
Beim Arbeiten mit BlueJ erscheint regelmäßig folgende Meldung:
„Die Quelldatei auf der Platte wurde verändert.
Wollen Sie sie wirklich neu laden?“
Obwohl die Datei nicht bewusst extern verändert wurde.
Das Verhalten tritt reproduzierbar auf, insbesondere beim Speichern / Kompilieren.
Unsere Vermutung:
Wir gehen aktuell davon aus, dass das Problem durch CIFS-Caching bzw. Zeitstempel-Verzögerungen verursacht wird.
Aktueller Mount (aus mount):
//srv/default-school/teachers/test.lehrer on /home/test.lehrer/media/test.lehrer (H:) type cifs (rw,nosuid,nodev,relatime,vers=3.0,sec=krb5,cruid=449201168,cache=strict,username=test.lehrer,domain=SN.SCHULE.DE,uid=449201168,forceuid,gid=449200513,forcegid,addr=10.0.0.2,file_mode=0700,dir_mode=0700,soft,nounix,noperm,nobrl,mfsymlinks,rsize=4194304,wsize=4194304,bsize=1048576,echo_interval=60,actimeo=1,closetimeo=1)
Ansatz zur Lösung:
Wir überlegen, die Mount-Optionen wie folgt anzupassen:
cache=none
actimeo=0
Ziel:
-
kein Attribut-/Timestamp-Caching mehr
-
sofortige Synchronisation zwischen Client und Server
-
Vermeidung der „Datei geändert“-Erkennung durch BlueJ
Unsere Fragen:
-
Hat jemand ähnliche Probleme mit BlueJ / Java / IDEs auf SMB-Homes in linuxmuster gehabt?
-
Ist die Anpassung auf
cache=none, actimeo=0
eine sinnvolle und praxistaugliche Lösung? -
Gibt es bekannte Nebenwirkungen (Performance, Last auf dem Server)?
-
Wie würdet ihr die Änderung sauber und update-sicher im linuxmuster-Setup umsetzen?
-
Gibt es evtl. bessere Ansätze?
Rahmenbedingungen:
-
linuxmuster-Umgebung (aktuelle Version)
-
Ubuntu-Client focal
-
SMB-Mount via pam_mount
-
Server: linuxmuster-Server 7.2
-
auch in den Ferien mit nur einem Client gleichzeitig im Einsatz
Vielen Dank vorab für eure Einschätzung!
Viele Grüße
cnospirit