none
dfs e file lock RRS feed

  • Domanda

  • Ciao a tutti, torno a scrivere per una info su una configurazione DFS in piedi da poco tempo. Premetto che ho configurato il tutto senza alcuna impostazione particolare. Ho un namespace su 2 server nella stessa lan con 2 cartelle come target. Entrambe le cartelle replicate senza alcuna eccezione se non quelle di default. Ammesso e non concesso che il dfs ms non gestisce il file lock cosi come viene consegnato, ho provato a disabilitare sia il server che la cartella nel namesapce per garantire la replica ma permettere di avvisare gli utenti in caso di apertura multipla dello stesso file. Almeno cosi ho letto spulciando nelle varie domande post in giro su web (solo su siti stranieri ho trovato il quesito).

    Per essere più chiaro ho bisogno di avere sempre disponibili i file replicati anche in caso di riavvio delle machine (2 dc con 2008 e 2012 entrambe r2) oltre che per ridondanza del dato. LE cartelle contengono documenti, script e profili per gli utenti della rete.

    Spero di essere stato chiaro, è la prima esperienza con DFS e non vorrei aver commesso errori banali anche se ricontrollando le varie guide non dovrei. 

    mercoledì 8 gennaio 2020 16:08

Risposte

  • L'unico modo per mantenere i lock sui file ed evitare quindi conflitti di scrittura è configurare i riferimenti in modo statico, impostandone solo uno per tutti i client (indipendentemente dal sito di appartenenza) e utilizzare l'altra condivisione replicata esclusivamente per il failover in caso di problemi.
    Per fare questo va impostato sul DFS l'override dell'ordinamento dei riferimenti come specificato qui:
    https://docs.microsoft.com/it-it/windows-server/storage/dfs-namespaces/set-target-priority-to-override-referral-ordering

    Quindi la condivisione da utilizzare per il lavoro attuale dovrà avere "Prima tra tutte le destinazioni", mentre l'altra in un qualsiasi altro modo differente perché verrà sempre utilizzata solo per il failback.
    In questo modo la cartella DFS si comporterà esattamente come una condivisione classica, con la differenza che si avrà in più una condivisione replicata pronta a funzionare in caso di problemi.
    Ovviamente in questo modo non sfrutterai il DFS per risparmiare banda nel collegamento tra siti, ma solo come una ridondanza che accetta un minimo di perdita di dati dovuto alla latenza di replica (quindi da non confondere con una vera soluzione HA tipo il cluster).

    • Contrassegnato come risposta Celletti venerdì 24 gennaio 2020 17:01
    lunedì 13 gennaio 2020 10:18
    Moderatore

Tutte le risposte

  • Purtroppo, anche se DFS, sta per Ditributed File System in realtà non si tratta di un vero e proprio file system distribuito e non fa ciò che molti si aspettano, non avendo un sistema di lock distribuito.

    In particolare il locking dei file di office è lato client, lato singolo server, come un normale file system di rete... per non perderci a a spiegare il lock per i file di office, opslock e altro, arriviamo al succo, la mancanza di gestione reale delle aperture contemporanee da parte di più utenti dello stesso file, implica che, "last write, last win" chi salva per ultimo vince!

    Quindi se Tizio e Caio hanno aperto lo stesso file, ma il primo sul DC1 e l'altro sul DC2 , l'utimo che salverà vincerà, la replica farà il resto, sincronizzando il file salvato anche sull''altro, perdendo definitivamente il lavoro dell'altro utente.

    https://docs.microsoft.com/it-it/archive/blogs/askds/understanding-the-lack-of-distributed-file-locking-in-dfsr

    Ciao Gastone


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere

    mercoledì 8 gennaio 2020 20:19
    Moderatore
  • Sì, il DFS è più utilizzato come organizzazione delle share di più sedi periferiche e la replica come metodo per portare tutti i dati alla sede centrale per meglio gestire i backup e perché eventualmente se cade la condivisione locale vengono reindirizzati sulla sede centrale...

    Il tuo problema per intenderci, usando la tua configurazione, è che due utenti che aprono lo stesso file rischiano di aprirlo su due server diversi?

    In effetti con le configurazioni di default nella stessa LAN ti ritroveresti che se aprono un file di access, per esempio, lo bloccano su server diversi creando di fatto due archivi separati e distinti… un disastro per intenderci, con utenti che vedono dati incoerenti.

    La prima cosa che mi verrebbe in mente è quella di configurare le priorità dei riferimenti su cui punteranno le macchine client:
    https://docs.microsoft.com/it-it/windows-server/storage/dfs-namespaces/set-target-priority-to-override-referral-ordering

    Se nella stessa LAN ne settassi uno come First among targets of equal cost  e l'altro come Last among targets of equal cost avresti ottenuto che tutti i client di quella subnet punterebbero sempre e solo alla stessa condivisione sullo stesso server, mentre l'altro server verrebbe utilizzato solo nella situazione in cui il primo server cadesse. 


    giovedì 9 gennaio 2020 19:56
  • Purtroppo, qualora si usi  First among targets of equal cost , comunque avremo il problema delle normali share, che non hanno alcun tipo di lock e nuovamente avremo un "last write, last win".

    Il problema è mitigato dal calcolo delle probabilità favorevole (molti usano file di office, basso rischio di apertura doppia...client lock,opslock), se ci fosse un alto rischio di contemporaneità nell'apertura di files, che non implementano alcun tipo "client locking" (txt,jpg,gif,tiff,wri,csv,pdf...) bisognerebbe valutare la cosa, purtroppo questo non avviene quasi mai, fino a quando non succede qualche problema (non quello della segretaria che riscrive un file perchè Caio lo ha sovrascritto, manco sa, chi sia stato a rovinargli il lavoro e il sistemista tace il problema, per non avere una lavata di capo)

    Ciao Gastone


    Gastone Canali >http://www.armadillo.it


    Se alcuni post rispondono al tuo quesito(non necessariamente i miei), ricorda di contrassegnarli come risposta e non dimenticare di contrassegnare anche i post utili. GRAZIE! Ricorda di dare un occhio ai link Click Here andHere





    venerdì 10 gennaio 2020 00:05
    Moderatore
  • Confermo che quanto detto ada Gastone (ahime) è giusto. Anche configurando la priorità non si risolve il quesito. Avevo già provato prima di formulare la domanda a configurare le priorità di accesso.

    Sono indeciso se riportare tutto alla nomrale share di rete. Se volessi eleimare uno dei sue target lasciando la replica attiva risolverei l'anomalia? avrei la possibilità di switchare tra i 2 server il possesso delle cartelle condivise.

    venerdì 10 gennaio 2020 11:18
  • L'unico modo per mantenere i lock sui file ed evitare quindi conflitti di scrittura è configurare i riferimenti in modo statico, impostandone solo uno per tutti i client (indipendentemente dal sito di appartenenza) e utilizzare l'altra condivisione replicata esclusivamente per il failover in caso di problemi.
    Per fare questo va impostato sul DFS l'override dell'ordinamento dei riferimenti come specificato qui:
    https://docs.microsoft.com/it-it/windows-server/storage/dfs-namespaces/set-target-priority-to-override-referral-ordering

    Quindi la condivisione da utilizzare per il lavoro attuale dovrà avere "Prima tra tutte le destinazioni", mentre l'altra in un qualsiasi altro modo differente perché verrà sempre utilizzata solo per il failback.
    In questo modo la cartella DFS si comporterà esattamente come una condivisione classica, con la differenza che si avrà in più una condivisione replicata pronta a funzionare in caso di problemi.
    Ovviamente in questo modo non sfrutterai il DFS per risparmiare banda nel collegamento tra siti, ma solo come una ridondanza che accetta un minimo di perdita di dati dovuto alla latenza di replica (quindi da non confondere con una vera soluzione HA tipo il cluster).

    • Contrassegnato come risposta Celletti venerdì 24 gennaio 2020 17:01
    lunedì 13 gennaio 2020 10:18
    Moderatore
  • Giornate piene in altro ufficio, tengo viva la discussione. avevo già provato a configurare l'override senza successo. Riprovero seguendo passo passo la guida linkata appena chiudo altre questioni ora aperte.
    martedì 14 gennaio 2020 20:27
  • Probabilmente non era stato configurato correttamente, in quel modo la cartella DFS deve funzionare per forza come una condivisione "normale".
    mercoledì 15 gennaio 2020 07:55
    Moderatore
  • Probabilmente non era stato configurato correttamente, in quel modo la cartella DFS deve funzionare per forza come una condivisione "normale".

    Ho ripetuto la configurazione, alla fine sono due click ma nulla. Riesco anche a rinominare un file aperto e se salvo quello prove fatte sia su file doc che rtf e txt. Ho provato ad impostare prima l'override sul namespace che sulle singole cartelle.

    Devo riavviare qualche servizio per far prendere modifiche?

    EDIT: Chiudendo le sessioni di rete degli utenti dopo la configurazione abbiamo il risultato previsto, file lock senza conflitti. Diciamo che ora ho ottenuto quello che volevo. 

    Se la modifica fosse stata con effetto immediato avrei risolto da tempo visto che per non creare problemi di funzionamento avevo rimesso tutto come da prima configurazione. Non ci sarei mai arrivato alla soluzione se per altre emergenze avessi lasciato l'override attivo per un ora prima di fare nuovi test.

    Segno come risposta il post di Fabrizio-G

    Grazie

    D.

    • Modificato Celletti venerdì 24 gennaio 2020 17:01
    venerdì 24 gennaio 2020 14:01