Thursday, October 25th, 2007...11:17 pm

Odzyskiwanie skasowanych obiektów. No może nie do koÅ„ca skasowanych.

Jump to Comments

JakiÅ› czas temu dyskutowaÅ‚em ze znajomym MVP z Holandii – Jorge, na temat autorytatywnego odzyskiwania obiektów i potencjalnych sytuacji z tym zwiÄ…zanych. Efektem rozmowy jest post na blogu Jorge opisujÄ…cy możliwość wystÄ…pienia sytuacji, w której autorytatywnie odzyskany z kopii zapasowej obiekt zostanie skasowany w wyniku replikacji. Zamiast powtarzać wszystko tutaj odsyÅ‚am na blog Jorge (niestety po angielsku, ewentualnie proszÄ™ o gÅ‚osowanie w komentarzach czy jest zapotrzebowanie na tÅ‚umaczenie).

Ale ja nie o pogaduszkach towarzyskich tutaj… Oprócz scenariuszy, które opisuje Jorge, istnieje jeszcze jeden, w którym obiekt odtworzony autorytatywnie może zostać skasowany. W tymże scenariuszu pewnÄ… rolÄ™ odgrywa Infrastructure master (IM)oraz pewien obiekt katalogu o nazwie Infrastructure. Zapewne to tÅ‚umaczy dlaczego uczyniÅ‚em maÅ‚y wstÄ™p na temat tych elementów wczeÅ›niej na blogu.

Wyobraźmy sobie więc następujący scenariusz: migracja obiektów pomiędzy domenami w ramach jednego lasu. Przenosimy obiekt przy pomocy wybranego narzędzia pomiędzy domenami, obiekt zostaje przeniesiony z zachowaniem identyfikatora GUID (SID może, ale nie musi być zachowany w sidHistory). Żeby obraz był kompletny należy jeszcze usunąć ten obiekt z domeny źródłowej.

I tutaj pojawia się problem, że niekoniecznie ten obiekt powinien być usunięty w standardowy sposób (poprzez utworzenie nagrobka), ponieważ nagrobek nadal będzie posiadał ten sam GUID, a obiekt nie został skasowany, lecz przesunięty.

I tutaj pojawia siÄ™ ponownie rola Infrastructure Master. W celu usuniÄ™cia tego obiektu z katalogu IM tworzy odpowiedni obiekt infrastructureUpdate, który zawiera infromacje pozwalajÄ…ce na identyfikacjÄ™ przeniesionego obiektu. NastÄ™pnie jak “tradycja” nakazuje obiekt ten jest usuwany i tworzony jest odpowiedni nagrobek. W ten sposób informacja o tym, że obiekt zostaÅ‚ przeniesiony i powinien zostać usuniÄ™ty jest replikowana w obrÄ™bie partycji katalogu. I wszystko gra.

Ale tylko do momentu, w którym nastÄ™puje potrzeba przywrócenia takowego obiektu – różne rzeczy siÄ™ zdarzajÄ…. SiÄ™gamy wiÄ™c po kopiÄ™ zapasowÄ…, odtwarzamy obiekt autorytatywnie, reboot …i obiektu nie ma. Sytuacja podobna w zasadzie do opisywanej przez Jorge. Odtwarzamy wiÄ™c raz jeszcze, zwiÄ™kszamy wersje obiektu i …coż, nasz obiekt ponownie zostaje usuniÄ™ty.

Dzieje siÄ™ tak dlatego, że IM w chwili przesuniÄ™cia obiektu utworzyÅ‚ obiekt infrastructureUpdate peÅ‚niÄ…cy rolÄ™ proxy zawierajÄ…cego informacjÄ™ o tym, który obiekt zostaÅ‚ przesuniÄ™ty i jaki obiekt odpowiada mu w docelowej domenie. W chwili gdy obiekt zostaje przywrócony z kopii zapasowej, IM stwierdza, że istnieje odpowiedni obiekt proxy zwiÄ…zany z przesuniÄ™ciem obiektu i usuwa go grzecznie z domeny.

Obiekt proxy, jak pamiÄ™tamy (o ile pamiÄ™tamy z tego cokolwiek przydÅ‚ugiego wpisu), jest kasowany zaraz po utworzeniu. W replikacji mu to nie przeszkadza :). W zwiÄ…zku z tym, bÄ™dzie on istniaÅ‚ w katalogu przez okres życia obiektów nagrobkowych (tombstone object).A po tym okresie, kopie zapasowe sprzed wykonania tej operacji i tak już nie bÄ™dÄ… siÄ™ nadawaÅ‚y do użytku.

I to w zasadzie tyle. Co prawda istnieje jeszcze wariacja na ten temat czyli  … co siÄ™ stanie w chwili, gdy obiekt zmigrowany z domeny A do B, zostanie zmigrowany z powrotem z domeny B do A. Ma ten sam GUID, …czy zostanie usuniÄ™ty? Ano nie. Wchodzi tutaj w grÄ™ dodatkowo informacja o proxy epoch i  obiekcie oryginalnym :). Ale to już temat na innÄ… bajkÄ™.

3 Comments

  • Sorki Tomek, ale jeszcze troszkÄ™ CiÄ™ pomÄ™czÄ™, bo takich raf czeka mnie troszkÄ™ wiÄ™cej 🙂 A co w takim razie zrobić żeby odtworzyć przesuniÄ™ty obiekt w domenie pierwotnej? Czy można w jakiÅ› sposób usunąć obiekt infrastructureUpdate? Czy jakieÅ› oprogramowanie firm trzecich jest w stanie przywrócić tak przesuniÄ™ty obiekt? Kolejna sprawa, czysto teoretyczna: jeżeli przesuwam obiekt z domeny A do B to AD ma informacjÄ™ o tym. NastÄ™pnie usuwam domenÄ™ B. Czy bÄ™dÄ™ mógÅ‚ odtworzyć obiekt w domenie A? Mam nadziejÄ™, że z pomocÄ… Matki Korporacji uda Ci siÄ™ odpowiedzieć 🙂

  • Bastiuszu 🙂

    OdpowiadajÄ…c krótko – obiektów proxy nie da siÄ™ usunąć. Po usuniÄ™ciu domeny B nadal nie uda siÄ™ odzyskać obiektu w domenie A. Obiekt proxy nadal tam istnieje.

  • Co się stało z polskimi znakami ?

Leave a Reply