Czym jest funkcja VMware Changed Block Tracking (CBT) i jak działa?
Firma VMware udostępnia interfejsy API, które upraszczają ochronę danych w korporacyjnych środowiskach wirtualnych dzięki funkcjom umożliwiającym tworzenie kopii zapasowych 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 VMware do tworzenia kopii zapasowej, większość z nich opiera się na interfejsach API firmy VMware i wykorzystuje technologię śledzenia zmienionych bloków (CBT) w celu ułatwienia i przyspieszenia tworzenia przyrostowych kopii zapasowych maszyn wirtualnych. W tym wpisie na blogu wyjaśniamy, na czym polega funkcja Changed Block Tracking, w tym jej zasadę działania i praktyczne zastosowania.
Czym jest funkcja Changed Block Tracking?
Changed Block Tracking (CBT) to natywna funkcja VMware, która rejestruje zmienione bloki w pliku śledzenia. CBT stanowi część frameworku VMware vSphere Storage APIs – Data Protection, po raz pierwszy wprowadzonego w wersji 4.0, który pozwala aplikacjom innych producentów do ochrony danych wykorzystywać CBT w celu wykonywania bardziej wydajnych kopii zapasowych i replikacji.
Funkcja CBT działa na poziomie stosu pamięci masowej ESXi i umożliwia rozwiązaniom do tworzenia kopii zapasowych innych producentów wykonanie kopii zapasowej wyłącznie tych bloków danych, które uległy zmianie od ostatniej kopii zapasowej, czyli wykonanie kopii przyrostowej, lub bloków aktualnie używanych zamiast pełnej maszyny wirtualnej. Pozwala to znacznie zmniejszyć ilość danych kopii zapasowych, zwłaszcza w dużych środowiskach z setkami maszyn wirtualnych, oraz przyspieszyć proces wykonania kopii zapasowej.
Technologia VMware CBT znacznie skraca czas potrzebny oprogramowaniu do wykonania kopii zapasowej na wykonanie kopii przyrostowej, ponieważ śledzi zmiany w specjalnym pliku dziennika. Rozwiązania do tworzenia kopii zapasowych innych producentów powodują większe obciążenie procesora na serwerze ESXi, jeśli śledzą zmiany bez wykorzystania CBT, stosując inne metody. W ten sposób CBT optymalizuje również wydajność serwera ESXi podczas tworzenia kopii zapasowych danych.
Technologia CBT jest również wykorzystywana 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 funkcja śledzenia zmienionych bloków (CBT) w VMware
Funkcja CBT działa poprzez porównanie identyfikatorów ostatniego i bieżącego zestawu zmian oraz zlokalizowanie sektorów dysku, które uległy zmianie między tymi identyfikatorami. Funkcja CBT firmy VMware identyfikuje również wszystkie bloki systemu plików maszyn wirtualnych (VMFS) na dysku wirtualnym, które są w użyciu. Śledzenie jest wykonywane przez sam hiperwizor i odbywa się poza maszyną wirtualną.
Wymagania dotyczące funkcji CBT
Wymagania dotyczące funkcji śledzenia zmienionych bloków (CBT) obejmują:
- VMware vSphere (ESXi 4.0 lub nowszy)
- Sprzęt wirtualny w wersji 7 lub nowszej
- Lokalne Magazyny danych VMFS, magazyny danych NFS lub iSCSI
- Przydzielanie zasobów w trybie „thick” lub „thin”
- Brak mapowań dysków RAW. Funkcja Raw Device Mapping (RDM) w trybie zgodności fizycznej nie jest obsługiwana.
- Maszyna wirtualna nie może mieć migawki aby można było rozpocząć korzystanie z funkcji VMware CBT
Jak włączyć śledzenie zmienionych bloków (CBT)
Domyślnie funkcja CBT jest wyłączona, ponieważ zużywa niewielką ilość czasu procesora hosta. Jednak w przypadku rozwiązań do tworzenia kopii zapasowych innych producentów, takich jak NAKIVO Backup & Replication, funkcja CBT musi być włączona, aby produkt mógł wykonywać szybkie i niezawodne kopie przyrostowe.
Funkcję CBT włącza się w zaawansowanych ustawieniach konfiguracyjnych maszyny wirtualnej:
- Otwórz ustawienia maszyny wirtualnej. Można to zrobić w kliencie VMware vSphere, klikając prawym przyciskiem myszy maszynę wirtualną i wybierając Edytuj ustawienia .
- W oknie Edytuj ustawienia kliknij kartę Opcje maszyny wirtualnej .
- Kliknij kategorię opcji Zaawansowane , aby rozwinąć ustawienia, a następnie kliknij Edytuj konfigurację w wierszu Parametry konfiguracyjne . Otworzy się okno Parametry konfiguracyjne dla maszyny wirtualnej, zawierające wiele wierszy, z których każdy zawiera nazwę parametru i jego wartość.
- Aktywacja funkcji CBT jest określana przez następujący wiersz w pliku konfiguracyjnym .vmx :
ctkEnabled = "TRUE"
Ponadto dla każdego dysku, na którym włączono funkcję CBT, zostanie dodany wpis:
scsix:x.ctkEnabled = "TRUE"
Parametry te należy ustawić, aby włączyć funkcję śledzenia zmienionych bloków (CBT).
Uwaga : Aby wyłączyć funkcję CBT, należy zmienić wartość TRUE na FALSE w wierszach ctkEnabled i scsi0:0.ctkEnabled (należy użyć odpowiedniego numeru urządzenia SCSI).
Gdy w maszynie wirtualnej włączona jest funkcja CBT, jądro VMkernel tworzy w katalogu maszyny wirtualnej dodatkowy plik o nazwie -ctk.vmdk , 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 w okresie od momentu określonego przez identyfikator ostatniego zestawu zmian do aktualnego stanu. Rozmiar utworzonego pliku CTK pozostaje niezmienny i nie wzrasta powyżej pierwotnego rozmiaru, chyba że zwiększony zostanie rozmiar dysku wirtualnego. Rozmiar pliku CTK wynosi około 5 MB na każde 10 GB rozmiaru dysku maszyny wirtualnej.
Większość rozwiązań do tworzenia kopii zapasowych wykorzystuje metodę VMware SDK do programowego włączenia funkcji CBT dla maszyny wirtualnej oraz stosuje cykl stun/unstun, który obejmuje włączenie lub wyłączenie zasilania, zawieszenie/wznowienie działania albo utworzenie/usunięcie migawki. Podczas cyklu „stun/unstun” do stosu pamięci masowej VMware danej maszyny wirtualnej wstawiany jest specjalny filtr śledzenia zmian, który umożliwia uruchomienie funkcji CBT na tej maszynie wirtualnej.
Jak sprawdzić, czy funkcja CBT jest włączona
Jeśli nie włączyłeś funkcji CBT ręcznie, możesz sprawdzić, czy oprogramowanie do tworzenia kopii zapasowych włączyło tę funkcję w celu wykonania kopii zapasowej maszyny wirtualnej. Kroki sprawdzania ustawień CBT są podobne do kroków włączania tej funkcji. W tym miejscu omówimy jednak nieco inną metodę z wykorzystaniem .vmx pliku konfiguracyjnego.
Aby sprawdzić, czy funkcja CBT jest włączona dla maszyny wirtualnej, wykonaj następujące czynności:
- Otwórz klient VMware vSphere .
- Znajdź odpowiednią maszynę wirtualną i upewnij się, że jest wyłączona.
- Przejdź do folderu maszyn wirtualnych w magazynie danych.
- Znajdź plik konfiguracyjny maszyny wirtualnej (.vmx ).
ctkEnabled . Wartość tego wpisu musi wynosić „TRUE”. Jeśli tak nie jest, należy zmienić wartość na „TRUE”, aby włączyć funkcję CBT dla maszyny wirtualnej.Po włączeniu funkcji CBT do każdego dysku wirtualnego dołączany jest plik xxx-ctk.vmdk , gdzie „xxx” to nazwa dysku wirtualnego. Obecność tych plików CTK wskazuje na prawidłowe działanie funkcji CBT.
W niektórych przypadkach, takich jak nieprawidłowe wyłączenie hosta lub awaria zasilania, funkcja CBT może utracić ślad zmian podczas gdy maszyna wirtualna jest włączona. Może to spowodować zresetowanie funkcji CBT, co oznacza, że wszystkie wcześniej zebrane dane CBT zostaną usunięte, a nowe dane będą zbierane od momentu zresetowania. Jeśli po zresetowaniu funkcji CBT uruchomisz tworzenie kopii zapasowej maszyny wirtualnej, zostanie utworzona pełna kopia zapasowa. Po utworzeniu 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 środowisku VMware vSphere. Aby przyspieszyć tworzenie kopii przyrostowych za pomocą rozwiązania NAKIVO, funkcja CBT jest domyślnie włączona w każdym nowym zadaniu tworzenia 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 CBT nie jest obsługiwane przez maszynę wirtualną : Możliwa przyczyna – wersja hosta ESXi jest niższa niż v4.1 lub wersja sprzętu wirtualnego jest niższa niż v7.
- Dane VMware CBT nie zostały dostarczone :
Przyjrzyjmy się bliżej tym działaniom w przypadku błędu :
- Przejście na metodę własną : Zostanie zastosowana własna metoda śledzenia zmian NAKIVO Backup & Replication, która jest wolniejsza niż CBT firmy VMware i zużywa więcej zasobów hosta ESXi.
- Zresetuj CBT : W przypadku niepowodzenia CBT zostanie zresetowane.
- Przerwanie przetwarzania maszyny wirtualnej : Przetwarzanie maszyny wirtualnej zostanie zatrzymane.
Ponadto można określić, kiedy ma zostać zastosowana wybrana W przypadku błędu akcja:
- Natychmiast : Akcja w przypadku błędu jest stosowana natychmiast (z wyjątkiem akcji „Resetuj CBT”).
- Przy następnej próbie : Akcja w przypadku błędu jest stosowana przy następnej próbie.
- Przy ostatniej próbie : Akcja w przypadku błędu jest stosowana przy ostatniej próbie.
Można również zaznaczyć pole wyboru „Dodatkowa weryfikacja bloków zmienionych dostarczonych przez CBT” . W takim przypadku dane dostarczone przez VMware CBT zostaną dodatkowo zweryfikowane w oparciu o autorski system śledzenia zmian firmy NAKIVO Backup & Replication. Takie podejście jest bardziej niezawodne, ale może być wolniejsze niż standardowe CBT firmy VMware.
Wnioski
Funkcja śledzenia zmienionych bloków (CBT) firmy VMware to potężne narzędzie, które 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.
CBT firmy VMware 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.



