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