Czym jest funkcja śledzenia zmienionych bloków (CBT) firmy VMware i jak działa?
Firma VMware udostępnia interfejsy API, które upraszczają ochronę danych w wirtualnych środowiskach korporacyjnych dzięki funkcjom umożliwiającym wykonanie kopii zapasowej bez użycia agentów oraz zwiększającym wydajność przyrostowych kopii zapasowych maszyn wirtualnych. Kopie przyrostowe pozwalają zaoszczędzić znaczną ilość miejsca na dysku w porównaniu z kopiami pełnymi
Jeśli chodzi o nowoczesne rozwiązania Rozwiązania VMware do tworzenia kopii zapasowej, większość z nich opiera się na interfejsach API firmy VMware i wykorzystuje technologię Changed Block Tracking (CBT) w celu ułatwienia i przyspieszenia wykonania przyrostowych kopii zapasowych maszyn wirtualnych. W tym wpisie na blogu wyjaśniamy Changed Block Tracking, w tym zasadę działania i praktyczne zastosowania.
Czym jest Changed Block Tracking?
Changed Block Tracking (CBT) to natywna funkcja VMware, która rejestruje zmienione bloki w pliku śledzenia. CBT stanowi część VMware vSphere Storage APIs – Data Protection – struktury wprowadzonej po raz pierwszy w wersji 4.0, która umożliwia aplikacjom innych producentów do ochrony danych wykorzystanie CBT w celu wykonywania bardziej wydajnych kopii zapasowych i replikacji.
CBT działa na poziomie ESXi Storage Stack i pozwala rozwiązaniom innych producentów do tworzenia kopii zapasowych na wykonywanie kopii tylko tych bloków danych, które uległy zmianie od ostatniej kopii zapasowej, czyli tworzenie kopii przyrostowych, lub bloków aktualnie używanych zamiast całej maszyny wirtualnej. Pozwala to znacznie zmniejszyć ilość danych do wykonania kopii zapasowej, zwłaszcza w dużych środowiskach z setkami maszyn wirtualnych, oraz przyspieszyć proces wykonania kopii zapasowej.
VMware CBT znacznie skraca czas potrzebny oprogramowaniu do wykonania kopii przyrostowych, ponieważ śledzi zmiany w specjalnym pliku dziennika. Rozwiązania do wykonania kopii zapasowych innych firm powodują większe obciążenie Procesora na serwerze ESXi, jeśli śledzą zmiany bez CBT przy użyciu innych metod. W ten sposób CBT optymalizuje również wydajność serwera ESXi podczas wykonania kopii zapasowych danych.
CBT jest również wykorzystywany przez proces VMware Storage vMotion , który umożliwia przenoszenie plików dyskowych maszyn wirtualnych z jednego magazynu danych do drugiego podczas ich działania.
Jak działa VMware Changed Block Tracking
Funkcja CBT działa poprzez porównanie ostatniego i bieżącego changeset IDs oraz znalezienie sektorów dyskowych, które uległy zmianie między tymi changeset IDs. VMware CBT identyfikuje również wszystkie Virtual Machine File System (VMFS) bloki na dysku wirtualnym, które są w użyciu. Śledzenie jest wykonywane przez sam hiperwizor i odbywa się poza maszyną wirtualną.
CBT Wymagania
Wymagania dotyczące Changed Block Tracking obejmują:
- VMware vSphere (ESXi 4.0 lub nowszy)
- Sprzęt wirtualny w wersji 7 lub nowszej
- Lokalne {24} magazyny danych,
NFSlubiSCSImagazyny danych - Przydzielanie zasobów z góry lub na bieżąco
- Brak
RAW disk mappings.Raw Device Mapping (RDM)wPhysical Compatibility Modenie jest obsługiwane. - Maszyna wirtualna nie może mieć migawki aby rozpocząć korzystanie z
VMware CBT
Jak włączyć Changed Block Tracking
Domyślnie CBT jest wyłączone, ponieważ zużywa niewielką ilość czasu Procesora hosta. Jednak w przypadku rozwiązań do tworzenia kopii zapasowych innych firm, takich jak NAKIVO Backup & Replication, CBT musi być włączona, aby produkt mógł wykonywać szybkie i niezawodne przyrostowe tworzenie kopii zapasowych.
CBT włącza się w zaawansowanych ustawieniach konfiguracyjnych maszyny wirtualnej:
- Otwórz ustawienia maszyny wirtualnej. Można to zrobić w
VMware vSphere Clientpoprzez kliknięcie prawym przyciskiem myszy na maszynę wirtualną i wybranieEdit Settings. - W oknie
Edit settingskliknij kartęVM Options. - Kliknij kategorię opcji
Advanced, aby rozwinąć ustawienia, a następnie kliknijEdit Configurationw wierszuConfiguration Parameters. Otworzy się oknoConfiguration Parametersdla maszyny wirtualnej, zawierające wiele wierszy, z których każdy zawiera nazwę parametru i jego wartość. CBTAktywacja jest określana przez następujący wiersz w konfiguracji.vmx:
ctkEnabled = "TRUE"
Ponadto dla każdego dysku, na którym włączono CBT , zostanie dodany wpis:
scsix:x.ctkEnabled = "TRUE"
Parametry te należy ustawić, aby włączyć Changed Block Tracking.
Uwaga : Aby wyłączyć CBT, należy zmienić TRUE na FALSE w wierszach ctkEnabled i scsi0:0.ctkEnabled (należy użyć odpowiedniego numeru urządzenia SCSI ).
Gdy CBT jest włączone na maszynie wirtualnej, VMkernel tworzy dodatkowy plik o nazwie -ctk.vmdk w katalogu maszyny wirtualnej, który służy do przechowywania mapowania bloków dysku wirtualnego. Plik ten jest powiązany z odpowiednim dyskiem .vmdk i zawiera listę bloków zmienionych na tym dysku wirtualnym między określonym czasem zidentyfikowanym w ostatnim changeset ID a stanem aktualnym. Rozmiar tworzonego pliku CTK pozostaje taki sam i nie wzrasta powyżej pierwotnego rozmiaru, chyba że rozmiar dysku wirtualnego zostanie zwiększony. Rozmiar pliku CTK wynosi około 5 MB na każde 10 GB rozmiaru dysku maszyny wirtualnej.
Większość rozwiązań do wykonania kopii zapasowej wykorzystuje metodę VMware SDK do programowego włączenia funkcji CBT dla maszyny wirtualnej oraz używa stun/unstun cycle, co obejmuje włączenie lub wyłączenie zasilania, zawieszenie/wznowienie działania lub utworzenie/usunięcie migawki. Podczas operacji stun/unstun cycledo VMware storage stack dla danej maszyny wirtualnej wstawiany jest specjalny filtr śledzenia zmian, który umożliwia CBT utworzenie instancji na maszynie wirtualnej.
Jak sprawdzić, czy CBT jest włączone
W przypadkach, gdy nie włączyłeś CBT ręcznie, możesz sprawdzić, czy oprogramowanie do tworzenia kopii zapasowych włączyło CBT w celu wykonania kopii zapasowej maszyny wirtualnej. Kroki sprawdzania CBT ustawień są podobne do kroków włączania tej funkcji. Tutaj jednak omówimy nieco inną metodę wykorzystującą .vmx plik konfiguracyjny.
Aby sprawdzić, czy CBT jest włączone dla maszyny wirtualnej, wykonaj następujące czynności:
- Otwórz
VMware vSphere Client. - Znajdź potrzebną maszynę wirtualną i upewnij się, że jest wyłączona.
- Przejdź do folderu maszyn wirtualnych w magazynie danych.
- Znajdź plik konfiguracyjny maszyny wirtualnej (.
vmx).
vmx powinien zawierać wpis ctkEnabled . Wartość tego wpisu musi wynosić "TRUE". Jeśli tak nie jest, zmień wartość na "TRUE" , aby włączyć CBT dla maszyny wirtualnej.Po włączeniu CBTkażdemu dyskowi wirtualnemu towarzyszy plik xxx-ctk.vmdk , gdzie "xxx" to nazwa dysku wirtualnego. Jeśli widzisz te pliki CTK , oznacza to, że funkcja CBT działa poprawnie.
W niektórych przypadkach, takich jak nieprawidłowe wyłączenie hosta lub awaria zasilania, CBT może utracić ślad zmian podczas pracy maszyny wirtualnej. Może to spowodować zresetowanie CBT , co oznacza, że wszystkie wcześniej zebrane dane CBT zostaną skasowane, a nowe dane zaczną być gromadzone od momentu zresetowania. Jeśli po zresetowaniu CBT uruchomisz tworzenie kopii zapasowej maszyny wirtualnej, zostanie wykonana pełna kopia zapasowa. Po wykonaniu pełnej kopii zapasowej i śledzeniu nowych zmian można ponownie wykonać kopie przyrostowe.
Korzystanie z VMware CBT w NAKIVO Backup & Replication
NAKIVO Backup & Replication to uniwersalne rozwiązanie do ochrony danych, które umożliwia wykonywanie kopii zapasowych, odzyskiwanie i replikację maszyn wirtualnych w VMware vSphere. Aby przyspieszyć wykonywanie kopii przyrostowej przy użyciu rozwiązania NAKIVO, CBT jest domyślnie włączone w każdym nowym zadaniu wykonywania kopii zapasowej.
Istnieje kilka przypadków użycia, w których NAKIVO Backup & Replication, podobnie jak każde inne rozwiązanie do tworzenia kopii zapasowych vSphere, nie może korzystać z VMware CBT:
VMware CBTnie jest obsługiwane przez maszynę wirtualną : Możliwa przyczyna – host ESXi ma wersję niższą niż v4.1 lubVirtual Hardwarewersja jest niższa niż v7.
VMware CBTdane nie zostały dostarczone : Możliwa przyczyna – awaria zasilania hosta ESXi iCBTutrata śledzenia przyrostowych zmian w maszynie wirtualnej.
W dodatkowym sekcji Śledzenie zmian settingsmożna znaleźć działania, które rozwiązanie powinno podjąć w przypadku napotkania błędu podczas korzystania z CBT.
Przyjrzyjmy się bliżej tym On error działaniom:
Switch to proprietary method: Zostanie użyta zastrzeżona metoda śledzenia zmian NAKIVO Backup & Replication, która jest wolniejsza niżVMware CBTi zużywa więcej zasobów hosta ESXi.Reset CBT:CBTzostanie zresetowany dlaCBTw przypadku niepowodzeniaCBT.Fail VM processing: Przetwarzanie maszyny wirtualnej zostanie zatrzymane.
Można również określić, kiedy zastosować wybrane On error działanie:
Immediately: Działanie w przypadku błędu jest stosowane natychmiast (z wyjątkiem działaniaReset CBT).On the next retry: Działanie w przypadku błędu jest stosowane przy następnej próbie.On the last retry: Działanie w przypadku błędu jest stosowane przy ostatniej próbie.
Można również zaznaczyć pole wyboru Double-check changed blocks provided by CBT . W tym przypadku dane dostarczone przez VMware CBT zostaną dodatkowo sprawdzone w oparciu o własne śledzenie zmian NAKIVO Backup & Replication. To podejście jest bardziej niezawodne, ale może być wolniejsze niż zwykłe VMware CBT.
Podsumowanie
VMware Changed Block Tracking to zaawansowana funkcja, która sprawia, że proces tworzenia kopii zapasowych jest szybszy i niezawodny pod każdym względem. Technologia ta została dokładnie przetestowana i jest szeroko stosowana w natywnych rozwiązaniach VMware, takich jak Storage vMotion.
VMware CBT stanowi integralną część nowoczesnych rozwiązań do tworzenia kopii zapasowych, takich jak NAKIVO Backup & Replication, które zapewniają wydajne tworzenie kopii zapasowych środowisk VMware bez dodatkowego obciążania hostów.



