cz.1 – mechanizm kopii zapasowej w Vista/Server 2oo8

Wstęp

Linia produktów NT6.x jest olbrzymią zmianą technologiczną, na podobieństwo przejścia z NT4.o na NT5.o [aka W2k]. Numerek wersji nie został zmieniony bez powodu i pociąga za sobą olbrzymią listę zmian dotyczących całej platformy i większości mechanizmów wewnętrznych – od samego kernela poczynając, poprzez biblioteki systemowe, na GUI kończąc. Niniejszy art traktuje o zmianach dotyczących backupu i resotre. Być może 'Procedury’ są sformułwaniem lekko na wyrost, ponieważ nie będą tu prezentowane stricte procedury, a raczej informacje pozwalające się do nich przymierzyć.

Komponentyzacja

Jedną z poważniejszych zmian, która oficjalnie była powodem dwu letniego opóźnienia wydania NT6.o jest komponentyzacja systemu. Mówiąc kolokwialnie – przez dwa lata inżynierowie eMeSa robili porządek w bibliotekach tak, aby [abstrakcyjny przykład mający na celu wyłącznie przedstawienie zależności!] np. instalacja kalkulatora nie wymagała instalacji 5oMB bibliotek teoretycznie zupełnie niepotrzebnych, lub żeby jego deinstalacja nie spowodowała, że przestanie działać jakaś usługa.

Ma to bardzo istotny wpływ na sposób instalacji/deinstalacji komponentów, licznych zachowań nowej wersji systemu, oraz idzie w parze z nowym mechanizmem backupowania, zupełnie nie podobnym do tego, do czego przyzwyczaiły nas starsze produkty. Komponentyzacja jest widoczna zwłaszcza podczas instalacji komponentów Windows – w nowej nomenklaturze są to role i ficzery [cechy?]. Zmiana nazewnictwa nie jest szczegółem, który można pominąć, ponieważ różnica pomiędzy rolą a usługą jest taka, jak pomiędzy programem a wątkiem – pojedyncza rola może wymagać szeregu, powiązanych ze sobą usług.

Ogólna zasada działania kopii zapasowej

Do tej pory kopia zapasowa była [przeważnie] skompresowanym archiwum, zawierającym pliki systemowe – i do takiego myślenia przyzwyczajeni są chyba wszyscy. Od dłuższego czasu na rynek aplikacji backup/restore wdzierają się produkty tworzące obrazy dysków – np. symantec ghost lub acronis, wymieniając tylko te najbardziej popularne. Zalet takiego podejścia jest bardzo wiele, i właśnie ten sposób wybrany został dla nowej wersji systemu Windows. Z systemu zniknął stary, dobry ntbackup, w zamian jest szereg narzędzi pozwalających na tworzenie kopii z GUI [sdclt.exe] oraz z command-line [wbadmin]. Kopia przechowywana jest w postaci pliku vhd dobrze znanego osobom, które miały do czynienia z Virtual PC/Virtual Server.

Zanim padnie więcej informacji na temat samego backupu, najpierw słówko na temat instalatora Vista/W2k8 – ponieważ instalacja całego systemu również odbywa się z pliku obrazu – pliq wim. Informacja ta jest o tyle istotna, że nie ma już płyt z wersją 'home’ czy 'bussiness’ – jest pojedyncza wersja nośnika, zawierająca obraz Windows Vista/W2k8. Wpisując klucz determinuje się rodzaj instalowanej wersji. Windows można teraz również instalować nie podając klucza – w takim wypadq padnie pytanie 'jaką wersję chcesz zainstalować’, dając pełny wybór. Tego rodzaju instalacja traktowana jest jak trial, działając przez określony okres czasu. Ciekawostką jest fakt, że wykorzystywany jest do tego mechanizm SIS [Single Instance Storage], który gwarantuje, że fizycznie każdy taki sam plik występuje raz, pomimo że logicznie wim zawiera tyle obrazów ile jest rodzajów systemu. Ale nie o tym tutaj…

Zdecydowanie się na tworzenie kopii zapasowej w postaci image’u niesie za sobą następujące konsekwencje:

  • oknajmniejszą jednostką backupu jest volumin – nie ma możliwości zrobienia kopii np. pojedynczego katalogu czy pliq. Nie dotyczy rzecz jasna odzyskiwania – odzyskiwać można z dowolną granulacją.
  • okinterfejs nowego narzędzia w Vista jest potwornie zautomatyzowany nie dając praktycznie żadnej kontroli ustawień. Cecha ta może zostać potraktowana jako zaleta przez lamusia – ale generalnie uznaję ją za wadę. W przypadku w2k8 wygląda to o wiele przyjemniej i mam nadzieję, że SP1 dla vista zmieni to narzędzie. Mimo wszystko ograniczenia podane dalej powodują, że do nowego mechanizmu odnoszę się z lekkim zdziwieniem zmieszanym z oburzeniem.
  • okkażdy backup obejmujący partycję systemową jest równocześnie idealnym nośnikiem do pełnego odzyskania systemu – tak jak by to miało miejsce w przypadku skorzystania z ghosta czy acronisa.
  • okrestore systemu jest dużo lepszy [co będzie zaprezentowane], pozwala na szybkie odtworzenie całego systemu, a jedynym wymaganiem jest w zasadzie płyta startowa Vista/W2k8.
  • okopcja 'schedule backup’ i 'backup once’ mocno się różnią. Schedule backup ma totalnie durne ograniczenia, nie przystające do aplikacji serwerowej:
    • backup można zrobić tylko na dysq lokalnym,
    • mówiąc bardziej dosadnie – nie ma opcji tworzenia go na dysku sieciowym,
    • można wykorzystać urządzenia USB/FireWire,
    • dysk wykorzystany do backupu zostanie przepartycjonowany (SIC!) oraz sformatowany. Taki dysk nie ma literki w systemie – traktowany jest wyłącznie jako medium do backupu,
    • nie może to być 'inna partycja’ – musi to być *inny dysk*.

    Osobiście tak zdefiniowane ograniczenia uznaję za dużą porażkę, ale być może z czasem zweryfiqję tą opinię. Limitacje wynikają z braq obsługi 'sieciowego’ mechanizmu VSS [czemu nie zaprzęgnięto WMI?]. Póki co eMeS nie zapowiada zmiany implementacji.

  • okbackup pojedynczy pozwala na stworzenie pliku na dysq sieciowym, nie wymaga formatowania etc, za to nie ma możliwości utworzenia kopii inkrementalnej. Co więcej wskazywana lokacja kopii musi być za każdym razem inna. Reasumując fakt minimalnej jednostki jako 'volumin’ + brak backupu inkrementalnego, opcja 'backup once’ staje sie dość mało użyteczna – należy ją traktować jako 'snapshot’ uzupełniający procedury recovery – taki backup warto zrobić np. na DVD [jest taka opcja], jako odpowiednik 'ASR’ z poprzednich wersji.
  • ’backup once’ tworzy kopię w postaci pliq vhd.
  • okwykorzystanie istniejącego formatu daje możliwość korzystania z takich samych narzędzi. Format vhd jest ogólnie znany, dzięki czemu już teraz można go łatwo podmountować [np. deamon tools] lub edytować [np. winiso]. Można również znaleźć wiele narzędzi i skryptów pozwalających na wykonywanie operacji na vhd. Wkrótce należy się też spodziewać narzędzia wymieniającego HAL na virtualny [o ile takowe jeszcze nie istnieje] – i tak od kopii zapasowej mały kroczek od możliwości stworzenia laboratorium w 1oo% odwzorowującego rzeczywiste środowisko.
  • ok[dla kopii kalendarzowej] znika opcja 'differencial backup’ – backup dyferencyjny. Automatycznie każdy 'scheduled backup’ jest kopią inkrementalną, korzystając z mechanizmu VSS [shadow copy].

Czy zatem nowy mechanizm kopii zapasowej jest lepszy czy gorszy – z odpowiedzią warto się jeszcze wstrzymać.

Active Directory Domain Services

Wraz z nowym backupem pojawia się również dodatkowa opcja tworzenia wewnętrznych snapshotów AD. Jest to dużym uzupełnieniem procedur backup/recovery dla środowiska AD, jednak ze względu na to, iż opis dotyczy innego narzędzia, pozostawiam tą informację pod rozwagę wraz z linkiem do strony z dokładniejszym opisem zasady działania i metody wykorzystania.

ntbackup

Na zakończenie tej części krótka dywagacja czemu ntbackup został usunięty z systemu. Oficjalnej wersji nie ma, poza stwierdzeniem, iż „ntbackupu nie ma, bo jest nowe narzędzie” – co jest poniekąd logiczne. Tłumaczeniem równie logicznym jest fakt, iż backup jest niczym innym, niż – co sama nazwa wskazuje – dodatkową kopią pliqw. Kopię taką można zrobić po prostu za pomocą 'xcopy’ czy programów kompresujących do zip/rar/tar etc – a więc nie ma potrzeby dodatkowego narzędzia w postaci ntbackupu. Jednak opcji 'System State’ braqje – malutki, szybki backup, ustawień systemowych.

TIPS: ntbackup można do vista/w2k8 dorzucić, kopiując go po prostu z Windows XP. Potrzebne są dwa pliki z katalogu %windir%system32: ntbackup.exe oraz vssapi.dll. Mimo to 'system state’ zrobić się nie da.

Reasumując – nowy system to nowe mechanizmy. Stare odchodzą do lamusa. Osoby upierające się przy starych narzędziach mogą z nich z pewnymi ograniczeniami korzystać, jednak należy przygotować się na NOWE.

W drugiej części znajduje się instrukcja krok-po-kroq w jaki sposób odzyskać serwer z pełnej kopii zapasowej.

-o((:: sprEad the l0ve ::))o-