Czas trwania okna kopii zapasowej zależy w dużej mierze od sposobu, w jaki system identyfikuje zmodyfikowane dane. Tradycyjne rozwiązania oparte na plikach korzystają z wywołań stat() i porównywania znaczników czasu (mtime), co wymaga przeskanowania drzewa systemu plików. Na woluminach z dużą liczbą plików taki skan metadanych może być czasochłonny.
StateWarden wykorzystuje Smart CBT (Changed Block Tracking), aby wyeliminować to ograniczenie. Dzięki integracji z natywnymi mechanizmami systemu operacyjnego hosta StateWarden śledzi modyfikacje na poziomie sektorów i identyfikuje zmienione dane bez pełnego skanu katalogów.
1. Jak działa Smart CBT
Silnik Smart CBT w StateWarden współpracuje z systemem operacyjnym hosta, monitorując zmiany na poziomie bloków.
- Windows (dziennik USN): agent analizuje natywny dziennik USN (Update Sequence Number) systemu NTFS, aby zidentyfikować zmodyfikowane pliki. Następnie mapuje te modyfikacje na fizyczne numery klastrów logicznych (LCN) za pomocą wywołania API
FSCTL_GET_RETRIEVAL_POINTERS. - Linux (dm-era / LVM): agent integruje się z mechanizmem
dm-era(device mapper) oraz LVM, aby przechwytywać operacje zapisu na poziomie urządzenia blokowego. Pozwala to śledzić zmienione sektory niezależnie od używanego systemu plików (np. ext4, xfs, btrfs).
Przyrostowe kopie zapasowe przetwarzają wyłącznie bloki zmienione od ostatniej migawki.
2. Włączanie CBT dla woluminu
Smart CBT wymaga niskopoziomowego dostępu do systemu i jest kontrolowany dla każdego woluminu osobno z poziomu panelu.
Krok 1: Włącz przełącznik CBT
- Przejdź do widoku Urządzenia i otwórz widok szczegółów docelowego urządzenia.
- Wybierz zakładkę Dyski i kopie.
- Znajdź wolumin i włącz jego przełącznik CBT. Włączenie CBT na krytycznej partycji systemowej wymaga potwierdzenia; zanim śledzenie stanie się aktywne, może być konieczne ponowne uruchomienie systemu.
Panel raportuje stan CBT każdego woluminu:
- CBT dostępne - wskaźnik wyświetlany na woluminach spełniających wymagania śledzenia zmian (raportowany przez aktualne wersje agenta).
- Tam, gdzie CBT nie może zostać włączone, podpowiedź przy przełączniku wyjaśnia przyczynę:
CBT niedostępne: konflikt z aktywnym śledzeniem na ...- inny śledzony obiekt pokrywa się z tym woluminem.LVM używa natywnych migawek. Warstwa CBT nie jest wymagana.- woluminy logiczne LVM są migawkowane natywnie, więc warstwa CBT nie jest stosowana.CBT całego dysku jest wyłączone dla dysków wielopartycyjnych. Uzbrój partycje indywidualnie.- włącz CBT na poszczególnych partycjach zamiast na całym dysku.CBT nieskuteczne na szyfrowanym woluminie.- surowe zaszyfrowane dane (BitLocker/LUKS) uniemożliwiają śledzenie zmian na poziomie bloków; takie woluminy są zabezpieczane jako pełne odczyty.CBT niedostępne na tym wolumenie
Krok 2: Skan bazowy (pełny skan)
Przy pierwszym włączeniu CBT StateWarden musi ustanowić punkt odniesienia. Najbliższa zaplanowana kopia zapasowa będzie wymuszonym pełnym skanem. Agent wyznacza skróty całego woluminu i przesyła niezbędne porcje danych do warstwy danych (Driad), tworząc kryptograficzny punkt odniesienia.
Krok 3: Skany przyrostowe
Kolejne kopie zapasowe będą wykonywane jako przyrostowe skany CBT.
- Agent odpytuje system operacyjny (dziennik USN lub dm-era) o listę bloków zmodyfikowanych od ostatniej migawki.
- Agent wyznacza skróty wyłącznie zmodyfikowanych bloków.
- Agent przesyła nowe, unikalne porcje danych do węzła pamięci.
Proces ten skraca całkowity czas potrzebny do wykonania operacji kopii zapasowej.
3. Wyłączanie CBT
CBT można wyłączyć dla wybranego woluminu na potrzeby prac konserwacyjnych, zmiany rozmiaru partycji lub diagnostyki.
- Otwórz widok szczegółów urządzenia i wybierz zakładkę Dyski i kopie.
- Wyłącz przełącznik CBT danego woluminu i potwierdź okno dialogowe.
Uwaga: wyłączenie CBT niszczy bieżące metadane śledzenia (w systemie Linux - metadane śledzenia dm-era). Kolejna kopia zapasowa zostanie domyślnie wykonana jako pełny skan w celu odbudowania punktu odniesienia.
4. Rozwiązywanie problemów z CBT
Jeśli CBT napotka problemy operacyjne, StateWarden automatycznie wróci do standardowego skanowania systemu plików.
- Odmowa dostępu (Windows): agent wymaga uprawnień administratora, aby uzyskać dostęp do dziennika USN i ścieżek
\\.\PhysicalDrive. Upewnij się, że usługa StateWarden dysponuje odpowiednimi uprawnieniami. - Brakujące zależności (Linux): CBT w systemie Linux wymaga pakietów
dmsetupithin-provisioning-tools. Jeśli ich brakuje, agent zapisuje ostrzeżenie w logu i wraca do standardowego skanowania systemu plików. Panel odzwierciedli ten stan awaryjny. - Aktualizacje systemu: poważne aktualizacje jądra lub odtworzenia bare-metal mogą unieważnić sekwencję śledzenia bloków, co wywoła automatyczny powrót do pełnego skanu przy następnym wykonaniu.