Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Timestamp beim Kopieren auf Samba-Share  (Read 424 times)

Offline d146

  • User
  • Posts: 22
Timestamp beim Kopieren auf Samba-Share
« on: 2021/09/05, 17:10:20 »
Hi Leute,

ich weiß nicht mehr, wo ich noch suchen soll - vielleicht weiß von Euch jemand Rat.

Server:
Debian 10, Kernel: 4.19.0-10-amd64, Samba: 4.9.5+dfsg-5+deb10u1

Client:
Siduction, Kernel: 5.13.13-1-siduction-amd64, Samba/smbclient: 4.13.5+dfsg-2

Problem:

Ich habe auf dem Client verschiedene Samba-Shares des Servers gemountet. Bis ca. Anfang August wurde beim Kopieren auf diese Shares der originale Timestamp der Dateien erhalten (dafür werden verschiedenste Programme verwendet: cp, mc, Double Commander etc.).
Irgendwann danach muss es auf dem Siduction-Client durch eines der Updates eine Änderung gegeben haben, wodurch jetzt alle auf den Server kopierten Dateien ca. 1-2 Sekunden nach dem Kopiervorgang den Timestamp der aktuellen Uhrzeit erhalten (das zeigt sich auch, wenn man sich diese Dateien direkt auf dem Server auflisten lässt, sprich nicht übers Netzwerk/Share).

Wo ich das seither ebenfalls bemerke: Wenn ich in Geany eine Datei unter einemneuen Name auf einem dieser Shares speichere, kommt nach ebenfalls 1-2 Sekunden vom Editor der Hinweis, dass die Datei auf dem Share neuer sei als die, die ich gerade editiere ...

Tests auf anderen Clients, die diese Shares ebenfalls verwenden, zeigen dieses Verhalten hingegen nicht. Es handelt sich bei diesen Systemen z. B. um ein aktuelles Linux Mint oder auch ein Windows 10.

Die Konfiguration von Samba auf dem Server und auch die mount-Optionen auf Siduction sind seit laaanger Zeit nicht geändert worden - alles hat bisher einwandfrei funktioniert.

Ich wühle mich nun durch verschiedenste Quellen, Hinweise etc. (Bugzillas von kernel.org, Samba, Foren usw.), aber finde keinen wirklichen Hinweis (und übersehe den entscheidenden hoffentlich nicht ...).

Wie geschrieben: Kennt von Euch zufällig jemand dieses Verhalten und insbesondere vielleicht die kürzliche Änderung, die dazu geführt hat?

Bin für den Tipp sehr dankbar.

Viele Grüße

Offline devil

  • Administrator
  • User
  • *****
  • Posts: 4.602
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #1 on: 2021/09/05, 21:17:47 »
Ich habe dieses Verhalten noch nicht bemerkt, ich nutze aber auch kein Samba, sondern AutoFS/NFS. Zum Eingrenzen des Problems kannst Du ja mal versuchen, ob das Verhalten auf Samba beschränkt ist.

Offline der_bud

  • User
  • Posts: 996
  • member
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #2 on: 2021/09/06, 08:41:16 »
Ich krieg nicht mehr zusammen wo ich die Infos genau herhabe, vielleicht liefer ich Dir neue SuFu-Stichwörter ;)
Wenn das bei Dir "vor einiger Zeit" auftrat, kann das vielleicht mit einem Wechsel auf das Protokoll SMBv2 oder SMBv3 zusammenhängen, wo vorher Cifs Version 1 genutzt wurde. Obwohl v1 als veraltet und unsicher gilt, schalten viele User das explizit wieder an in Umgebungen, wo zum Beispiel alte Fritzboxen oder XP-Clients noch mitspielen. Es ist möglich, dass das korrekte Schreiben von Timestamps mit Änderungen der Optionen zusammenhängt.
Such mal nach mount-Optionen für die fstab, mit denen man die zu verwendete samba Version forciert, und vergleich das Verhalten mit Version 1 vs 2/3/default vs (wie devil vorschlägt) als NFS gemountet.

--
P.S. Siehe auch https://wiki.ubuntuusers.de/mount.cifs/#SMB-Protokoll-Versionen, Zitat:
"Zeitstempel
Sind die cifs-UNIX-Erweiterungen aktiv, dann wird beim Kopieren oder Verschieben von Ordnern und Dateien der Zeitstempel (Datum, Uhrzeit) genau so übertragen, wie wenn sich Ursprung und Ziel im gleichen Dateisystem befinden würden. Andernfalls wird der Zeitstempel nur dann übertragen, wenn die Besitzer auf dem Server und dem Client übereinstimmen; sonst gelten die kopierten Dateien als neu angelegt."
Du lachst? Wieso lachst du? Das ist doch oft so, Leute lachen erst und dann sind sie tot.

Offline d146

  • User
  • Posts: 22
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #3 on: 2021/09/06, 20:58:20 »
Hallo devil und der_bud,

vielen Dank für Eure Antworten!

sondern AutoFS/NFS. Zum Eingrenzen des Problems kannst Du ja mal versuchen, ob das Verhalten auf Samba beschränkt ist.
Hatte ich schon mit NFS getestet, da mein SAT-Receiver so angebunden ist: da bleibt beim Kopieren der Timestamp erhalten, alles OK also.

Ich krieg nicht mehr zusammen wo ich die Infos genau herhabe, vielleicht liefer ich Dir neue SuFu-Stichwörter ;)
;-)

Quote
Wenn das bei Dir "vor einiger Zeit" auftrat, kann das vielleicht mit einem Wechsel auf das Protokoll SMBv2 oder SMBv3 zusammenhängen, wo vorher Cifs Version 1 genutzt wurde.
Ja, das ist einer der Punkte, den ich schon abgeklopft hatte: Das läuft schon länger mit SMBv3, sollte also nicht die Ursache sein. Wie gesagt: konfigurationsseitig habe ich da seit gefühlten Ewigkeiten nichts geändert. Aber natürlich können sich irgendwann mal Defaults ändern, deswegen hatte ich zunächst u. a. auch Samba selbst im Verdacht. Ich habe aber mal die term.log-Files in /var/log/apt untersucht: Das letzte Samba-Update (auf eben 4.13.5+dfsg-2) fand Mitte Mai statt, kann also nicht die Ursache sein. Denn danach habe ich haufenweise Fotos auf den Server kopiert (bei der gleichen Aktion am vergangenen WE habe ich übrigens das neue Verhalten überhaupt erst so richtig bemerkt), bei denen das originale Datum&Uhrzeit korrekt erhalten geblieben sind.

Quote
Such mal nach mount-Optionen für die fstab, mit denen man die zu verwendete samba Version forciert, und vergleich das Verhalten mit Version 1 vs 2/3/default vs (wie devil vorschlägt) als NFS gemountet.
NFS: s. o.
SMB v2: hatte ich schon getestet: gleiches Bild
SMB v1: hatte ich noch nicht getestet, weil eben Security etc., aber jetzt gerade mal damit versucht, und siehe da: damit bleibt der Timestamp erhalten ...

Quote
P.S. Siehe auch https://wiki.ubuntuusers.de/mount.cifs/#SMB-Protokoll-Versionen, Zitat:
Andernfalls wird der Zeitstempel nur dann übertragen, wenn die Besitzer auf dem Server und dem Client übereinstimmen; sonst gelten die kopierten Dateien als neu angelegt."[/tt]
Genau, u. a. diesen Wiki-Artikel hatte ich ebenfalls bereits durchgeackert: Die Übereinstimmung der Owner auf Server und Client ist bei mir seit jeher gegeben. Auch von dieser Seite kann es also eigentlich nicht kommen.

Bleibt momentan nur, die Suche auf SMBv1 vs. die neueren zu fokussieren. Evtl. kann ich damit das Problem damit weiter eingrenzen. Insbesondere werde ich mir das Linux Mint noch mal genauer anschauen und vergleichen, denn mit dem funktioniert ja nach wie vor alles wie gewohnt.

Vielen Dank also noch mal an Euch. Ich berichte, falls ich was herausfinde.

Offline whistler_mb

  • User
  • Posts: 170
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #4 on: 2021/09/07, 13:32:16 »
Das könnte bei mir erklären, warum seit dem Ende des Freeze Fehlermeldungen in LibreOffice kommen, wenn ich Dateien auf einem Samba-Share öffne und diese dort wieder speichere. Dort kommt dann die Meldung, dass die Datei auf dem Server neuer ist, als die, die ich speichern möchte.

Das war vorher nicht so. Mit den Linux-Mint Rechnern im gleichen Netz gibt es diese Meldungen nicht.


Offline d146

  • User
  • Posts: 22
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #5 on: 2021/09/07, 19:43:11 »
Ja, das ist der Schilderung nach haargenau dasselbe Problem - willkommen im Club.  ;)

Ich komme heute leider nicht mehr dazu, will aber morgen mal noch die genaueren Tests von Mint aus machen sowie weiter recherchieren, ob andere ebenfalls auf dieses Problem gestoßen sind. Hoffentlich findet sich ein Hinweis auf die eigentliche Ursache.

Wie schon geschrieben: Samba selbst ist rein vom zeitlichen Verlauf der Updates und dem Auftreten des Effekts m. E. eher nicht der Grund. Im Moment habe ich eher Kernel 5.13 im Verdacht, weil der lt. der apt-Logs im fraglichen Zeitraum installiert wurde. Aber erst mal sehen ...

Offline devil

  • Administrator
  • User
  • *****
  • Posts: 4.602
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #6 on: 2021/09/07, 19:47:11 »
Der CIFS-Bug unter https://bugzilla.kernel.org/show_bug.cgi?id=198967#c16 klingt passend, ist aber bereits seit 2019 gelöst.

Und hier noch ein technischer Thread von der Samba-Liste: https://lists.samba.org/archive/samba-technical/2019-January/132132.html

 Vielleicht lässt sich ja dort irgendwo ein Erkenntnisgewinn erzielen

Offline d146

  • User
  • Posts: 22
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #7 on: 2021/09/07, 19:56:10 »
Ja devil: auf genau diesen Bug war ich während meiner Recherchen auch gestoßen, es klingt tatsächlich absolut passend. Nur sollte das eben wirklich Schnee von gestern sein, aber wer weiß: vielleicht durch irgendwas wieder reingekommen? Insbesondere das ist einer der Punkte, die ich mir mal noch genauer anschauen und ggf. dort in den Tracker einkippen will.

Herzlichen Dank jedenfalls für Deine Mühe und die Tipps!  :)

Offline d146

  • User
  • Posts: 22
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #8 on: 2021/09/08, 17:10:02 »
So Leute,

ich habe jetzt gar nicht erst mit Linux Mint getestet, sondern mich gleich auf meine gestrige Vermutung gestürzt:

Wie schon geschrieben: Samba selbst ist rein vom zeitlichen Verlauf der Updates und dem Auftreten des Effekts m. E. eher nicht der Grund. Im Moment habe ich eher Kernel 5.13 im Verdacht, weil der lt. der apt-Logs im fraglichen Zeitraum installiert wurde. Aber erst mal sehen ...

--> 5.12er Kernel installiert, Dateien auf die samba-Shares kopiert, Ergebnis: Bingo! - die Timestamps bleiben wieder erhalten.  :)

Kurzfazit damit: bei 5.13er Kernel klappt es nur, wenn man SMBv1 verwendet, bis 5.12 dagegen auch mit SMBv3(.1.1).

Da es ein Siduction-Kernel ist, schreibe ich das mal in den Bugs-Bereich des Forums und hoffe, dass das die richtige Stelle ist (und/oder doch besser auf bugzilla.kernel.org?).

Nachtrag:

Habe gerade mal in VirtualBox eine Test-VM mit dem aktuellen Live-ISO gebootet:

Kernel: 5.14.0-rc3-siduction-amd64, Samba/smbclient: 4.13.5+dfsg-2

und dann fix zwei der Samba-Shares gemountet:

1) mit vers=1.0: die Timestamps bleiben erhalten
2) mit vers=3.1.1: die Timestamps werden auf den Zeitpunkt des Kopierens gesetzt

Das Verhalten ist also identisch zum 5.13er Kernel.
« Last Edit: 2021/09/08, 17:47:20 by d146 »

Offline whistler_mb

  • User
  • Posts: 170
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #9 on: 2021/09/09, 18:09:37 »
Ich kann bestätigen, dass mit dem Kernel 5.12er Kernel die Meldungen wegen des Timestamps nicht auftreten.

Offline d146

  • User
  • Posts: 22
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #10 on: 2021/09/09, 18:24:04 »
Schön, dass es bei Dir reproduzierbar ist - vielen Dank fürs Feedback. :)

Offline towo

  • Global Moderator
  • User
  • *****
  • Posts: 2.535
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #11 on: 2021/09/09, 18:41:33 »
Also die Settings für CIFS haben sich nicht geändert zwischen den Kerneln.
Ein separates Setting für SMB-Timestamps gibt es im Kernel ebenso wenig.

Somit est es entweder eine Upstream Regression, oder ein ungünstiges Setting im Zusammenhang mit dem smbclient aus Debian. Ich benutze keine SMB Shares, kann das also hier nicht wirklich testen. EIne Gegenprobe mit einem Debian- oder anderen 5.13+ Kernel könnte etwas Erhellung bringen.

Edit:
Hab grad gesehen, dass ich auf meiner Synology auch Samba Shares für meine Frau bereit gestellt habe. Per Dolphin gemountet, per Dolphin ein paar files dort drauf kopiert, Timestamps lokal und share sind beide gleich. Kernel hier ist 5.14.2-2-siduction-amd64.
« Last Edit: 2021/09/09, 18:53:26 by towo »
Ich gehe nicht zum Karneval, ich verleihe nur manchmal mein Gesicht.

Offline whistler_mb

  • User
  • Posts: 170
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #12 on: 2021/09/11, 11:35:35 »
Gerade habe ich die Debian Kernel für 513 und 5.14 getestet.

Der 5.13 macht die gleichen Probleme. Beim 5.14er ist der Fehler nicht mehr da.

Code: [Select]
$ apt policy linux-image-5.14.0-trunk-amd64-unsigned
linux-image-5.14.0-trunk-amd64-unsigned:
  Installiert:           5.14.2-1~exp1
  Installationskandidat: 5.14.2-1~exp1
  Versionstabelle:
 *** 5.14.2-1~exp1 100
          1 http://deb.debian.org/debian experimental/main amd64 Packages
        100 /var/lib/dpkg/status

Offline d146

  • User
  • Posts: 22
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #13 on: 2021/09/11, 11:52:16 »
@whistler_mb: Vielen Dank! Gerade jetzt läuft bei mir die Installation einer VM, mit der ich genau das testen wollte. ;)
Jedenfalls sehr gut zu wissen, dass ein 5.14er Debian-Kernel das Problem nicht mehr aufweist.

Wenn die VM gleich fertig ist, checke ich das zur Sicherheit mal noch mit dem aktuell verfügbaren linux-image-siduction-amd64 5.14-2~exp1 (bisher hatte ich ja nur kurz die Live-ISO angeworfen, und die hatte noch 5.14~rc3-1~exp1) - vielleicht ist das Problem damit ja auch erledigt.

Bis später.

Offline d146

  • User
  • Posts: 22
Re: Timestamp beim Kopieren auf Samba-Share
« Reply #14 on: 2021/09/13, 20:19:23 »
Sorry, ich kann mich leider jetzt erst wieder melden.
Habe in der neu installierten VM die Tests sowohl mit Debian- als auch mit Siduction-Kernel durchgeführt:

Code: [Select]
$ apt policy linux-image-5.14.0-trunk-amd64-unsigned
linux-image-5.14.0-trunk-amd64-unsigned:
  Installiert:           5.14.3-1~exp1
  Installationskandidat: 5.14.3-1~exp1
  Versionstabelle:
 *** 5.14.3-1~exp1 100
        100 https://deb.debian.org/debian experimental/main amd64 Packages
        100 /var/lib/dpkg/status

Code: [Select]
$ apt policy linux-image-5.14.3-1-siduction-amd64
linux-image-5.14.3-1-siduction-amd64:
  Installiert:           5.14-3
  Installationskandidat: 5.14-3
  Versionstabelle:
 *** 5.14-3 500
        500 https://ftp.snt.utwente.nl/pub/linux/siduction/extra unstable/main amd64 Packages
        100 /var/lib/dpkg/status

Leider tritt (bei mir) der Fehler mit beiden Kernel auf.  :(

Sehr schade - ich hatte gehofft, dass es auch bei mir mit dem Debian-Kernel klappt. Den 5.14.2-1~exp1, bei dem es bei whistler_mb funktioniert, hatte ich übrigens ebenfalls getestet: Der Fehler kam auch bei diesem.