Necrologi

Si è creata molta confusione intorno ai necrologi memorizzati nella directory e, di conseguenza, molte persone hanno sviluppato pratiche aziendali inadeguate alla gestione di tali necrologi. A differenza di alcuni prodotti di directory, Novell® eDirectory™ garantisce l'integrità dei riferimenti tra gli oggetti. Ad esempio, se il gruppo A presenta un membro, utente B, e quest'ultimo viene successivamente cancellato, la directory rimuove automaticamente il riferimento all'utente B dal gruppo A. I necrologi sono attributi operativi applicati agli oggetti da eDirectory per garantire ulteriormente l'integrità dei riferimenti durante le operazioni di cancellazione, spostamento, ridenominazione, ripristino e così via.

I necrologi sono suddivisi in tre categorie generiche: primari, secondari e di controllo. I necrologi primari comprendono i necrologi di tipo Cessato (0001), Ripristinato (0000), Spostato (0002), Nuovo RDN (0005) e Nuovo RDN albero (0008). I necrologi secondari sono generalmente associati a un necrologio primario e rappresentano gli agenti e le partizioni a cui deve essere notificata l'operazione specificata nel necrologio primario. I necrologi secondari comprendono i tipi Back Link (0006), Usato da (000C) e Sposta l'albero (000a). I necrologi di controllo comprendono Impedisci spostamento (0003), RDN precedente (0004) e RDN precedente albero (0007).

I necrologi, ad eccezione di quelli di controllo, devono passare attraverso una serie di stati di sincronizzazione:

Gli stati sono registrati nel campo Flag all'interno dell'attributo del necrologio. Affinché il necrologio possa passare allo stato successivo, è necessario che lo stato attuale sia stato sincronizzato con tutte le repliche dell'oggetto reale. Per stabilire se tutte le repliche nell'anello hanno rilevato un determinato stato del necrologio, viene calcolato un vettore dal vettore transitivo. In eDirectory 8.6 e versione successiva, viene utilizzato un vettore dei necrologi non memorizzato. Nelle versioni precedenti di eDirectory, veniva utilizzato il vettore di eliminazione. Se l'orario di modifica (MTS, Modification Timestamp) sul necrologio è precedente al vettore danneggiato, il server responsabile per tale necrologio può farlo avanzare allo stato successivo.

Nel caso di un necrologio secondario di tipo Back Link, l'agente contenente la replica master dell'oggetto con il necrologio è responsabile dell'avanzamento degli stati. Nel caso di un necrologio secondario di tipo Usato da, l'agente di replica che ha creato il necrologio è responsabile dell'avanzamento degli stati del necrologio per tutta la durata della replica. Se la replica cessa di esistere, l'agente che dispone del master di quella partizione assume il controllo dell'avanzamento degli stati del necrologio per il necrologio Usato da. Nel caso di un necrologio Sposta l'albero, il master della partizione radice è responsabile dell'avanzamento degli stati.

I necrologi primari possono passare allo stato successivo solo dopo che tutti i necrologi secondari sono passati attraverso tutti gli stati disponibili. Una volta che il necrologio primario ha raggiunto l'ultimo stato e che quest'ultimo è stato sincronizzato con tutti i server dell'anello, rimane solo l'involucro dell'oggetto, ossia un oggetto senza attributi che, in un secondo momento, può essere rimosso definitivamente dal sistema mediante il processo di eliminazione. I necrologi di controllo vengono rimossi solo nel momento in cui è possibile rimuovere il necrologio primario oppure, nel caso di INHIBIT_MOVE, il necrologio di controllo viene rimosso dopo che quello primario è passato allo stato OBF_NOTIFIED nella replica master.

La replica responsabile dell'elaborazione dei necrologi esegue un'elaborazione di background (processo di necrologia) che viene pianificata per ciascuna partizione dopo che una determinata partizione ha terminato un ciclo di sincronizzazione in entrata. Se non esistono altre repliche della partizione, il processo di replica in uscita è ancora pianificato sull'intervallo di frequenza del segnale di attività. Il processo di replica in uscita avvia quindi il processo di necrologia. Non è possibile, né necessario, pianificare manualmente il processo di necrologia. Quando si verifica una sincronizzazione, i vettori transitivi vengono aggiornati, con conseguente avanzamento del vettore di eliminazione e di quello dei necrologi. Man mano che questi vettori si spostano in avanti, gli stati dei necrologi possono avanzare. Questa operazione completa, insieme alla pianificazione automatica eseguita sulla sincronizzazione in entrata, il ciclo di elaborazione dei necrologi. Pertanto, l'obiettivo del processo di necrologia è la sincronizzazione degli oggetti.

Quando un oggetto viene rimosso, dopo che tutti i necrologi cui è associato un necrologio primario di tipo Cessato hanno raggiunto l'ultimo stato (ELIMINAZIONE CONSENTITA) e quest'ultimo è stato sincronizzato con tutte le repliche, un nuovo processo diventa responsabile della rimozione del restante involucro della voce dal database. Per rimuovere questi involucri, viene eseguito automaticamente il processo di eliminazione definitiva. È possibile pianificare manualmente il processo di eliminazione definitiva e modificarne il relativo intervallo di pianificazione automatica utilizzando la pagina Configurazione dell'agente di iMonitor.

Esempi

In questa sezione sono riportati i seguenti esempi:

Cancellazione di un oggetto

  1. Aggiungere il necrologio primario OBT_DEAD.
  2. L'attributo Back Link contiene un elenco dei server che sono interessati a questo oggetto e a cui è necessario notificare le modifiche apportate a questa voce. Per ogni DN elencato nell'attributo Back Link e per tutti i server elencati nell'attributo della replica di partizione della voce, eDirectory aggiunge un necrologio Back Link. L'ora di creazione del necrologio primario, OBT_DEAD, è memorizzata nel necrologio secondario.
  3. L'attributo Usato da contiene un elenco delle partizioni che sono interessate a questo oggetto e a cui è necessario notificare le modifiche apportate a questa voce. Per ogni DN elencato nell'attributo Usato da, eDirectory aggiunge un necrologio Usato da. L'ora di creazione del necrologio primario, OBT_DEAD, è memorizzata nel necrologio secondario.
  4. Rimuovere tutti gli attributi ad eccezione dei necrologi.
  5. Il processo di replica in uscita sincronizza quindi la modifica con tutti gli altri server presenti nell'anello di replica.
  6. Alla successiva sincronizzazione in entrata di questa partizione, viene avviato il processo di necrologia e vengono effettuate le seguenti operazioni:

    Nel caso di un necrologio primario, se non sono presenti necrologi secondari e se l'orario di modifica (MTS) dell'attributo sul necrologio è precedente a quello del vettore di eliminazione, tutti i server hanno rilevato la modifica apportata e tale necrologio verrà rimosso.

    Se si tratta di un necrologio Back Link e questo è il server master, tale server è responsabile dell'elaborazione di questo necrologio.

    Eseguire l'operazione richiesta per questo stato, se necessario. Nella maggior parte dei casi, tale operazione viene eseguita mediante la notifica di un riferimento esterno.

    Se si tratta di un necrologio Usato da e questo è il server su cui è stata eseguita la cancellazione, determinata dal confronto tra il numero della replica nell'MTS del necrologio e il numero della replica in questione, tale server è responsabile dell'elaborazione di questo necrologio.

Spostamento di un oggetto

L'operazione di spostamento è simile a quella di cancellazione, con le seguenti differenze:

  1. Prima che il necrologio primario venga posizionato in corrispondenza dell'origine dello spostamento, viene creata una voce parziale nel container di destinazione e un necrologio di controllo (OBT_INHIBIT_MOVE) viene posizionato in corrispondenza della voce parziale. Tale necrologio di controllo viene posizionato per evitare che la voce venga spostata o prenda parte ad un'operazione di partizione prima che l'intera voce sia trasferita dall'origine.
  2. Nella voce di origine, il necrologio primario è OBT_MOVED.
  3. Una volta che il necrologio primario OBT_MOVED è passato allo stato NOTIFIED (ossia tutte le repliche dell'origine sono a conoscenza dello spostamento della voce) e tutti i riferimenti esterni sono stati notificati, il necrologio di controllo (OBT_INHIBIT_MOVE) viene rimosso dalla voce di destinazione.

Impatto dei necrologi bloccati e orfani

Gli oggetti con necrologi vengono considerati ogni volta che un agente esegue una sincronizzazione in uscita e durante il processo di necrologia pianificato per essere eseguito al termine di un ciclo di sincronizzazione in entrata.

Prevenzione

A intervalli regolari, eseguire il rapporto informativo sul server di iMonitor. Questo rapporto scorre l'intero albero, comunica con tutti i server NCP rilevati e segnala tutti gli errori riscontrati. È possibile utilizzare questo rapporto per diagnosticare problemi relativi alla sincronizzazione dell'orario e al limber oppure per determinare se il server attuale è in grado di comunicare con tutti gli altri server dalla prospettiva di questo server. Se selezionato nella pagina di configurazione, questo server può generare anche informazioni sullo stato dell'agente NDS per ogni server dell'albero. Per ulteriori informazioni sull'esecuzione del rapporto informativo sul server, vedere la sezione Configurazione rapporto.

Se si utilizza iMonitor 2.0 o versione successiva, accertarsi che siano abilitate le seguenti opzioni di rapporto: Errori e Rapporto secondario sullo stato. Verranno verificati gli elementi riportati di seguito. È necessario sfogliare il rapporto e accertarsi che non siano presenti errori.

Se si utilizza iMonitor 1.5, selezionare l'opzione di rapporto Errori. Verranno verificati gli elementi riportati di seguito. È necessario sfogliare il rapporto e accertarsi che non siano presenti errori.

Se si utilizza il rapporto Elenco necrologi o Statistiche dell'oggetto di iMonitor, è possibile ricercare qualsiasi necrologio nel proprio sistema. Se si rilevano necrologi che si ritiene non siano stati elaborati, vedere la sezione Suggerimenti per la soluzione dei problemi.

Suggerimenti per la soluzione dei problemi

Solitamente, i necrologi non vengono elaborati per due motivi: il necrologio è stato reso orfano, ossia esiste su alcuni server ma non su tutti, oppure è bloccato, ossia esiste su tutti i server ma, per qualche motivo, non avanza di stato.

Utilizzare i seguenti elementi per risolvere il problema dei necrologi orfani o bloccati:

Soluzioni

Utilizzare la soluzione appropriata tra quelle descritte nella sezione Suggerimenti per la risoluzione dei problemi.

Prima di utilizzare una di queste soluzioni, è necessario accertarsi che i propri dati siano sicuri. È possibile che sia necessario eseguire il backup dei file del database di directory, della configurazione del server e dei trustee. Per aumentare la probabilità di riuscita e ridurre al minimo la possibilità di problemi futuri, eseguire l'upgrade ai support pack più aggiornati di eDirectory.

Risoluzione dei necrologi orfani

Risoluzione dei necrologi orfani sui riferimenti esterni

Prassi precedenti

In passato, sono state sviluppate diverse strategie per eseguire la pulizia dei necrologi bloccati. Alcune di queste strategie richiedono costose operazioni di partizione o l'utilizzo di funzioni non documentate che potrebbero creare problemi in futuro. Molte delle strategie riportate di seguito non devono essere utilizzate.

La prima strategia consisteva nel commutare la replica contenente il master. Tale strategia funziona solo in alcuni casi, in quanto il master è l'agente responsabile dello spostamento dei necrologi Back Link attraverso i vari stati. Nel caso in cui la replica fosse stata incoerente e il master non avesse contenuto l'oggetto cancellato, il passaggio dei master ad un agente che disponeva della voce cancellata con i relativi necrologi avrebbe consentito al nuovo agente di far passare i necrologi attraverso i relativi stati ed eventualmente eliminarli. L'invio di una singola voce rappresenta un modo molto più corretto e meno pericoloso di risolvere i problemi di necrologi bloccati a causa di una replica incoerente.

La seconda strategia utilizzata consisteva nell'eseguire DSRepair con determinati commutatori per cancellare tutti i necrologi. Si tratta di un'applicazione di terze parti che esegue la pulizia dei necrologi bloccati mediante l'avvio di DSRepair. Questa strategia è sconsigliata dal team di sviluppo di eDirectory. L'utilizzo di questi commutatori comporta la cancellazione di tutti i necrologi su questo agente, con conseguente rimozione anche dei necrologi non bloccati, e la creazione di ulteriori necrologi bloccati e incoerenze tra le repliche. Poiché si tratta di un'operazione non distribuita, è necessario eseguire DSRepair su tutti i server che presentano necrologi bloccati; in questo modo aumenta la possibilità che uno di questi server disponga di necrologi per un'altra partizione che verranno prematuramente cancellati. La cancellazione prematura dei necrologi può generare ulteriori necrologi orfani e, di conseguenza, causare problemi che possono presentarsi anni dopo nel momento in cui si dovessero modificare i tipi di replica, aggiungere nuove repliche o eseguire altre operazioni di partizione.

La terza strategia utilizzata consiste nell'attribuire autorità agli oggetti utilizzando DSBrowse in modalità avanzata e registrando l'orario della voce oppure eseguendo DSRepair con il commutatore –0T. In questo modo, la voce diviene obbligatoriamente con autorità e viene sincronizzata con tutte le altre repliche. È necessario prestare molta attenzione quando si effettua la registrazione dell'orario e si attribuisce autorità agli oggetti, in quanto si potrebbero perdere i dati modificati sugli altri server. Il team di sviluppo di eDirectory consiglia di non utilizzare spesso questo metodo di pulizia dei necrologi.

Un simbolo di marchio di fabbrica (®, TM e così via) indica un marchio di fabbrica di Novell. Un asterisco (*) indica un marchio di fabbrica di terze parti. Per informazioni sui marchi di fabbrica, vedere Note legali.