Infolinia: (033) 81 71 960, (0) 506 337 172 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Identyfikator artykułu : FS-FBS-20080218-I01 Ostatnia weryfikacja : 18 lutego 2008 Wersja : 1.0 Backup bazy danych i plików pocztyArtykuł omawia problemy związane z archiwizacją dużych plików. Zawiera praktyczne wskazówki dotyczące backupu baz danych: Oracle, MySQL, Microsoft SQL Server, Microsoft Exchange Server, InterBase, Firebird, PostgreSql, IBM DB2, Microsoft Access, dBase, Paradox, FoxPro oraz plików programów pocztowych: Microsoft Outlook, Outlook Express, Mozilla Thunderbird, Eudora, The Bat!.Duży plik, duży problem ? Pliki baz danych i pliki programów pocztowych mają przynajmniej dwie wspólne cechy: są duże i nie można ich łatwo zarchiwizować. Duże pliki można podzielić na dwie kategorie: wg miejsca przechowywania i zakresu dostępności. Pliki zlokalizowane na dysku komputera typu: desktop, workstation lub laptop to pliki lokalne. Mogą to być małe, lokalne bazy danych takie jak: Microsoft Access, dBase, Paradox, FoxPro oraz pliki programów pocztowych: Microsoft Outlook, Outlook Express, Mozilla Thunderbird, Eudora, The Bat!. Pliki przechowywane na serwerach to przeważnie pliki współdzielone, udostępniane przez serwer dla innych komputerów działających w sieci. Najpopularniejsze z nich to: Oracle, MySQL, Microsoft SQL Server, InterBase, Firebird, PostgreSql, IBM DB2. Duże pliki, tak jak i inne pliki, mogą być zablokowane, jeśli są używane. W przypadku plików baz danych i plików pocztowych taka sytuacja występuje jednak znacznie częściej. Serwery danych udostępniają bazy przeważnie 24 godziny na dobę, przez 7 dni w tygodniu. Pliki pocztowe (lokalne) co prawda rzadko są używane nonstop z tego względu, że korzysta z nich zazwyczaj tylko jeden użytkownik, ale za to okno czasowe, w którym może być wykonany backup jest ograniczone do ok. 8 godzin na dobę. Tego typu wykorzystanie i ograniczona dostępność plików komplikuje możliwość ich backupu. Wstrzymywanie pracy serwera bazodanowego na czas archiwizacji jest w wielu środowiskach utrudniony a czasem nawet niemożliwy do wykonania. Backup plików pocztowych, kiedy są one dostępne tyko w ograniczonym przedziale czasowym (w trakcie pracy użytkownika na komputerze) i są ciągle zablokowane, także może sprawiać trudność, jeżeli nie zastosujemy odpowiednich narzędzi. Archiwizacja zablokowanych plików Problem backupu baz danych i plików pocztowych można rozwiązać przy użyciu wbudowanej w Ferro Backup System opcji Open File Manager. OFM pozwala na archiwizację plików otwartych i zablokowanych prze inne procesy. Odczytuje pliki poprzez bezpośrednie odwołania do dysku, pomijając przy tym funkcje systemu operacyjnego. Więcej informacji na temat backupu plików otwartych i zablokowanych znajduje sie w artykule Archiwizacja otwartych i zablokowanych plików. Pomimo możliwości otwarcia i skopiowania (backupu) otwartego i zablokowanego pliku lokalnej bazy danych lub pliku pocztowego, pozostaje problem z uzyskaniem stanu koherentnego. Plik znajdujący się w stanie koherentnym jest spójny z punktu widzenia programu wykorzystującego ten plik do przechowywania informacji. W przypadku plików baz danych jest to stan po zakończeniu wszystkich transakcji zapisu. Jeżeli plik bazodanowy jest stosunkowo duży, to backup takiego pliku może trwać nawet kilkadziesiąt minut. W tak długim okresie czasu serwer bazodanowy lub program pocztowy najprawdopodobniej wykona operację zapisu do pliku. Jeśli taka sytuacja nastąpi, zarchiwizowana baza nie będzie spójna. Próba późniejszego użycia takiego pliku skończy się zgłoszeniem przez serwer bazodanowy lub program pocztowy, błędu o uszkodzonej strukturze pliku. Dlatego, kiedy program backupujący wykryje, że nastąpiła operacja zapisu, musi rozpocząć cały proces backupu od początku. W zależności więc od rodzaju aplikacji, jej obciążenia i wielkości pliku, próba przeprowadzenia klasycznego backupu może zakończyć się niepowodzeniem lub uzyskaniem kopii zapasowej typu "crash-consistent". Szybki i pewny backup Ferro Backup System w wersji 2.8 lub nowszej zawiera rozszerzenie mechanizmu Open File Manager, które pozwala na czasowe wstrzymanie procesu zapisującego dane do pliku. Dzięki temu możliwa jest bezproblemowa archiwizacja plików pocztowych. Podczas wstrzymania procesu odpowiedzialnego za zapis, użytkownik komputera (jeśli właśnie korzysta z programu) otrzymuje informację, że przez pewien czas nie może korzystać z programu ponieważ trwa proces archiwizacji:
Rys. 1 Okno informujące użytkownika o wstrzymaniu programu Użytkownik może przerwać archiwizację pliku lub odłożyć ją na później. Obie opcje mogą być jednak zablokowane przez administratora Ferro Backup System. Dzięki temu rozszerzeniu OFM można łatwo i szybko przeprowadzić backup plików programów pocztowych Microsoft Office Outlook, Outlook Express, Mozilla Thunderbird, Eudora, The Bat! oraz małych baz danych Microsoft Access, dBase, Paradox, FoxPro, itp.
Tabela 1. Rozszerzenia nazw plików popularnych programów pocztowych i małych baz danych Użytkownik może przerwać archiwizację pliku lub odłożyć ją na później. Obie opcje mogą być jednak zablokowane przez administratora Ferro Backup System. Dzięki temu rozszerzeniu OFM można łatwo i szybko przeprowadzić backup plików programów pocztowych Microsoft Office Outlook, Outlook Express, Mozilla Thunderbird, Eudora, The Bat! oraz małych baz danych Microsoft Access, dBase, Paradox, FoxPro, itp. Pliki programów pocztowych są przeważnie przechowywane w katalogu użytkownika. Dla systemu Windows 2000, WIndows XP, Windows, 2003 będzie to: C:\Documents and Settings\nazwa_uzytkownika\Application Data\producent\nazwa_programu\ Dla systemów Windows Vista, Windows Server 2008: C:\Users\nazwa_uzytkownika\Application Data\producent\nazwa_programu\ Włączenie opcji wstrzymywania procesów dla serwera bazodanowego może jednak nie być tak samo proste i korzystne, jak to ma miejsce w przypadku lokalnych baz danych i programów pocztowych. W przypadku serwerów włączenie bez przecopcji blokowania procesówbez może powodować zakłócenia w dostępie do jego usług (serwer nie odpowiada). Z tego względu w przypadku plików baz danych o dużych rozmiarach (>10 GB), zlokalizowanych na serwerach o dużym obciążeniu transakcjami zapisu, zaleca się przeprowadzanie backupu w godzinach, w których występuje mniejsze obciążenie lub zastosowanie jednej z opisanych poniżej metod. Kopie w tle Jeśli wykorzystujemy bazę danych zgodną z Volume Shadow Copy Service (usługą kopiowania woluminów w tle), to do archiwizacji możemy wykorzystać skrypt kopiujący wybrany plik przy użyciu tej usługi. Skrypt ten można wykonać przed archiwizacją, przy użyciu, wbudowanych w Ferro Backup System, Poleceń zdalnych. Polecenia zdalne umożliwiają, m.in. wykonanie określonych skryptów lub poleceń przed lub po archiwizacji. Archiwizacja powinna obejmować kopię pliku wykonanego przez VSS. Po archiwizacji kopię bazy danych można (również z wykorzystaniem polecenia zdalnego) usunąć z dysku. Usługa VSS daje możliwość wykonania kopii pliku, który jest w użyciu, pomimo wykonywanych operacji zapisu, bez wstrzymywania procesu zapisującego. Trzeba jednak pamiętać o występujących ograniczeniach usługi VSS:
Jeżeli serwer bazy danych nie jest zgodny z VSS, kopia bazy będzie tylko kopią typu "crash consistent" - nie będzie koherentna więc pojawią się problemy przy próbie jej użycia. Więcej na temat VSS znajduje się na stronie How Volume Shadow Copy Service Works. Można prościej - "Hot Backup" (online) Innym sposobem archiwizacji baz danych jest wykorzystanie dedykowanych narzędzi do backupu danej bazy danych. Backup do przeprowadzenia którego nie jest konieczne uprzednie wyłączanie serwera bazy danych, to tzw. Hot Backup, On-line Backup lub Dynamic Backup. Producenci wszystkich najpopularniejszych systemów bazodanowych dostarczają takie narzędzia w formie programów, które można wywoływać z linii poleceń. W przypadku archiwizacji przy użyciu Ferro Backup System, program taki można uruchomić na serwerze bazodanowym za pomocą, wspomnianych już wcześniej, Poleceń zdalnych. W przypadku wszystkich baz danych, sposób postępowania będzie taki sam. Najpierw wywoływane jest polecenie wykonujące kopię bazy, następnie przeprowadzana jest archiwizacja właściwa, a na końcu kopia bazy jest usuwana. Polecenie zdalne, zdefiniowane w programie FBS Server, będzie wyglądało następująco: BEFOREBACKUP TRUE POLECENIE PARAMETRY Poniższa tabela zawiera listę dedykowanych poleceń do wykonywania kopii bazy danych dla najpopularniejszych systemów bazodanowych.
Tabela 2. Polecenia do wykonywania kopii zapasowych popularnych baz danych Można pewniej - "Cold Backup" (offilne) Jeżeli serwer bazodanowy nie dysponuje dedykowanymi narzędziami do wykonywania kopii zapasowych lub z innej przyczyny nie chcemy wykonywać archiwizacji działającej bazy danych, można wykonać archiwizację po uprzednim zatrzymaniu usługi serwera bazy danych. Backup tego typu, do przeprowadzenia którego konieczne jest uprzednie zatrzymanie bazy danych, to tzw. Cold Backup lub Offline Backup. Tak jak w poprzednim przypadku, operacja może być wykonana automatycznie przy pomocy Poleceń zdalnych. Przed archiwizacją należy wykonać polecenie zatrzymujące serwer, a po zakończeniu archiwizacji polecenie uruchamiające serwer z powrotem. Do zatrzymania usługi serwera bazy danych można wykorzystać komendę NET STOP nazwa_usługi. Analogicznie, aby uruchomić usługę serwera, należy wywołać komędę NET START nazwa_usługi. Polecenie zdalne, zdefiniowane w programie FBS Server, będzie wyglądało następująco: BEFOREBACKUP TRUE CMD "/C NET STOP NAZWA_USLUGI" Duże bazy, małe kopie zapasowe Ograniczenia w dostępie do pliku i trudności w uzyskaniu stanu koherentnego nie są jedynymi problemami występującymi podczas backupu dużych plików. W przypadku plików pocztowych i bazodanowych, których rozmiar liczony jest w gigabajtach, dodatkowym problem będzie rozmiar archiwów i obciążenie sieci podczas archiwizacji. Przechowywanie kopii zapasowych dużych plików w kilku wersjach (z kilku dni), z wielu komputerów szybko może zapełnić nawet największe dyski twarde jak i macierze dyskowe. Pliki bazodanowe są zoptymalizowane pod kątem szybkości operacji zapisu i odczytu. Optymalizacja taka polega najczęściej na alokacji przez system bazodanowy dużo większej przestrzeni dyskowej niż wynikałoby to z ilości przechowywanych w bazie informacji. Ta dodatkowa przestrzeń jest sukcesywnie zapełniana w trakcie przyrostu danych w bazie. Dzięki temu dane nie muszą być przesuwane i kopiowane (w obrębie pliku) podczas kolejnych transakcji dodających do bazy nowe informacje lub usuwających istniejące. Wolna, niezapisana przestrzeń pliku bazy danych zawiera najczęściej ciągi bajtów o wartości zero. Tego typu pliki mogą być zatem bardzo łatwo skompresowane. Wbudowana w Ferro Backup System kompresja umożliwia przeważnie zmniejszyć rozmiar bazy danych w stosunku 9:1. Oznacza to szybszy transfer kopii zapasowej do serwera archiwizacji i mniejsze zapotrzebowanie na przestrzeń dyskową. Dodatkowo, aby rozwiązać problem z dużą ilością danych i przyspieszyć proces archiwizacji, Ferro Backup System został wyposażony w opcję archiwizacji różnicowej na poziomie fragmentów plików. Opcja ta jest właśnie przeznaczona do backupu dużych plików, takich jak pliki baz danych i pliki programów pocztowych. Jeśli jest uaktywniona, Ferro Backup System archiwizuje tylko te części pliku, które zostały zmodyfikowane lub utworzone od czasu poprzedniej archiwizacji. Jeśli więc plik bazodanowy o rozmiarze 50 GB, od czasu poprzedniej archiwizacji, został zmodyfikowany tylko w zakresie 1% (500 MB), to tylko tyle danych zostanie zarchiwizowanych ponownie. 500 MB, przy zakładanej kompresji 9:1, to tylko 50 MB danych do przesłania przez sieć i zachowania na serwerze archiwizacji. Przy odzyskiwaniu danych, kopie wykonane z aktywną opcją archiwizacji na poziomie fragmentów plików, odtwarza się tak samo jak kopie pełne. Procesem wypakowywania i scalania fragmentów plików zajmuje się Ferro Backup System - Server bez udziału administratora. Podsumowanie Backup bazy danych lub pliku pocztowego można wykonać stosunkowo łatwo stosując wbudowane w Ferro Backup System opcje. Open File Manager pozwala archiwizować pliki będące w użyciu. Rozszerzenie OFM, które blokuje proces zapisujący dane do pliku, pozwala na bezproblemową archiwizację plików pocztowych i lokalnych baz danych. Duże bazy danych można archiwizować przy użyciu Poleceń zdalnych i dedykowanego narzędzia do wykonywania kopii zapasowej. Bazy danych zgodne z Volume Shadow Copy Service można zarchiwizować przy użyciu Poleceń zdalnych i odpowiedniego skryptu. W ostateczności można również przy pomocy Poleceń zdalnych wykonać backup plików zatrzymanego serwera bazodanowego. W każdym wypadku opcja Archiwizacji na poziomie fragmentów plików w połączeniu z kompresją danych przyspieszy archiwizację i pozwoli na zaoszczędzenie miejsca na dyskach serwera archiwizacji. Powrót do Bazy wiedzy Wersja do druku |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright © 2000-2008 FERRO Software | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Backup bazy danych i plików poczty Wszelkie prawa zastrzeżone. Opracowanie FERRO Software |