sâmbătă, 18 ianuarie 2014

Migrare "in-place" de Domain Controller de la Windows 2008 R2 la Windows 2012 R2

Migrare "in-place" de Domain Controller de la Windows 2008 R2 la Windows 2012 R2



Preambul: asa cum m-a sfatuit un bun prieten, de fiecare data cand am de realizat un proiect deosebit ar trebui sa realizez si un jurnal al activitatii respective pentru a fi de folos si altora care ar dori sa realizeze un astfel de proiect si nu au o sursa de inspiratie.

Dupa o perioada de circa doua saptamani de documentare din surse accesibile de pe internet am reusit sa fac o planificare pentru migrarea unui Domain Controller configurat si functional (in productie) pe Windows 2008 R2 Standard catre Windows 2012 R2 Standard.
Serverul initial este in productie de aproximativ 4 ani, atunci cand l-am configurat pe o masina noua, la vremea respectiva reusind si o migrare de la 2003 la 2008.
Rolurile acestui server sunt:
  • AD DS (+NTP evident)
  • DNS (integrat) + WINS (pentru compatibilitate clienti)
  • DHCP
  • File Server + DFS (stiu ca nu e OK dar asa l-am mostenit si nu am avut hardware necesar pentru a muta acest rol la vremea respectiva)
  • Antivirus McAfee ePO - in curs de dezafectare (la fel, la vremea respectiva era singurul server disponibil)
Upgrade "in-place" pentru cei ce nu stiu exact, inseamna sa facem upgrade la sistemul de operare al serverului 2008 existent cu pastrarea sistemului de fisiere initial, a programelor instalate si a rolurilor configurate pe acest server. Exista pe internet o groaza de pareri contradictorii, multi spun ca la upgrade de Domeniu de la 2008 la 2012 trebuie instalat un server nou si configurate rolurile de la capat. Mai sunt unii care spun ca un upgrade "in-place" ar fi posibil, conform cu o succinta informatie de la Microsoft (detalii aici). Ma exista cateva persoane care au incercat si au reusit un astfel de upgrade si au descris pe scurt suita de operatii. Nimeni insa nu a documentat o astfel de operatiune de aceea consider ca prezentarea cu lux de informatii ar fi cat se poate de utila celor care se vor intalni cu o astfel de provocare.

De ce "upgrade in-place" ? Configurarea de la zero a unui DC cu toate rolurile conexe comporta o multime de si cu pastrarea functionalitatilor initiale, deservirea in continuare a clientilor ca si cum nimic nu s-ar fi intamplat, ca sa nu mai mentionez de timpul scurt de down-time disponibil, sunt o serie de motive serioase pentru a evita aceasta varianta, si vorbesc in cunostinta de cauza deoarece am experimentat deja, acum cativa ani un astfel de upgrade de Domeniu de la 2003 la 2008. Probabil ca ulterior voi recurge la achizitia unui server nou, instalarea lui "pe curat", transferul rolurilor si apoi decomisionarea serverului vechi. Deocamdata insa, in lipsa de hardware am considerat varianta "upgrade in-place" drept cea mai convenabila.

Cum ne pregatim. Intai ne asiguram ca fiecare rol poate fi preluat la nevoie de un alt server, in caz de esec (si ca masura alternativa la restaurarea de backup).
Pentru rolurile de AD DS si DNS ma bazez ca backup pe un server nou cu rol de Secondary DC, recent instalat si promovat ( atunci am inlocuit un secondary DC bazat pe Windows 2003).
Pentru rolul de DFS exista alte doua servere care se sincronizeaza permanent in mod read/only si retin orice modificare pe serverul in cauza.
Rolul de server ePO nu mai este de actualitate, toti clientii activi au migrat pe un alt server instalat cu ceva timp in urma. Oricum am in plan si eliminarea acestui rol,  deci nu ar fi nici o pierdere.
Singurul rol vulnerabil in caz de probleme este cel de DHCP. Avem un scope de /22 care contine si rezervari si excluziuni de care trebuie sa tinem seama. In caz de nevoie acest rol ar putea fi configurat de la zero fara nici o problema.

Un al doilea pas obligatoriu: trebuie sa ne asiguram de backup. Exista varianta care recomanda backup separat pentru baza de date de AD, separat pentru DHCP, etc.
Noi, ca backup avem un  "Bare Metal" stocat pe un server cu IP (cum altfel ?) fix pe care il putem gasi in retea si fara existenta unui DHCP. Durata medie backup = 20 min. deci si restaurarea (in caz de probleme) se poate rezolva rapid cu refacerea completa a sistemului de operare si a programelor si rolurilor instalate si configurate pe serverul initial.
Rolul de FileServer il poate prelua oricare din cei doi membri read/only, desi acest rol nu este vulnerabil deoarece urmeaza sa alteram doar partitia de sistem, teoretic partitiile de date raman intacte.

Acum, ca am analizat toate aspectele premergatoare, putem intra in subiect.

Pasi de urmat:
  • intai ne asiguram ca rulam cu credentiale care au drepturi administrative cel putin la nivel de domeniu sau chiar la nivel de forrest daca este cazul (nu si in cazul de fata)
  • aplicam toate update-urile de Windows pentru a aduce sistemul actual cat mai la zi (va fi folositor mai tarziu)
  • verificare ca schema AD este cel putin 2008 pentru toate serverele cu rol de DC (done and done). Pentru asta se verifica valoarea unei chei din registri (HKLM\System\CurrentControlSet\Services\NTDS\Parameters\), cheie care poate lua mai multe valori: pentru versiunile de Windows 2008 valoarea corecta este 47 (iar in cursul migrarii aceasta valoare se va schimba in 56 pentru Windows 2012 sau 69 pentru 2012 R2)
  • ne asiguram ca nu sintem in timpul productiei si pus offline toate serviciile descrise mai devreme
  • rulat backup "bare metal" exact inainte de inceperea procedurilor, intr-o locatie diferita de backup-ul zilnic
  • Introdus DVD cu kit de Windows 2012 Standard, sau cu versiunea dorita de sistem de operare, avand grija ca  versiunea de sistem de operare de la care plecam sa permita upgrade "in-place" (avem ca referinta aceeasi pagina Microsoft); atentie, in acest caz consideram ca lucram cu un sistem de operare cu GUI (Graphic User Interface) si migram la un sistem cu aceeasi caracteristica
  • AD DS Functional Level trebuie sa fie cel putin la nivel de 2003 pentru a fi compatibil (atentie, un domeniu upgradat de la 2000 la 2003 si apoi la 2008 poate avea in continuare un Functional Level de 2000 !!!). Pentru o mai buna intelegere a notiunii sugerez consultarea acestui link. Pentru detalii despre ridicarea nivelului functional gasiti detalii aici
  • de pe DVD rulam X:\support\adprep\adprep /forestprep unde X este discul pe care aveti DVD-ul (of-course): 

adprep command

  • Dupa cum ni se cere apasam "C" si apoi :
adprep result

  •  apoi X:\support\adprep\adprep /domainprep :
domainprep

Asta ne asigura ca schema s-a ridicat la 2012 si putem incepe etapa de upgrade
  • Acum suntem gata sa rulam procesul de instalare al noului sistem de operare direct din interfata grafica a sistemului existent, si anume din radacina discului de instalare. Prima etapa in executia acestui proces incepe astfel:
    copy temp files
    si apoi alegem sa nu facem nici un update (deja am ajuns la zi intr-un pas anterior):
    no windows update
  • Apoi alegem ce versiune de Windows dorim sa instalam, atentie, aici trebuie sa alegem varianta cu GUI:
    choose windows with GUI
  • dupa care selectam varianta de upgrade care lasa sistemul de fisiere, programele instalate si rolurile configurate asa cum erau ele (de unde si conceptul de "in-place"), aceasta varianta nu permite alterarea partitiilor deci conserva inclusiv discurile de date (in cazul nostru rolul de FileServer si configuratia DFS):
    choose installation type (upgrade)
  • In acest moment instalarea de Windows asigura compatibilitatea intre sistemul initial si cel ce urmeaza sa se instaleze:
    checking compatibility
  • in cazul meu aceasta verificare a dus la o prima problema de compatibilitate, si anume existenta unor roluri sau features care nu pot fi portate pe noul sistem de operare:
    compatibility report (fail)
  • Dupa oprirea procesului de instalare a noului sistem si dezinstalarea rolurilor indicate (care au cerut si un restart):
    uninstall previously named roles
  • am pornit din nou instalarea si am parcurs din nou pasii indicati anterior, rezultatul fiind de aceasta data pozitiv (cu un mic semn de exclamatie):
    compatibility report (passed)
  • De aici incepe copierea efectiva a fisierelor de pe discul de instalare...:
    upgrading windows
  • Aici ne-am lovit de urmatoarea problema, care a presupus o mica documentare suplimentara referitoare la textul erorii:
    upgrade failed, reason McAfee
  • In acest moment de (im)pas am mizat pe faptul ca, ori de cate ori antivirusul McAfee apare in primele 3 cauze la o simpla cautare a erorii, atunci el este cauza. Ca urmare am dedus ca problema era legata de antivirusul McAfee care ruleaza sub un user cu credentiale care au drept de administrare locala insa nu permite alterarea fisierelor de sistem pe un cotroller de domeniu. Presupunerea era corecta deci am dezactivat antivirusul si ... 
  • Imi aduc aminte ca, plin de incredere am zis "third time's a charm" si am reluat procesul de instalare. Atentie aici, puteti generaliza si, daca dintr-un motiv sau altul va loviti de aceeasi problema, incercati sa rezolvati probleme legate de firewall, antivirus, drepturi de acces ale userului pe care rulati procesul de instalare...
  • Totula decurs normal in continuare, la un moment dat s-a intrerupt conexiunea RDP asa ca am monitorizat in continuare de pe interfata KVM:
    Upgrade succeeded (McAfee disabled)
  • Au urmat o serie de vreo 2 sau chiar 3 restart-uri fara interventie umana, fara conectivitate RDP, acest pas a durat aproape 30 de minute (!) in care nu eram sigur inca de un rezultat pozitiv:
    finalizing your settings
    upgrade finished
    operating system start
  • Dupa care, in final, am obtinut din nou controlul prin RDP si, intr-un sistem care arata ca un Windows 2012 normal si stabil.
  • Aici am fost deja sigur ca operatiunea s-a incheiat cu succes si mai sunt doar cateva aspecte de remediat !
  • Post-upgrade: la o prima verificare am aflat ca avem unele probleme:

some issues after start
  • care cereau atentie...:

DHCP service not started
...legate de servicii care nu pornesc si de o presupusa reconfigurare de DHCP (singurul rol sensibil si fara redundanta) am urmat insa pasii indicati:
DHCP post deployment configurationDHCP post-install configuration wizard - description
DHCP post-install configuration wizard - authorization
DHCP post-install configuration wizard - summary














  • Odata rezolvata problema cu DHCP-ul totul a intrat in normal, serviciile care nu porneau s-au dovedit a fi unele servicii care erau setate sa porneasca automat cu un anumit delay:
    finished - all green
  • Toata aceasta operatiune a durat aproximativ 3 ore la capatul carora s-a dovedit ca totul functioneaza OK, rolurile au fost preluate cu succes, replicarea cu cel de-al soilea sever de domeniu functioneaza fara cusur

  • Operatiunea s-a desfasurat in 18.01.2014 intre orele 6:00pm si 9:30pm (aproximativ, inclusiv fazele preliminare) dupa care am facut verificari amanuntite intre orele 11:00 si 3:00am dupa care am ajuns la concluzia ca totul functioneaza impecabil.

    Sper ca aceasta documentare sa usureze munca altor colegi de breasla si sunt aproape sigur ca este prima documentare a unui upgrade "in-place" de la un server de Active Directory de nivel 2008 la nivel 2012, cel putin in limba romana.

    In functie de situatiile particulare pot aparea eventual si alte probleme, in acest caz nu va feriti sa aduceti comentarii sau idei noi care pot imbunatati acest subiect.

    2 comentarii:

    Sid spunea...

    Bravo Cristi! Imi pare bine sa vad ca impartasesti din experienta ta cu restul novicilor :) PS. Ma bucura sa vad ca sfatul meu a fost de folos. Multumesc pentru mentiune.

    cryogen72 spunea...

    In sfarsit am gasit timpul necesar pentru finalizarea acestui articol. Sper sa va para interesant.