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 nośniku 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 tworzenia 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 wydanej po raz pierwszy w wersji 4.0, która umożliwia aplikacjom innych producentów do ochrony danych wykorzystanie CBT w celu przeprowadzania bardziej wydajnych operacji wykonywania 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 wyłącznie tych bloków danych, które uległy zmianie od ostatniej kopii zapasowej, czyli tworzenie kopii przyrostowych, lub bloków aktualnie używanych zamiast pełnej 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 producentów powodują większe obciążenie Procesora na serwerze ESXi, jeśli śledzą zmiany bez korzystania z 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 pomię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 w trybie „thick” lub „thin”
- 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 zapasowej innych firm, takich jak NAKIVO Backup & Replication, CBT musi być włączone, aby produkt mógł wykonywać szybką i niezawodną wydajność przyrostową w tworzeniu kopii zapasowej.
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 wybranie opcjiEdit Settings. - W oknie
Edit settingskliknij kartęVM Options. - Kliknij kategorię opcji
Advanced, aby rozwinąć ustawienia, a następnie kliknijEdit Configurationw wierszuConfiguration Parameters. Otworzy się okno „Configuration Parameters” dla maszyny wirtualnej, zawierające wiele wierszy, z których każdy zawiera nazwę parametru i jego wartość. CBTAktywacja tej funkcji jest określona przez następujący wiersz w konfiguracji.vmx:
ctkEnabled = "TRUE"
Ponadto dla każdego dysku, na którym CBT jest włączone, 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 w maszynie wirtualnej włączona jest opcja CBT , funkcja 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 dyskiemvmdk i zawiera listę bloków zmienionych na tym dysku wirtualnym między określonym czasem wskazanym w ostatnim changeset ID a stanem aktualnym. Rozmiar tworzonego pliku CTK pozostaje niezmienny i nie wzrasta powyżej pierwotnego rozmiaru, chyba że zwiększony zostanie rozmiar dysku wirtualnego. Rozmiar pliku CTK wynosi w przybliżeniu 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 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 ustawień CBT są podobne do kroków włączania tej funkcji. Tutaj jednak omówimy nieco inną metodę z wykorzystaniem pliku konfiguracyjnego .vmx
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ć funkcję CBT dla maszyny wirtualnej.Po włączeniu funkcji 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 gdy maszyna wirtualna jest włączona. Może to spowodować zresetowanie CBT , co oznacza, że wszystkie wcześniej zebrane dane CBT zostaną wyczyszczone, a nowe dane zaczną być gromadzone od momentu zresetowania. Jeśli uruchomisz tworzenie kopii zapasowej maszyny wirtualnej po zresetowaniu CBT , zostanie utworzona pełna kopia zapasowa. Po utworzeniu pełnej kopii zapasowej i śledzeniu nowych zmian można ponownie wykonywać kopie przyrostowe.
Korzystanie z funkcji VMware CBT w NAKIVO Backup & Replication
NAKIVO Backup & Replication to uniwersalne rozwiązanie do ochrony danych, które umożliwia tworzenie 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 CBTnie jest obsługiwane przez maszynę wirtualną : Możliwa przyczyna – wersja hosta ESXi jest niższa niż v4.1 lubVirtual Hardwarejest niższa niż v7.
VMware CBTdane nie zostały dostarczone : Możliwa przyczyna – przerwa w zasilaniu hosta ESXi iCBTutrata śledzenia przyrostowych zmian w maszynie wirtualnej.
W dodatkowej 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 zastosowana 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 ma zostać zastosowane 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: Akcja w przypadku błędu jest stosowana przy następnej próbie.On the last retry: Akcja w przypadku błędu jest stosowana przy ostatniej próbie.
Można również zaznaczyć pole wyboru Double-check changed blocks provided by CBT . W takim przypadku dane dostarczone przez VMware CBT zostaną dodatkowo sprawdzone w oparciu o autorski system śledzenia zmian firmy NAKIVO Backup & Replication. To podejście jest bardziej niezawodne, ale może być wolniejsze niż standardowe VMware CBT.
Wniosek
VMware Changed Block Tracking to zaawansowana funkcja, która sprawia, że proces tworzenia kopii zapasowej 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.



