derwowusste
Goto Top

Samba - file locking ohne erkennbaren Grund

Ich grüße alle Mitadmins.

Hier eine Frage an die Sambaexperten.
Auf einem Sambaserver (aktuelle Version in SuSe Linux) liegt ein Skript, was von allen PCs der Windowsdomäne (Win10) genutzt wird.
Aus das Skript sind alle Nutzer nur read+execute berechtigt.
Es wird pro Stunde 10-20 Mal geöffnet.
Es fiel nun auf, dass das Skript plötzlich nicht mehr gestartet werden konnte, da die Skript-Datei vom Server laut smbstatus read-only gelockt war, was offenbar Ausführung verbietet.

Zur Frage: warum sollte ein wie auch immer geartetes clientseitiges Problem in der Lage sein, eine Datei dauerhaft zu locken, wenn doch nur ausgeführt wird und nicht geschrieben wird? Die Logik verschließt sich mir.

Content-ID: 73011934665

Url: https://administrator.de/contentid/73011934665

Ausgedruckt am: 22.11.2024 um 00:11 Uhr

chkdsk
chkdsk 22.08.2023 um 12:36:54 Uhr
Goto Top
Mahlzeit,
ich würde jetzt mal auf Opportunistic Locking tippen.
DerWoWusste
DerWoWusste 22.08.2023 aktualisiert um 13:34:44 Uhr
Goto Top
Mahlzeit ebenso.

Welchen Sinn ergäbe das bei einer Datei, auf die man nur read und execute hat?
Ursächlich ließ sich übrigens feststellen, dass zur Zeit des Problems die NIC am Client neu gestartet wurde.
Aber darum geht es nicht, es geht darum, ob man erklären und abstellen kann, dass der Server ein dauerhaftes Locking zulässt.
DerWoWusste
DerWoWusste 22.08.2023 aktualisiert um 13:25:52 Uhr
Goto Top
Was auch immer da passiert ist: es ist nicht richtig, dass der Server so vorgeht. Eine Datei darf nicht dauerhaft gelockt werden, da Clients ja auch mitunter abstürzen und der Sambabetrieb für andere Clients dennoch ungestört weitergehen muss.

Nochmal: die Datei blieb über Stunden gelockt, bis auf dem Server der zugehörige Prozess gekillt wurde.
Der NIC-Restart am Client hat den Sambaserver offenbar vor unbekannte Probleme gestellt und dieses Fehlverhalten provoziert.
NordicMike
NordicMike 22.08.2023 um 15:42:19 Uhr
Goto Top
Hast du eine deadtime definiert?
DerWoWusste
DerWoWusste 22.08.2023 um 16:08:55 Uhr
Goto Top
Nein, und das möchte ich auch nicht, da das global wirken würde, soweit ich weiß (oder?).
NordicMike
NordicMike 23.08.2023 um 08:33:23 Uhr
Goto Top
Die Deadtime gilt ja auch nur für Sessions, die bereits inaktiv sind. Damit kickt man keine aktiven Sessions raus. Wenn ein Client länger inaktiv war, hat er ja blitzschnell wieder eine neue Session aufgebaut. Wenn ein Client inaktiv wird, während er eine Datei offen hat, sollte die Datei ja auch nicht so lange gesperrt bleiben, bis der eine Client wieder mal online geht. Wenn ein Client eine Datei öffnet und dann offline geht, sollte er nicht damit rechnen, dass er am nächsten Tag diese Datei immer noch diesen Stand hat - erst recht nicht, wenn ständig mehrere Leute daran arbeiten. Also kannst du es testweise einfach mal probieren. Stelle es nicht auf zu gering. Ich hätte mal 60 Minuten vorgeschlagen.
DerWoWusste
DerWoWusste 23.08.2023 um 09:48:43 Uhr
Goto Top
Ok, zur Not.
Es wäre unschön, einen Workaround einzuführen für ein Fehlverhalten, dass man evtl. regulieren kann.
Ich hätte gerne eine Sambakonfig, die sagt: "bei Read-only-Dateien kein dauerhaftes Locking", denn das ergibt ja nun keinen Sinn.
7907292512
Lösung 7907292512 23.08.2023 aktualisiert um 09:55:13 Uhr
Goto Top
Z.B. hiermit das OpLocking für bestimmte Dateitypen deaktivieren
veto oplock files = /*.ps1/*.cmd/

Gruß siddius
DerWoWusste
DerWoWusste 23.08.2023 um 09:56:17 Uhr
Goto Top
Na, das schaut doch gut aus, @7907292512.
Da ich das Fehlverhalten halbwegs gut reproduzieren konnte, werde ich das bei Zeiten testen.
Danke
7907292512
7907292512 23.08.2023 aktualisiert um 10:43:20 Uhr
Goto Top
Wieso wurde denn dann das OpLocking auf dem Share überhaupt in der Config des Shares aktiviert wenn es eh nur ein ReadOnly Share ist, oder nutzen das andere auch mit Schreibzugriff ?
DerWoWusste
DerWoWusste 23.08.2023 um 12:04:45 Uhr
Goto Top
Wir haben kein Oplocking aktiviert, @7907292512.
7907292512
7907292512 23.08.2023 aktualisiert um 12:28:35 Uhr
Goto Top
Zitat von @DerWoWusste:
Wir haben kein Oplocking aktiviert, @7907292512.
Oplocks sind per Default aktiviert, muss man aktiv ausschalten wenn man es nicht nutzen möchte.

oplocks = no
DerWoWusste
DerWoWusste 23.08.2023 um 12:35:55 Uhr
Goto Top
Verstehe. Mach ich gleich mal, danke!
DerWoWusste
DerWoWusste 24.08.2023 um 11:28:18 Uhr
Goto Top
Mit der Veto-Einstellung kann ich den Effekt nicht mehr reproduzieren. Das scheint es zu sein.
Danke!