ZASADY PRZECHOWYWANIA DANYCH

Transkrypt

ZASADY PRZECHOWYWANIA DANYCH
ZASADY PRZECHOWYWANIA DANYCH
Wymienić można następujące powody utraty lub szkodliwej modyfikacji danych:
przypadkowe ich usunięcie (np. przez roztargnionego pracownika),
uszkodzenie nośnika,
awaria systemu czy oprogramowania (np. zanik zasilania),
w skutek działania intruza (osoby lub złośliwego programu).
Właściwa ochrona wymaga:
przestrzeganie właściwego dostępu użytkowników do danych,
nadawanie plikom określonych atrybutów,umieszczanie ich
w określonych lokalizacjach,
stosowanie stabilnych systemów i programów,
udaremnienie dostępu do danych osobom niepowołanym,
uniemożliwienie działania złośliwym programom,
tworzenie i właściwe przechowywanie kopii zapasowych.
KOREKCJA BŁĘDÓW
W systemach pamięci półprzewodnikowych występują błędy. Można je
podzielić na błędy stałe i przypadkowe.
Błąd stały jest permanentnym defektem fizycznym
powodującym, że uszkodzona komórka lub komórki
pamięciowe nie są w stanie niezawodnie przechowywać
danych, lecz pozostają w stanie 0 lub l, albo błędnie
przeskakują między 0 a 1.
Błąd przypadkowy jest losowym i nieniszczącym zjawiskiem,
które zmienia zawartość jednej lub wielu komórek
pamięciowych, bez uszkadzania samej pamięci.
Zarówno błędy stałe, jak i przypadkowe są oczywiście niepożądane i
większość współczesnych systemów pamięci głównych zawiera układy
logiczne wykrywające i korygujące błędy.
KODY KOREKCYJNE
Gdy dane mają być wczytane do
pamięci, przeprowadza się na tych
danych
obliczenia
w
celu
utworzenia kodu do korekty
błędów. Zarówno kod, jak i dane są
przechowywane.
Gdy uprzednio zmagazynowane
słowo jest odczytywane, kod jest
wykorzystywany do wykrywania i
ewentualnej
korekty
błędów.
Generowany jest nowy zestaw K
bitów kodowych z M bitów danych,
po czym porównuje się go z
pobranymi
bitami
kodowymi.
Porównanie prowadzi do jednego z
trzech wyników:
Nie wykryto żadnych błędów.
Pobrane bity danych są wysyłane.
Wykryto błąd, którego korekta jest
możliwa. Bity danych i bity korekty
błędu są doprowadzane do układu
korektora, który tworzy poprawiony
zestaw M bitów
Wykryto błąd niemożliwy do
poprawienia. Stan ten jest zgłaszany.
KODY HAMMINGA
M=4
W przypadku trzech krzyżujących
się okręgów mamy do czynienia z
siedmioma
przedziałami.
Przypisujemy 4 bity danych
przedziałom wewnętrznym (a).
Pozostałe
przedziały
są
wypełniane
tzw.
bitami
parzystości. Bit parzystości jest
wybierany tak, że całkowita liczba
jedynek w okręgu jest parzysta (b)
Jeśli teraz błąd spowoduje zmianę
jednego z bitów danych (c), jest on
łatwy do wykrycia. Sprawdzając
bity
parzystości,
wykrywamy
sprzeczności w okręgach A i C, ale
nie w B.
Tylko jeden z 7 przedziałów znajduje się w A i C, ale nie w B. Błąd może
więc być poprawiony przez zmianę tego bitu (d).
DŁUGOŚĆ SŁOWA A KOREKCJA
Liczba bitów
danych
Poprawianie pojedynczego błędu
Poprawianie pojedynczego błędu,
wykrywanie podwójnego
błędu
Bity kontrolne
% wzrostu
Bity kontrolne
% wzrostu
8
4
50
5
62,5
16
5
31,25
6
37,5
32
6
18,75
7
21,875
64
7
10,94
8
12,5
128
8
6,25
9
7,03
256
9
3,52
10
3,91
PRZECHOWYWANIE DANYCH
W celu zapisu lub odczytu głowica musi
być ustawiona nad pożądaną ścieżką i na
początku pożądanego sektora na tej
ścieżce. Wybór ścieżki polega na
przesunięciu
głowicy
w
przypadku
systemu z ruchomą głowicą lub na
elektronicznym wyborze jednej głowicy w
systemie z nieruchomymi głowicami.
W systemie z ruchomą głowicą czas
pozycjonowania głowicy nad ścieżką nosi
nazwę czasu przeszukiwania (ang. seek
time).
W każdym przypadku po dokonaniu
wyboru
ścieżki
system
czeka,
aż
odpowiedni sektor znajdzie się pod głowicą.
Czas osiągnięcia głowicy przez sektor jest
nazywany opóźnieniem obrotowym (ang.
rotational latency).
STRUKTURA RAID
Uzgodniono znormalizowany schemat projektowania baz danych
dla pamięci wielodyskowych, znany jako redundancyjna tablica
niezależnych dysków - RAID (ang. Redundant Array of
Independent Disks).
Schemat RAID składa się z sześciu poziomów, od zerowego do
piątego. Poziomy te nie implikują zależności hierarchicznej, lecz
wyznaczają różne architektury, które mają trzy cechy wspólne:
RAID jest zespołem fizycznie istniejących napędów dyskowych
widzianych przez system operacyjny jako pojedynczy napęd
logiczny.
Dane są rozproszone w tych napędach, tworzących tablicę.
Redundancyjna pojemność dysków jest wykorzystywana do
przechowywania informacji o parzystości, co gwarantuje
odzyskiwanie danych w przypadku uszkodzenia dysku.
STRUKTURA RAID – POZIOM 0
Jeśli dwa różne żądania wejścia-wyjścia dotyczą dwóch różnych
bloków danych, istnieje duże prawdopodobieństwo, że potrzebne bloki
znajdują się na różnych dyskach. Dzięki temu oba zapotrzebowania
mogą być przetwarzane równolegle, co skraca oczekiwanie w kolejkach.
Wszystkie dane użytkownika i systemowe mogą być postrzegane jako
przechowywane na jednym dysku logicznym.
Dysk jest podzielony na paski; paski te mogą być fizycznymi
blokami, sektorami lub innymi jednostkami. Paski są
odwzorowywane cyklicznie na kolejnych dyskach tablicy.
STRUKTURA RAID – POZIOM 1
W przypadku RAID 1 redundancja jest osiągana po prostu przez
duplikowanie wszystkich danych
Żądanie odczytu może być obsługiwane przez ten spośród
dwóch dysków zawierających potrzebne dane, który
wymaga mniejszego czasu przeszukiwania plus opóźnienie
obrotowe.
Żądanie zapisu wymaga aktualizacji obu odpowiednich
pasków, jednak może to być wykonywane równolegle. Wobec
tego wydajność zapisu jest dyktowana przez wolniejszy z
dwóch zapisów (tzn. ten, który zajmuje dłuższy czas
przeszukiwania plus opóźnienie obrotowe).
W razie awarii rozwiązanie jest proste. Gdy napęd ulega
uszkodzeniu, dane mogą być uzyskane z drugiego napędu.
STRUKTURA RAID – POZIOM 2
RAID 2 i 3 wykorzystują metodę dostępu równoległego. W przypadku
tablicy o dostępie równoległym wszystkie dyski uczestniczą w realizacji
żądania wejścia-wyjścia. Zwykle poszczególne napędy są
synchronizowane tak, że w dowolnym momencie każda głowica
znajduje się w tej samej pozycji nad każdym dyskiem.
W RAID 2 kod korekcji błędów jest obliczany na podstawie odpowiednich
bitów na każdym dysku danych, a bity kodu są przechowywane w
odpowiednich pozycjach bitowych zlokalizowanych na wielu dyskach
parzystości. Zwykle jest wykorzystywany kod Hamminga, który umożliwia
korygowanie błędów jednobitowych i wykrywanie dwubitowych.
STRUKTURA RAID – POZIOM 3
RAID 3 jest zorganizowany podobnie do RAID 2. Różnica polega na tym,
że wymaga on tylko jednego dysku redundancyjnego, niezależnie od
wielkości matrycy dysków. Zamiast kodu korekcyjnego jest obliczany bit
parzystości dla zespołu indywidualnych bitów znajdujących się w tej samej
pozycji na wszystkich
RAID 3 – REDUNDANCJA
W przypadku uszkodzenia napędu sięga się do napędu parzystości, po
czym następuje rekonstrukcja danych na podstawie danych zawartych na
pozostałych urządzeniach.
Rozważmy tablicę złożoną z pięciu napędów, w której dyski XO do X3
zawierają dane, natomiast X4 jest dyskiem parzystości.
Rekonstrukcja (znak „+” oznacza operację EXOR)
Parzystość i-tego bitu jest obliczana następująco:
X4(i) = X3(i) + X2(i) + X1(i) + X0(i)
Załóżmy, że został uszkodzony napęd X1. Jeśli dodamy X4(i) + X1(i) do
obu stron powyższego równania, to otrzymamy
X1(i) = X4(i) + X3(i) + X2(i) + X0(i)
Wobec tego zawartość dowolnego paska danych na dowolnym dysku
danych w tablicy może być zregenerowana na podstawie zawartości
odpowiednich pasków na pozostałych dyskach tablicy. Zasada ta jest
prawdziwa dla poziomów RAID 3,4 i 5.
STRUKTURA RAID – POZIOM 4
Podobnie jak w przypadku pozostałych poziomów RAID, w RAID 4
wykorzystuje się paskowanie danych. Paski są tu stosunkowo duże.
Pasek parzystości tworzony bit po bicie jest obliczany na podstawie
odpowiednich pasków na każdym dysku danych, a bity parzystości są
przechowywane w odpowiednim pasku na dysku parzystości.
W schemacie RAID 4 występuje pogorszenie wydajności zapisu, jeśli
realizowane jest żądanie zapisu małej ilości danych. Za każdym razem, gdy
następuje zapis, oprogramowanie zarządzania tablicą musi zaktualizować nie
tylko dane użytkownika, ale również odpowiednie bity parzystości.
RAID 4 – REDUNDANCJA
Rozważmy tablicę złożoną z pięciu napędów, w której dyski XO do X3
zawierają dane, natomiast X4 jest dyskiem parzystości. Załóżmy, że
dokonywany jest zapis obejmujący tylko pasek na dysku X1. Początkowo
dla każdego i-tego bitu zachodzi następująca zależność:
X4(i) = X3(i) + X2(i) + X1(i) + X0(i)
Jeśli potencjalnie zmienione bity oznaczymy primem, to po aktualizacji
zachodzi:
X4'(i) = X3(i) + X2(i) + Xl’(i) + X0(i) =
= X3(i) + X2(i) + Xl’(i) + X0(i) + X1(i) + X1(i) =
= X4(i) + X1(i) + X1’(i)
W celu obliczenia nowego bitu parzystości oprogramowanie zarządzania
tablicą musi odczytać stary pasek użytkownika i stary pasek parzystości.
Następnie musi ono zaktualizować te oba paski za pomocą nowych danych
oraz na nowo obliczonej parzystości. Tak więc każdy zapis paska powoduje
dwa odczyty i dwa zapisy.
STRUKTURA RAID – POZIOM 5
RAID 5 jest zorganizowany podobnie jak RAID 4. Różnica polega
na tym, że w przypadku RAID 5 paski parzystości są rozproszone
na wszystkich dyskach.
Typowo wykorzystuje się schemat cykliczny (ang. round-robin). W
przypadku tablicy n-dyskowej pasek parzystości jest umieszczany na
różnych dyskach w odniesieniu do pierwszych n pasków danych, po czym
schemat ten jest powtarzany.
STRUKTURA RAID – POZIOM 6
RAID 6 jest zorganizowany podobnie jak RAID 5. Różnica polega na
tym, że w przypadku RAID 6 zapisywane są po 2 paski parzystości i są
one rozproszone na wszystkich dyskach. Umożliwia to odtworzenie
danych w przypadku awarii dwóch dysków
KOPIE ZAPASOWE
Aktualne
kopie
zapasowe
do stanu z przed awarii.
pozwalają
doprowadzić
Należy zastanowić się:
co powinno być archiwizowane,
jak często dokonywać archiwizacji,
jakie wybrać nośniki na archiwa.
Musimy przy tym rozważyć :
koszty
pewność
prędkość
dostępność
użyteczność
system
PRZECHOWYWANIE KOPII ZAPASOWYCH
Kopia zapasowa powinna być umieszczona:
na tyle daleko, by nie uległa uszkodzeniu wraz z systemem
na tyle blisko, by czas jej sprowadzenia nie był zbyt długi.
Dobrą praktyką jest wykonywanie dwóch kopii zapasowych
i przechowywanie ich w dwóch różnych miejscach.
Rodzaje i częstotliwość tworzenia kopii
proste (pełne, normalne),
różnicowe,
przyrostowe,
codzienne.
KOPIE PROSTE
Proces wykonywania kopii, podczas którego kopiowane
są wszystkie wybrane pliki. Poszczególne pliki są oznaczane
jako pliki, których kopie zapasowe wykonano (mówiąc
inaczej, atrybut archiwizacji jest czyszczony). W przypadku
normalnej kopii zapasowej, aby przywrócić wszystkie pliki,
wystarczy posiadać tylko ostatnią kopię pliku kopii
zapasowej lub taśmę zawierającą kopię zapasową.
Normalną kopię zapasową wykonuje się zwykle wtedy, gdy
po raz pierwszy jest tworzony zestaw kopii zapasowych.
19
KOPIE PRZYROSTOWE
Proces wykonywania kopii zapasowych, podczas którego
kopiowane są tylko pliki utworzone lub zmienione od chwili
wykonania ostatniej normalnej lub przyrostowej kopii
zapasowej. Pliki oznaczane są jako takie, których kopie
zapasowe zostały wykonane (atrybut archiwizacji jest
czyszczony). Jeżeli używane jest połączenie normalnej
i przyrostowej kopii zapasowej, to do przywrócenia danych
potrzebna jest ostatnia normalna kopia zapasowa oraz
wszystkie zestawy kopii zapasowych typu przyrostowego.
KOPIE RÓŻNICOWE
Proces wykonywania kopii zapasowych, podczas którego
kopiowane są pliki utworzone lub zmienione od czasu
wykonywania ostatniej normalnej lub przyrostowej kopii
zapasowej. Pliki nie są oznaczane jako takie, których kopie
zapasowe wykonano (atrybut archiwizacji nie jest
czyszczony).
W
przypadku
wykonania
kombinacji
normalnych i różnicowych kopii zapasowych podczas
przywracania plików i folderów należy dysponować zarówno
ostatnią normalną, jak i ostatnią różnicową kopią zapasową.
KOPIE CODZIENNE
Proces
wykonywania
kopii
zapasowych,
podczas
którego
kopiowane
są
wszystkie
wybrane
pliki,
które
zostały
zmodyfikowane
w
dniu
wykonania
kopii
zapasowej.
Pliki, których kopie zapasowe wykonano, nie są oznaczane
jako pliki, których kopie zapasowe wykonano (innymi słowy,
atrybut archiwizacji nie jest czyszczony).
Schematy tworzenia kopii - przykład:
taśma nr 1 ⇒ kopia normalna (piątek)
taśmy nr 2 - 5 ⇒ kopie przyrostowe (poniedziałek - czwartek)
taśma nr 6 ⇒ ponownie kopia normalna (piątek)
Nie należy nadpisywać taśmy 1 do czasu stworzenia pełnej kopii na taśmie 6.
Jeżeli jest dostępnych więcej niż 6 taśm możemy dodatkowe z nich wykorzystać
do tworzenia kopii pełnych.
PRZYKŁAD TWORZENIA KOPII
odtwarzanie
na koniec m-ca
nr taśmy
4
5
2
6
3
4
1
5
6
3
4
2
20
27 1 4
11
18
25
1
pon
pon
pon
pon
pon
13
pon
pon
29 1 5
pon
22
pon
15
pon
8
pon
1
pon
0
1
2
pon
dzień
3
pon
poziom
1
taśmy 1 i 2 ⇒ kopie miesięczne (I piątek miesiąca)
taśmy 3 – 6 ⇒ kopie tygodniowe (inne piątki, może być 5 pt.)
taśmy 7 – 10 ⇒ kopie codzienne (poniedziałek - czwartek)

Podobne dokumenty