Większość tych migawek to migawki kopiowania przy zapisie, które są naprawdę szybkie i bardzo tanie (pod względem pamięci) w rzadko aktualizowanych systemach. Migawki LVM są migawkami COW, ZFS / BTRFS mają tryb COW dla migawek, reiserfs nie ma migawek natywnie, system plików Novell NSS jest również COW, podobnie jak woluminy Shadow Copy dla woluminów Windows NTFS.
Migawki kopiowania przy zapisie przenoszą kopię metadanych woluminu docelowego do puli migawek. Następnie, w zależności od używanego trybu COW, kopiują dane, które zostałyby nadpisane przez nowe zapisy do puli migawek przed zapisaniem nowych danych.
ZFS i (ewentualnie, jeśli jeszcze ich nie ma) BTRFS mają możliwości tworzenia pełnych zdjęć, co jest przydatne do przyciągania do oddzielnych nośników, co z kolei jest bardzo przydatne w przypadku sneakernetowych systemów tworzenia kopii zapasowych wykorzystujących nośniki wymienne. ZFS nie nazywa tego jednak „migawką”, wykorzystują zdolność ZFS do używania zfs send
i zfs recv
kopiowania woluminów i migawek przez sieć na zdalnym hoście (lub tablicy lokalnej).
Wolę możliwości tworzenia migawek na poziomie systemu plików niż LVM, ponieważ lepiej ufam samemu systemowi plików, aby dobrze obsługiwał proces. Jednak przy braku bezpośredniego wsparcia systemu plików LVM powinien działać dobrze w większości przypadków.
Migawki COW są dobre, jeśli potrzebujesz kopii zapasowej w określonym momencie, wykonanej naprawdę szybko na potrzeby odzyskiwania krótkoterminowego. Na przykład robienie codziennych lub 4x codziennych przystawek przez tydzień. Jest to przydatne, jeśli chcesz odzyskać pliki, które użytkownicy przypadkowo usuną lub chcesz przywrócić cały system do konfiguracji przed aktualizacją. Mogą być również używane przez niektóre systemy tworzenia kopii zapasowych jako całkowicie wyciszony system plików, więc kopie zapasowe pobrane z woluminu migawki nie muszą się martwić, że otwarte pliki staną się przeszkodą. Najważniejszą rzeczą do zapamiętania jest to, że woluminy migawek będą znajdować się w tym samym magazynie co wolumin podstawowy, więc nie dawaj niczego w przypadku awarii tablicy.
PEŁNE migawki są dobre, jeśli są przenoszone na nośniki wymienne lub zdalne. Jeśli masz pamięć sieciową, miejscem docelowym może być inna macierz iSCSI lub Fibre Channel niż ta, w której przechowywana jest pamięć podstawowa. Zapewnia to ochronę poza macierzą dla niektórych rodzajów błędów. Jeśli używasz nośników wymiennych, takich jak dysk ESATA 3 TB, możesz nawet użyć go jako prostego systemu kopii zapasowej na dysk. Te migawki mogą znajdować się na innym sprzęcie niż ich bracia z COW, więc są przydatne w przypadku odporności na awarie.
Na migawkach Full vs COW.
Termin „migawka” nieco się zmienił na przestrzeni lat. W tym roku jestem prawie pewien, że oznacza to „kopiowanie oryginalnych danych metodą kopiowania przy zapisie przy użyciu przenoszenia bloków”. Zgodnie z tą definicją migawka „Pełna” przedstawiona powyżej nie jest tak naprawdę migawką, lecz replikacją. Niektórzy dostawcy pamięci masowej używali w przeszłości różnych definicji „migawki”, aby opisać różne operacje na poziomie bloków, które wykonują. Mylące są systemy, które używają migawek jako części procesu replikacji.
LVM wymaga wstępnego planowania. Zwykle go nie używam, ponieważ jest to także kolejna warstwa abstrakcji i jest rzadko dostępna, gdy jej potrzebuję. Istnieją jednak inne opcje klonowania na poziomie systemu plików (w systemie Linux) bez LVM. Aby to zrobić, możesz użyć Hot Copy z R1Soft . Jest to moduł jądra, ale umożliwia dodanie tej możliwości w locie.
źródło
Bardzo wyraźny problem: nie ma gwarancji, że migawki LVM mają spójne FS Jue, ponieważ LVM „nic” nie wie o FS, którym jest obciążony
Edytowane (patrz komentarze): - prawda, chyba że FS ma wsparcie dla
.freeze_fs
, w przeciwnym razie powinno być obsługiwane przez FS z wdziękiem.źródło
sync
tym migawka jest dokładną kopią już zamontowanego systemu plików; więc kiedy go montujesz, pojawia się jako „nie odmontowany całkowicie” (ponieważ nie został odmontowany) i musisz wykonać pewne działania naprawcze, zanim będzie spójny. Oczywiście jest to zwykle powtórka dziennika, a posync
niej powinna być powtórka pusta; więc nie ma niebezpieczeństwa utraty danych.xfs_freeze is intended to be used with volume managers and hardware RAID devices that support the creation of snapshots.
) - specjalną cechę dla migawek, czy LVM-2 wie o tym i już z niej korzysta? 3) Powiedz mi, gdzie w przestrzeni użytkownika ( sources.redhat.com/cgi-bin/cvsweb.cgi/LVM2/?cvsroot=lvm2 ) lub w źródłach jądra mogę udowodnić, że masz rację mówiąc nam, że LVM produkuje FS do synchronizacjalock a filesystem and force it into a consistent state
. Tak więc przynajmniej mogę powiedzieć, że prawdopodobnie się myliłem mówiąc „nie ma gwarancji posiadania spójnego FS”, ponieważ jest to kwestia obsługi metody „freeze_fs” w implementacji FS - niektóre FS z pewnością mają taką obsługę (EXT3, Reiser3, XFS), a niektóre nie (np. EXT2). Odpowiada również na drugie pytanie - prawdopodobnie zamrożenie XFS będzie automatycznie obsługiwane przez LVM.Jako uzupełnienie innych odpowiedzi. W migawkach FS można korzystać z funkcji FS, takich jak kompresja i deduplikacja we wszystkich migawkach.
źródło