|
Per fare il backup dell' Active Directory è opportuno
eseguire il backup dello "Stato di sistema" di ogni domain controller; lo "Stato
di sistema" di un domain controller contiene anche l' Active Directory: non
contiene solo l' Active Directory, ma l' integrazione di quest' ultima con altre
componenti del sistema (voci di registro, etc...) rende obbligatorio il backup
dell' intero "Stato del sistema" se si vuole poi eseguire un ripristino
corretto. Tale backup può essere eseguito semplicemente con l' utility di backup
di Windows e cioè "ntbakup.exe". Per i dettagli dell' esecuzione di
tale backup si può far riferimento all' url
http://www.windowsecurity.com/articles/Securing_Windows_2000_Active_Directory_Part_3__Backup_and_Restoration.html
L' Active Directory utilizza il "File Replication Service" per
sincronizzarsi su tutti i domain controller: per sapere cosa replicare
di volta in volta (è chiaro che sarebbe troppo pesante copiare tutte le volte
il database di Active Directory su tutti i Domain Controller e
quindi il sistema deve individuare le differenze ed applicare solo quelle) ogni
oggetto dell' Active Directory ha un USN (Universal Sequence Number) che è funzione del numero di volte che quell'
oggetto è stato modificato. Se modifico un oggetto sul
domain controller "A", il suo USN sarà maggiore dell' USN dello
stesso oggetto sul domain controller "B" e quindi il "servizio
replica file" assegna all' oggetto sul domain controller "B", il valore presente sul
domain controller "A" (se andiamo nei dettagli il discorso è
più complesso poichè bisogna anche tener conto del fatto che il valore dell'
oggetto in questione potrebbe anche essere stato cambiato
in un altro domain controller "C" prima che la modifica fatta sul
controller "B" sia stata applicata agli altri domain controller e dopo
che è
stata fatta sul controller "B" (si ma il succo è comunque questo
perchè altrimenti qui diventiamo vecchi ...). Bene, da bravo sistemista ogni giorno studio come
automatizzare varie operazioni, sviluppo i miei script in VBScript, poi ad un
certo punto mi accorgo di aver danneggiato i dati della mia Active Directory
(cose che succedono ...). Cosa posso fare (oltre ad incaz....)? Bene: cerco di
trovare la data più recente in cui i dati nell' Active Directory erano in uno
stato corretto, tra tutti i backup disponibili (N.B. bisogna fare il backup
dello "stato di sistema" di ogni domain controller) ne prendo uno e ne
faccio il restore sul domain controller corrispondente (meglio che prima lo
stacco dalla rete). Per fare il restore occorre avviare il sistema in
"Modalità Ripristino Servizi Directory": all' avvio premo F8 e tra le
voci scelgo appunto "Modalità Ripristino Servizi Directory" (proprio come ho
sempre fatto per avviare il sistema in modalità provvisoria). Al login posso avere la
prima sorpresina (oltre a quelle che ho già avuto finora): mi loggo come
administrator, inserisco la password e mi dice password non valida, riprovo (mi
sono sbagliato, sapete l' agitazione) e non va ancora (non sarò rinc...?). Il
problema è che in questa modalità devo usare la password di administrator che
avevo inserito a suo tempo nel wizard di installazione dell' Active Directory:
nelle maschere del wizard ce n' è una che mi fa inserire la password
amministrativa da usare per loggarsi nella "Modalità ripristino servizi
directory" (ed è anche quella da usare quando si esegue la "Console
di rispristino"). In sostanza è la password dell' amministratore locale
(contenuta nel file "c:\winnt\system32\config\SAM"
e non nel file "C:\WINNT\NTDS\ntds.dit"
che è il database dell' Active Directory). Bene se uno non ha inserito la stessa password usata
nella modalità normale, nel 99% dei casi non se la ricorda. E' però possibile
settarla: basta fare un salto agli indirizzi
Windows 2003 server - http://support.microsoft.com/?kbid=322672
Windows 2000 server -
http://support.microsoft.com/?kbid=239803
Altra piccola parentesi: i server di solito non hanno un
monitor collegato e se non avessi la forza o la voglia di prenderne uno e
collegarlo per il fatidico F8 e la successiva selezione della modalià di avvio?
Niente paura c' è la soluzione anche a questo: un salto all' indirizzo
http://support.microsoft.com/?kbid=239780
e ci accorgiamo che è possibile definire le varie modalità
aggiungendo semplicemente dei parametri alla stringa di avvio del sistema
operativo su cui stiamo lavorando. Supponiamo di aver il seguente "boot.ini":
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000"
collegandoci in terminal emulation, apriamo "boot.ini" (è un
file nascosto e di sistema e quindi bisogna prima consentire la visualizzazione
di tali files nelle opzioni cartella) e aggiungiamo i parametri adeguati alla
riga corrispondente al sistema nella sezione [operating systems]:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000"
/safeboot:dsrepair /sos
Al prossimo boot il sistema partirà in "Modalità Ripristino
Servizi Directory".
Bene!!!! Una volta loggati eseguiamo il restore. Bisogna fare
una considerazione molto importante: è opportuno, nel wizard dell' utilità
"ntbackup.exe", specificare una destinazione alternativa per il
ripristino dei dati; in questa maniera tutto lo "Stato di sistema"
(fatta eccezione l' Active Directory) non viene ripristinato nelle posizioni
originali (sovrascrivendole) ma in una cartella alternativa; l' unica parte
dello "Stato di sistema" che viene ripristinata sull' originale è
appunto l' Active Directory. La cartella alternativa di destinazione del
ripristino, alla fine può essere eliminata. A questo punto se lo
ricollego alla rete, il servizio replica file mi riapplica la versione
danneggiata presente sugli altri domain controller (in quanto gli
oggetti dell' Active Directory presenti su questi ultimi avranno sicuramente un
USN maggiore dell' USN degli oggetti dell' Active Directory risultanti dal
restore). Bisogna quindi che tutti gli oggetti restorati, assumano un USN
superiore al corrispondente USN sugli altri domain controller. Bisogna eseguire
quello che viene chiamato "Authoritative Restore": subito dopo aver
fatto il restore del System State (e prima di riavviare il sistema) aprire una
linea di comando e scrivere "ntdsutil", al prompt che si
ottiene digitare "authoritative restore" e quindi "restore
database"; gli USN vengono incrementati e resi superiori ai
corrispondenti sugli altri domain controller e quindi gli altri domain
controller si aggiorneranno con i dati ricevuti dal domain controller su cui è
stato fatto il restore. Se invece di tutto il database vogliamo fare il restore
solo di una parte, allora al posto di "restore database" scriveremo
"restore subtree <percorso LDAP>". Ad esempio per
eseguire il restore dell' unità organizzativa "Amministrazione"
(sottounità dell' unità organizzativa "Azienda") nel dominio "pippo.com"
scriveremo
restore subtree OU=Amministrazione,OU=Azienda,DC=pippo,DC=com
alla fine del restore, digitare quit per uscire dal prompt "authoritative
restore" ed ancora quit per uscire dal prompt "ntdsutil".
Per maggiori delucidazioni andare agli indirizzi
240363 -
Backup e Restore dello "stato del sistema" di un domain controller
241594 - Authoritative
Restore di Active Directory
216243 - Authoritative
Restore di Active Directory: approfondimenti
248132 - Esempio di "Restore
Subtree" per il ripristino dell' account computer di un domain controller
http://www.microsoft.com/technet/prodtechnol/windows2000serv/technologies/activedirectory/support/adrecov.mspx
http://www.microsoft.com/technet/community/events/windows2000srv/tnt1-76.mspx
Per maggiori informazioni sulla gestione di Active Directory:
http://www.windowsecurity.com/articles/Securing_Windows_2000_Active_Directory_Part_1.html
http://www.windowsecurity.com/articles/Securing_Windows_2000_Active_Directory_Part_2.html
|