Vraag Verschil tussen duurzame bestandshandvatten, veerkrachtige bestandshandvatten en aanhoudende bestandshandvatten


In het CIFS / SMB-protocol zie ik dat er drie soorten bestandshandvatten zijn: duurzaam, veerkrachtig en persistent. Wat is het verschil tussen hen?


6
2018-02-24 03:03


oorsprong




antwoorden:


  • Duurzame handgrepen maken deel uit van SMB 2.0
  • Veerkrachtige handgrepen maken deel uit van SMB 2.1
  • Blijvende grepen maken deel uit van SMB 2.2 dat nu SMB3 wordt genoemd

Mijn belangrijkste referenties voor het volgende zijn:

https://wiki.samba.org/index.php/SMB3_kernel_status

en hoewel dit oorspronkelijk voor Samba3 was, heeft het meer details:

https://wiki.samba.org/index.php/Samba3/SMB2

Duurzame bestandshandvatten maken een verbinding met een SMB-server mogelijk om een ​​korte netwerkstoring te overleven - duurzame handgrepen worden niet noodzakelijkerwijs opgeruimd wanneer het openen wordt beëindigd. Wanneer een client probeert opnieuw verbinding te maken, als de oplock (/ lease) nog steeds aanwezig is, maakt deze opnieuw verbinding met het bestand.

Maar als een andere client probeert het bestand te openen, is de oplock / lease verbroken en kan de eerste client niet opnieuw verbinding maken.

Veerkrachtige bestandshandvatten blijven behouden, zelfs als de oplock / lease is verbroken, maar eerlijk gezegd kan ik niet alle technische details volgen over hoe dit werkt. Een van de onderstaande referenties zegt dat het verschil tussen duurzaam en veerkrachtig is hoe de handvatten worden gemaakt - Duurzaam door een contextcontextaanroep en Resilient door een IOCTL.  (Het belangrijkste dat ik niet kan volgen, is hoe lock sequencing en replay hierin past, maar het ziet er niet naar uit dat dit een kritisch verschil is tussen duurzaam en veerkrachtig.)

Voor Persistent handles kan ik niets beters bedenken dan dit Samba-document:

Persistente bestandshandvatten zijn vergelijkbaar duurzame bestandshandvatten met sterke garanties. Ze worden aangevraagd met de duurzame v2-aanvraag-blob met de aanhoudende vlag ingesteld op true. De server kent alleen persistente handvaten toe op shares die zijn gemarkeerd als CA (continu beschikbaar).

Voor zover ik kan nagaan zijn deze nog niet geïmplementeerd in Samba, maar het doel is om clustering en continue beschikbaarheid te ondersteunen, dus er wordt aan gewerkt.


8
2018-02-24 07:32





Meer over persistente handles ... Persistente handles zijn beschikbaar voor meerdere servers van hetzelfde cluster. Wanneer een server om welke reden dan ook uitviel, kan de clientcomputer semi-transparant doorgaan met het gebruik van deze handle via een verbinding met een andere server. Dat is de reden waarom de implementatie van persistente handles (in tegenstelling tot duurzame en veerkrachtige handles) geen pure SMB-scope heeft. Onze NQ Storage verwacht bijvoorbeeld dat de volledige semantiek van persistente handles wordt geïmplementeerd in een aangepaste VFS, terwijl de SMB-engine verantwoordelijk is voor de respectieve syntaxis.


4
2018-02-25 05:21