Fotografujemy dane
- Szymon Pomorski,
- 15.01.2010
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
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.