Kopie bezpiecze stwa dla systemów MacroBASE
Transkrypt
Kopie bezpiecze stwa dla systemów MacroBASE
1/8 0. Przeznaczenie dokumentu Dokument zawiera informacje na temat strategii, scenariuszy i aspektach technicznych wykonywania kopii zapasowych dla systemów . Cz techniczna opracowania dotyczy: a. 1. w wersji co najmniej !" #$dla %& %’ów uruchamianych na platformie ' usługa systemowa), na platformie ( . ( oraz na platformie / 0, ()*" $+ ,$$$+ ,$$-(jako b. w wersji co najmniej 1" #$dla serwerów aplikacji platformie ' ()*" $+ ,$$$+ ,$$-(jako usługa systemowa). %& %uruchamianych na c. w wersji co najmniej 1" -$dla serwerów aplikacji platformie / 0. %& %uruchamianych na Cel wykonywania Cel wykonywania kopii bezpiecze stwa danych dla ka dego systemu bazodanowego jest oczywisty. Musimy mie mo liwo odtworzenia spójnych danych po awarii systemu. Awaria taka mo e by spowodowana uszkodzeniem sprz tu, nagłym – nieobsłu onym zanikiem zasilania, czy tak e bł dem u ytkownika. Oczywi cie nie mo na w tym miejscu nie wymieni innej jeszcze klasy powodów – tak zwanych „software’owych”. Uszkodzenie danych mo e by tak e wynikiem uruchomienia jakiego programu (wirusa?, trojana?) lub nawet bł dem w programie samej maszyny bazy danych - jak wiadomo nie ma programów nie zawieraj cych bł dów. Kopie bezpiecze stwa danych powinny by wykonywane jak najcz ciej i regularnie. Wtedy mamy pewno , e po awarii b dziemy potrafili odtworzy dane z jak najbli szej przeszło ci i ilo danych do uzupełnienia b dzie mała. 2. Scenariusz wykonywania %& %uniemo liwiaj Aktualnie zaimplementowane mechanizmy korzystania z danych przez %& %’a. W celu zwi kszenia wykonanie spójnej kopii bezpiecze stwa podczas pracy bezpiecze stwa danych w transakcji jak i przyspieszenia czasu dost pu do danych zmiany w plikach (dane i indeksy) s cało ciowo umieszczane na dysku dopiero w chwili zako czenia pracy z wszystkimi aplikacjami korzystaj cymi z tego serwera. Musimy zatem zagwarantowa zatrzymanie serwera na czas wykonywania kopii bezpiecze stwa. Tak wi c prawidłowy scenariusz post powania przy tworzeniu kopii zapasowej danych systemów . wygl da nast puj co: a. Zatrzymanie serwera aplikacji o ile jest u ywany i uruchomiony na tym samym komputerze, co serwer bazy danych (serwer aplikacji i serwer bazy danych na tym samym komputerze to sugerowana, w wi kszo ci przypadków, konfiguracja). • b. Po zatrzymaniu serwera aplikacji, automatycznie zostan zamkni te uruchomione aplikacje (dla s to procesy mblogics.exe, dla procesy potomne MacroAppSERVER). Trzeba poczeka a wszystkie aplikacje zostan zamkni te. Maksymalny czas oczekiwania, to 2s * maksymalna_liczba_aplikacji uruchomionych przy u yciu serwera aplikacji Zatrzymanie %& %’a wraz z automatycznym wylogowaniem aktywnych u ytkowników (pozostan ci u ytkownicy, którzy nie korzystaj z serwera aplikacji) 2/8 • mo na sprawdzi , czy wszystkie zerwane transakcje zostały prawidłowo wycofane. Sprawdzamy w katalogu roboczym serwera istnienie plików z rozszerzeniem .b?? (z wył czeniem pliku dbnames.bii) oraz plików macro.ts lub macro.tn. Istnienie takich plików i ich rozmiar wi kszy od zera wiadczy o istnieniu nie wycofanych transakcji. W przypadku, gdy po zatrzymaniu serwera pozostały wy ej wymienione pliki o niezerowym rozmiarze, mamy informacj , e kopia wykonana z aktualnych danych mo e by niespójna. W takim wypadku nale y ponownie uruchomi %& %w celu ponowienia próby wycofania niezako czonych transakcji. Po takiej operacji wykonana kopia powinna ju zawiera spójne dane (rozpatrywane pliki zostały usuni te lub maj teraz zerowe rozmiary). Zatrzymanie serwera nie powoduj ce wycofania zerwanych transakcji jest sytuacj awaryjn , dlatego zaleca si ponowne uruchomienie (próba wycofania transakcji) r czne przy udziale administratora a nie automatyczne, jak w przypadku procedury backup’u. 3. c. Wykonujemy kopi bezpiecze stwa danych. Sposób i u yte narz dzie jest dowolnym wyborem administratora. d. Uruchamiany %& %i serwer aplikacji. Mo emy ponownie rozpocz prac . Wykorzystywane polecenia a. system operacyjny ' • ()+ ,$$$+ ,$$- zatrzymanie serwera aplikacji (usługi %& %): mblaunch.exe -e Po zako czeniu działania serwera aplikacji pojawi si komunikat. Aby unikn wy wietlania komunikatów (dla wersji bezobsługowej) nale y doda opcj -n. Tak wi c ostatecznie polecenie zatrzymania usługi %& %ma posta : mblaunch.exe -e -n • uruchomienie serwera aplikacji (usługi %& %): mblaunch.exe -b Po uruchomieniu usługi pojawi si komunikat. Aby unikn wy wietlania komunikatów (dla wersji bezobsługowej) nale y doda opcj -n. Tak wi c ostatecznie polecenie uruchomienia usługi %& %ma posta : mblaunch.exe -b -n • zatrzymanie usługi %& %’a: nserv32.exe -e W tym przypadku pojawi si okienko komunikatu o ewentualnych zalogowanych u ytkownikach. Aby wymusi zatrzymanie z automatycznym wylogowaniem u ytkowników nale y u y opcji -f (od wersji !" ,$). Po zako czeniu działania %& %’a pojawi si komunikat. Aby unikn wy wietlania komunikatów (dla wersji bezobsługowej) nale y doda opcj -n. Tak wi c ostatecznie polecenie zatrzymania usługi %& %ma posta : nserv32.exe -f -n • uruchomienie usługi %& %’a: nserv32.exe -b Po uruchomieniu usługi pojawi si komunikat. Aby unikn wy wietlania komunikatów (dla wersji bezobsługowej) nale y doda opcj -n. Tak wi c ostatecznie polecenie uruchomienia usługi nserv32.exe -b -n %& %ma posta : 3/8 b. c. system operacyjny ( . ( • zatrzymanie %& %' a: unload nserver.nlm U ytkownicy zostan automatycznie wylogowani. • uruchomienie %& %' a: load nserver.nlm system operacyjny / 0 • zatrzymanie serwera aplikacji %& %: MacroAppSERVER –stop Uruchomione aplikacje zostan automatycznie zamkni te. Nale y dodatkowo wskaza cie k do plików konfiguracyjnych serwera aplikacji u ywaj c opcji -p. Polecenie zatrzymania %& %’a ma teraz posta : MacroAppSERVER -ppath -stop Od wersji 1" 2$istnieje mo liwo stosowania poł cze szyfrowanych /. Zatrzymanie serwera aplikacji pracuj cego w tym trybie wymaga dodatkowo wskazania katalogu z kluczem prywatnym i certyfikatem serwera aplikacji u ywaj c opcji -k %& %’a Tak wi c ostatecznie polecenie zatrzymania ma posta : obsługuj cego poł czenia SSL MacroAppSERVER -ppath –kpath -stop uruchomienie serwera aplikacji %& %: MacroAppSERVER U ywaj c opcji -p nale y wskaza katalog z plikami konfiguracyjnymi serwera aplikacji. Bez wskazania tej cie ki serwer aplikacji nie zostanie uruchomiony. Gdy katalogiem na logi serwera aplikacji ma by inny ni bie cy, nale y wskaza go u ywaj c opcji -w. Polecenie uruchomienia %& %ma posta : MacroAppSERVER -ppath –wpath Od wersji 1" 2$istnieje mo liwo stosowania poł cze szyfrowanych /. Uruchomienie serwera aplikacji pracuj cego w tym trybie wymaga dodatkowo wskazania katalogu z kluczem prywatnym i certyfikatem serwera aplikacji u ywaj c opcji -k Tak wi c polecenie uruchomienia %& %’a obsługuj cego poł czenia SSL ma posta : MacroAppSERVER -ppath –wpath -kpath • zatrzymanie %& %' a: MacroADMIN -stop U ywaj c opcji -p nale y wskaza katalog z plikami konfiguracyjnymi serwera. U ytkownicy zostan automatycznie wylogowani. Tak wi c ostatecznie polecenie zatrzymania %& %’a ma posta : MacroADMIN -ppath -stop Je li uruchamiamy tak e serwer komunikacyjny ( %& %3(4 5 Klienci ' jego tak e musimy zatrzyma (z automatycznym odł czeniem wszystkich zalogowanych u ytkowników) za pomoc polecenia: MacroCOMM -ppath -stop_f ), to 4/8 • %& %' a: MacroSERVER uruchomienie U ywaj c opcji -p nale y wskaza katalog z plikami konfiguracyjnymi serwera. Bez wskazania tej cie ki serwer nie zostanie uruchomiony. Gdy katalogiem roboczym serwera ma by inny ni bie cy, nale y wskaza go u ywaj c opcji -w. Tak wi c ostatecznie polecenie uruchomienia %& %ma posta : MacroSERVER -ppath -wpath Je li uruchamiamy tak e serwer komunikacyjny, to jego tak e musimy uruchomi za pomoc polecenia: MacroCOMM -ppath 4. Uruchamianie bezobsługowe (ang. „unattended”) Wymienione polecenia razem z odpowiednimi opcjami umo liwiaj u ycie ich w skryptach do bezobsługowego wykonywania kopii bezpiecze stwa. Zalet takiego rozwi zania jest mo liwo zaprogramowania cyklicznego i automatycznego wykonywania kopii o dowolnej porze - wybranej przez administratora ze wzgl du na czasowy rozkład obci enia systemu. Standardowe narz dzia do zaprogramowania cyklicznego wykonywania kopii bezpiecze stwa: a. system operacyjny ' ()+ ,$$$+ 56+ ,$$- Do zarz dzania cyklicznym wykonywaniem polece w systemie Windows NT/2000 słu y komenda ”. Wi cej informacji na temat u ycia tej AT. Wymaga ona uruchomionej usługi „) 7 8 komendy mo na uzyska pisz c HELP AT w linii polece lub odnajduj c polecenie w Pomocy systemowej. W pakiecie ' ()% interfejs do polecenia AT. *" $jest narz dzie „9 8 ”, które dodaje graficzny Oczywi cie wiele innych narz dzi systemowych ma tak e w sobie zaszyty system okresowego uruchamiania innych programów, np. pakiet ( & . Mo na u ywa tak e tych programów. • przykład polecenia ustawiaj cego uruchamianie skryptu c:\arch\backup.bat w dni robocze o godzinie #:$$w nocy: at 01:00 /every:M,T,W,Th,F "cmd /c c:\arch\backup.bat" b. system operacyjny ( . ( Do zarz dzania cyklicznym wykonywaniem polece na platformie ( . ( cron.nlm. Opis tego modułu oraz sposób jego wykorzystania mo na znale 8 : + + " . " + ; + 8+ 8 " <+ ,=-=**$" 8 . • przykład wpisu do tabeli 9%>() robocze o godzinie #:$$w nocy: 0 1 * * 1-5 mbackup.ncf słu y moduł pod adresem ustawiaj cy uruchamianie skryptu mbackup.ncf. w dni 5/8 c. system operacyjny / 0 Do zarz dzania cyklicznym wykonywaniem polece na platformie / 0mamy do dyspozycji dwa mechanizmy: at i cron. Narz dzie at słu y do jednorazowego uruchamiania polecenia o okre lonej porze (mo na w uruchamianym skrypcie zaprogramowa kolejne wykonanie...). Narz dzie cron daje mo liwo ci cyklicznego wykonywania polece o okre lonych porach. Wi cej informacji na temat tych narz dzi mo na znale w manualu (man at, man cron, man crontab). • przykład polecenia ustawiaj cego jednokrotne uruchomienie skryptu /home/arch/make_backup jutro o godzinie #:$$w nocy i wysyła poczt o wykonaniu polecenia: at -f /home/arch/make_backup -m 1am tomorrow • przykład wpisu do systemowej tabeli crontab ustawiaj cy uruchamianie skryptu /home/arch/make_backup w dni robocze o godzinie #:$$w nocy i wysyłaniu wyj cia ze skryptu do u ytkownika backup: MAILTO=backup 0 1 * * 1-5 /home/arch/make_backup 5. Odtwarzanie danych aplikacji z kopii zapasowej a. Przed przyst pieniem do odtwarzania danych z kopii zapasowej zaleca si archiwizacje systemu w bie cym stanie. Da to mo liwo przywrócenia stanu systemu do sytuacji sprzed odtwarzania, je li zajdzie taka konieczno . b. Odtwarzanie cało ci systemu Odtwarzanie cało ci systemu z kopii zapasowej jest operacj stosunkowo prost . Metoda taka jest najmniej bł dogenna. Efektem takiego odtworzenia danych jest przywrócenia stanów aplikacji na moment, w którym wykonana została kopia zapasowa, która b dzie u yta do odtwarzania. Przy codziennym (conocnym) wykonywaniu kopii zapasowej maksymalnie b dzie to utrata danych jednego dnia pracy aplikacji. c. • Najpierw nale y zatrzyma serwer aplikacji i serwer baz danych w sposób analogiczny do opisywanego przy procedurze tworzenia kopii zapasowej • W miejscu, gdzie aplikacje s zainstalowane, odtworzy pliki z kopii zapasowej • Ponownie uruchomi serwery tak jak po wykonaniu kopii zapasowej Odtwarzanie wybranych plików innych ni dane Sytuacja odtwarzania wybranych plików innych ni dane mo e mie miejsce wtedy, gdy w wyniku bł du dysku, czy bł du administratora, usuni ta lub uszkodzona została zawarto wybranych plików aplikacji. Do takich plików mog nale e wszystkie typy plików, które nie zawieraj danych (czyli formuły *.fml, raporty *.rpt, konfiguracja *.ini, definicja *.def, ochrona *.psw, itd.) • Zaleca si zako czenie pracy wszystkich klientów bazy danych i klientów serwera aplikacji, które korzystały (lub chciały korzysta ) z brakuj cych lub uszkodzonych plików. Je eli chcemy odtwarza z kopii zapasowej jeden z plików konfiguracyjnych serwera aplikacji lub serwera baz danych • Pobra brakuj ce lub uszkodzone pliki z kopii zapasowej i umie ci je w miejscach ich pierwotnej lokalizacji w ramach aplikacji 6/8 • d. Od tego momentu uruchamiane programy (klienci, serwery) b d ju korzysta z odtworzonych plików. Odtwarzanie wybranych plików z danymi Sytuacja konieczno ci odtworzenia wybranych plików z danymi mo e wyst powa w przypadku, gdy skasowaniu lub uszkodzeniu uległy tylko pojedyncze pliki danych (dane z pojedynczych tabel) lub ewentualnie dane z jednej z aplikacji wchodz cych w skład zainstalowanego pakietu. Odtwarzaj c tylko wybrane tabele z kopii zapasowej nie tracone s informacje zapisane w innych tabelach od momentu wykonywania ostatniej pełnej kopii zapasowej. W przypadku du ej liczby zmian w bazie danych lub gdy wprowadzone zmiany nie mog zosta powtórzone, takie rozwi zanie jest konieczno ci . • Je li skasowaniu lub uszkodzeniu uległy pliki *.del lub *.ndx, to nie ma konieczno ci ich odtwarzania, wystarczy odtworzenie indeksów tabeli, z której te pliki pochodz . Odtworzenie indeksów mo e wykona si automatycznie, w momencie wykorzystania danego indeksu w aplikacji. Wszystkie indeksy danej tabeli mo na tak e odtworzy na danie wywołuj c funkcj sys_sort() z okienka uruchomieniowego formuli z menu Administracja. Poni sze operacje dotycz odtwarzania plików zawieraj cych dane aplikacji (*.mdb) • Najpierw nale y zatrzyma serwer aplikacji i serwer baz danych w sposób analogiczny do opisywanego przy procedurze tworzenia kopii zapasowej • Wybrane pliki *.mdb odtworzy w miejscach ich pierwotnej lokalizacji • Wykona transfer naprawczy danych dla wszystkich zintegrowanych systemów, które korzystały z odtwarzanych plików z danymi − Transfer naprawczy dla pojedynczego systemu wykonujemy poprzez wywołanie programu )% ( ? %z parametrem -c Polecenie uruchomienia transferu naprawczego dla Windows: transfer.exe -c nazwa_systemu Polecenie uruchomienia transferu naprawczego dla Linux: MacroTRANSFER -c nazwa_systemu • 6. − Podczas transferu, program zapisuje do logu (plik nazwa_systemu.trc) informacje o wyzerowanych zł czeniach (do rekordów, które nie istniej w odtwarzanych tabelach). Informacje z tego pliku mo na u y do pó niejszego („r cznego”) wpisania zł cze , aby logiczna integralno danych aplikacji była zachowana. T operacj powinien wykonywa wdro eniowiec lub osoba bardzo dobrze znaj ca zarówno technologi jak i konkretn aplikacj , której zostały odtworzone z kopii zapasowej. − Transfer naprawczy zmienia sygnatury plików. Oznacza to, ze po odtworzeniu wybranych danych z archiwum i wykonaniu transferu naprawczego nie b dzie ju mo na z tego archiwum odtwarza innych danych. Próba odtworzenia kolejnych danych spowoduje utrat informacji o zł czeniach. Dlatego zaleca si wykonanie kopii zapasowej całego systemu zaraz po poprawnym odtworzeniu wybranych plików z danymi. Ponownie uruchomi serwery tak jak po wykonaniu kopii zapasowej Uwagi techniczne 7/8 a. b. c. Przy pisaniu skryptów tworz cych kopie bezpiecze stwa i programowaniem ich okresowego bezobsługowego wykonywania nale y zastanowi si : • nad por dnia, kiedy uruchamiany jest proces tworzenia kopii • nad cz stotliwo ci wykonywania kopii • nad sposobem wykonania kopii (zwykłe kopiowanie, kompresowanie, u ycie dedykowanego narz dzia do backup’u systemu plików, ...) • nad czasem jaki mo e by przeznaczony na wykonanie kopii (czasem szybciej przekopiowa dane w inne miejsce do archiwizacji mo e by du o szybsze ni archiwizacja ich w miejscu %& %musi by zatrzymany). ródłowym (przez cały proces W przypadku korzystania z modułu powiadomie / %)i jego konfiguracji automatycznego uruchamiania i zatrzymywania nale y rozwa y poni sze uwagi: • konieczne jest zsynchronizowanie czasów automatycznego zatrzymywania i ponownego uruchamiania / %)a z procesem tworzenia kopii zapasowej: / %)powinien by zatrzymany przed zatrzymaniem serwerów, uruchomiony po ich ponownym wystartowaniu • dokładny opis konfigurowania automatycznego startu i zatrzymania / %)a opisany jest w podr czniku u ytkownika tego modułu system operacyjny ' ()+ ,$$$+ ,$$- %& %nie zako czy prawidłowo działania, gdy na serwerze uruchomiony jest tak e który z 9/4 (): klient serwera aplikacji (winterm.exe) lub moduł wykonawczy '4 (. %& %współdzieli pewne pliki razem z klientem, dlatego b dzie czekał na zako czenie pracy klientów wszystkich lokalnie pracuj cych klientów. Oznacza to, e w momencie uruchomienia procedury tworzenia kopii zapasowej nie mo na pracowa lokalnie na serwerze. 7. Przykłady skryptów a. system operacyjny ' ()+ ,$$$+ ,$$-(skrypt backup.bat) set SRCHOME=c:\skid set XCOPY_OPTIONS=/E /V /C /Q /H /R /K /D /I set DESTHOME=c:\skid_backup echo Backup started. rem [[ polecenia dla serwera aplikacji rem zatrzymanie serwera aplikacji mblaunch.exe -e -n rem odczekanie czasu na zamkniecie aplikacji (max. 10 aplikacji) rem uzyto prostego programu sleep (www.sysinternals.com) sleep 200 rem ]] polecenia dla serwera aplikacji rem zatrzymanie serwera baz danych nserv32.exe -f -n rem backup, to kopia zmodyfikowanych plikow na DESTHOME xcopy "%SRCHOME%" "%DESTHOME%" %XCOPY_OPTIONS% rem ponowne uruchomienie serwera baz danych nserv32.exe -b -n rem [[ polecenia dla serwera aplikacji rem ponowne uruchomienie serwera aplikacji 8/8 mblaunch.exe -b -n rem ]] polecenia dla serwera aplikacji echo Backup completed. b. system operacyjny ( . ( (skrypt mbackup.ncf) # zatrzymanie serwera baz danych unload nserver.nlm # # w tym miejscu polecenia wykonujace kopie bezpieczenstwa # # ponowne uruchomienie serwera baz danych load nserver.nlm c. system operacyjny / 0(skrypt make_backup) SRCHOME=/home/macro/skid DESTHOME=/home/backup/skid CFG=/home/macro/cfg WORK=/home/macro/work KEYS=/home/macro/keys echo Backup started. # [[ polecenia dla serwera aplikacji # zatrzymanie serwera aplikacji /home/macro/run/MacroAppSERVER -p$CFG –k$KEYS -stop # odczekanie czasu na zamkniecie aplikacji (max. 10 aplikacji) sleep 200 # ]] polecenia dla serwera aplikacji # zatrzymanie serwera baz danych /home/macro/run/MacroADMIN -p$CFG -stop /home/macro/run/MacroCOMM -p$CFG -stop_f # backup, to kopia zmodyfikowanych plikow na DESTHOME cp -ru $SRCHOME $DESTHOME # ponowne uruchomienie serwera baz danych /home/macro/run/MacroSERVER -p$CFG -w$WORK /home/macro/run/MacroCOMM -p$CFG # [[ polecenia dla serwera aplikacji # ponowne uruchomienie serwera aplikacji /home/macro/run/MacroAppSERVER -p$CFG -w$WORK –k$KEYS # ]] polecenia dla serwera aplikacji echo Backup completed. ,$$2;$=;,1