Fotografujemy dane

Copy-on-Write (CoW) - kopiuj przy zapisie

Mechanizm kopii migawkowej CoW wymaga w pierwszej kolejności zarezerwowania pewnego obszaru przestrzeni pamięci masowej na potrzeby tworzonych migawek. Kopia migawkowa przechowuje tylko metadane o położeniu poszczególnych bloków na wolumenie, nie zachodzi tu żadna operacja kopiowania. Tak utworzony snapshot jest natychmiastowy, i ma minimalny wpływ na działanie całego systemu. Następnie mechanizm snapshotu śledzi wszelkie zmiany bloków, towarzyszące operacjom zapisu na oryginalnym wolumenie danych. Jeśli pojawi się żądanie operacji zapisu do bloku, którego kopia migawkowa została utworzona, nastąpi operacja kopiowania bloku na wcześniej zarezerwowaną przestrzeń na potrzeby snapshotów.

W zwolnione miejsce na oryginalnym wolumenie następuje operacja zapisu nowego bloku danych. Proces ten zapewnia spójność kopii migawkowej z czasem, w którym została ona wykonana, oraz przedstawia genezę pochodzenia nazwy Copy-on-Write. Operacje odczytu do niezmienionych bloków danych kierowane są do oryginalnego wolumenu danych, natomiast odczyt zmienionych bloków odbywa się z kopii migawkowej. Każda kopia zawiera metadane opisujące bloki danych, które zostały zmodyfikowane od czasu utworzenia pierwszego snapshotu.

Podstawową zaletą mechanizmu CoW jest jego efektywność pod względem zajmowanej przestrzeni, odpowiadającej pojemnościowo zmianom zachodzącym na wolumenie. Natomiast poważną wadą tego mechanizmu jest to, że wpływa on na wydajność pracy na danym wolumenie. Dzieje się tak, ponieważ operacje zapisu są wstrzymywane do momentu, w którym oryginalne bloki danych zostaną skopiowane do przestrzeni zarezerwowanej na potrzeby snapshotów.

Redirect-on-Write (RoW) - przekieruj przy zapisie

Porównanie mechanizmów tworzenia kopii migawkowych

Porównanie mechanizmów tworzenia kopii migawkowych

Mechanizm działania jest bardzo podobny do metody CoW, eliminuje jednak podwójną operację zapisu, która ma w niej miejsce. Nowe operacje zapisu do oryginalnego wolumenu zostają przekierowane do obszaru pamięci masowej zarezerwowanej na potrzeby snapshotów. Przekierowanie zapisów redukuje liczbę wymaganych operacji z dwóch do jednej. W porównaniu z mechanizmem CoW nie zachodzi tu potrzeba kopiowania bloków danych, nowe bloki są od razu zapisywane na dysk. Kiedy snapshot zostaje usunięty, dane z niego muszą zostać skopiowane i "uspójnione" do oryginalnego wolumenu. W dalszej kolejności tworzenie dużej liczby snapshotów może prowadzić do zwiększenia złożoności dostępu do danych i śledzenia danych w snapshotach.

Clone/Split mirror

Clone/Split mirror tworzy fizyczny klon systemu plików, wolumenu lub LUN-a na dodatkowej przestrzeni dyskowej pamięci masowej. Duplikacja danych zapewnia im poziom wysokiej dostępności. W każdej chwili w trakcie procesu mirrorowania możliwa jest operacja tzw. rozpięcia mirrora i uczynienia go dostępnym, np. na potrzeby operacji backupu lub testowania. Wadą tego mechanizmu jest to, że każda kopia danych zajmuje tyle samo miejsca co dane oryginalne. Nie bez wpływu pozostaje również wydajność systemu, ponieważ musi on synchronicznie pisać do kopii lustrzanej.


TOP 200