GLOBALNA DEDUPLIKACJA BLOKOWA W ŚRODOWISKU BACULA EFEKTYWNE ZARZĄDZENIE KOPIAMI BEZPIECZEŃSTWA Radosław Korzeniewski Solution Architect email: radekk@inteos.pl http://www.inteos.pl/
DEDUPLIKACJA przed deduplikacją po 2
DEDUPLIKACJA Specjalizowana technika kompresji danych realizująca eliminowanie zduplikowanych kopii powtarzających się danych redukcja kosztów (danych transferowanych, danych przechowywanych) Deduplikacja na źródle danych zestaw danych klienta redukcja danych transmitowanych redukcja danych przechowywanych Deduplikacja na celu danych zestaw danych serwera backupowego redukcja danych przechowywanych brak redukcji danych transmitowanych przed deduplikacją po Globalna deduplikacja = N x Źródło danych + M x Cel danych 3
ZAŁOŻENIA PROJEKTOWE 4
ZAŁOŻENIA PROJEKTOWE Backup blokowy pliki są dzielone na oddzielne kawałki danych podlegające deduplikacji Weryfikacja powtarzalności danych z użyciem silnej kryptograficznej funkcji skrótu deduplikacja bazująca wyłącznie na kryptograficznej funkcji skrótu Globalna deduplikacja danych z jednym lub wieloma Storage Daemon współdzielenie danych replikacja danych Szybkie przeszukiwanie danych z użyciem hash database Przechowywanie danych wyłącznie na dyskach Backup ze zmiennym blokiem deduplikacja i przechowywanie dowolnego rozmiaru bloku 5
PROCES DEDUPLIKACJI DANYCH 6
PROCES DEDUPLIKACJI DANYCH Deduplikacja na Żródle 7
PROCES DEDUPLIKACJI DANYCH File Daemon Compute SHA2 Digest QueryRef DSE queryref Storage Daemon Not exist Save data write Deduplication Storage Engine 1011110011001100 1001100110001101 1kB - 64kB 1011110011001100 Deduplikacja na Żródle File to backup 8
PROCES DEDUPLIKACJI DANYCH File Daemon Compute SHA2 Digest Digest Cache Exist ref Storage Daemon Not exist Deduplication Storage Engine 1011110011001100 1001100110001101 1kB - 64kB 1011110011001100 QueryRef DSE Not exist Save data queryref write File to backup 9
FD queryref write PROCES DEDUPLIKACJI DANYCH Storage Daemon Deduplication Storage Engine Block Digest Storage stały rozmiar bloku adresowany skrótem wiele instancji różne rozmiary bloku predefiniowane automatycznie generowane 10
PROCES DEDUPLIKACJI DANYCH FD backup Storage Daemon Deduplication Storage Engine QueryRef / Save Data Compute SHA2 Digest Deduplikacja na Celu 11
PROCES GLOBALNEJ DEDUPLIKACJI DANYCH FD queryref Storage Daemon Storage Daemon write Deduplication Storage Engine queryref Deduplication Storage Engine 12
PROCES GLOBALNEJ DEDUPLIKACJI DANYCH FD queryref Storage Daemon queryref Storage Daemon write Deduplication Storage Engine queryref Storage Daemon queryref Storage Daemon 13
PROCES GLOBALNEJ DEDUPLIKACJI DANYCH FD queryref Storage Daemon queryref Storage Daemon write Deduplication Storage Engine queryref Storage Daemon Remote Digest Cache queryref Storage Daemon 14
PROCES REPLIKACJI SYNCHRONICZNEJ FD queryref Storage Daemon Storage Daemon write Deduplication Storage Engine write Deduplication Storage Engine Remote Digest Cache 15
ODTWARZANIE DANYCH File Daemon read Storage Daemon read Storage Daemon Metadata to Block Data Write metadata Deduplication Storage Engine read Storage Daemon 1011110011001100 Remote Digest Cache read Storage Daemon 16
CZĘŚCIOWE ODTWARZANIE File Daemon read Storage Daemon Metadata to Block Data Write Digest Cache metadata Deduplication Storage Engine 1011110011001100 1001100110001101 17
KONFIGURACJA ZADAŃ DEDUPLIKACYJNYCH 18
KONFIGURACJA ZADAŃ DEDUPLIKACYJNYCH Deduplikacja na źródle Włączana przez FileSet Deduplication = Yes wymaga DSE Enable po stronie SD Częściowe zadania deduplikacyjne Pierwszeństwo względem deduplikacji na celu FileSet { Name = Example Include { Options { Deduplication = Yes Signature = MD5 } File = / File = /opt } Exclude { File = /proc File = /tmp } } 19
KONFIGURACJA ZADAŃ DEDUPLIKACYJNYCH Deduplikacja na celu Włączana w zasobie Device Deduplication = Yes wymaga DSE Enable w sekcji Storage Daemon Standardowe zadania backupowe i dowolni klienci backupowi Device { Name = DSE0 Media Type = DSE Archive Device = /archive Deduplication = Yes LabelMedia = yes Random Access = Yes AutomaticMount = yes RemovableMedia = no AlwaysOpen = no } 20
KONFIGURACJA ZADAŃ DEDUPLIKACYJNYCH Storage Daemon (DSE) DSE Enable = Yes DSE Archive Directory Zasób Peer (opcjonalnie) Read only Shared Replication wymaga Director.Peer=yes dla współpracujących SD Storage { Name = <Our_SD_Name> (...) DSE Enable = Yes DSE Archive Dir = <path> } Peer { Name = <Peer_Name> type = <read only shared replication> address = <address_of_peer> port = <port_number> Password = <Password> } 21
KONFIGURACJA ZADAŃ DEDUPLIKACYJNYCH Storage Daemon (Peer) Peer także wymaga DSE Enable oraz DSE Archive Dir Director.Name=Storage.Name Director.Password=Peer.Password Wiele Director.Peer=Yes Relacja N=>M 1-Hop Storage { Name = <Other_SD_Name> (...) DSE Enable = Yes DSE Archive Dir = <path> } Director { Name = <Peer_Name> Password = <Password> Peer = Yes } 22
PRZYKŁADY ZADAŃ DEDUPLIKACYJNYCH 23
PRZYKŁADY ZADAŃ DEDUPLIKACYJNYCH Status File Daemon - deduplikacja na źródle danych statystyka zapisu strumienia backupowego na Storage Daemon statystyka odczytu danych (przetwarzania/deduplikacji) na File Daemon JobId 1843 Job SaturnVMJob.2013-10-20_13.04.58_07 is running. Full Backup Job started: 20-Oct-13 13:05 Saved: Files=15 Bytes=63,495,432 AveBytes/sec=58,092 LastBytes/sec=53,314 Errors=0 Bwlimit=0 Examined: Files=15 Bytes=80,023,689,789 Bytes/sec=73,214,720 Processing file: /vmimages/backup/windows-ad2.img SDReadSeqNo=5 fd=6 24
PRZYKŁADY ZADAŃ DEDUPLIKACYJNYCH Status Storage - Deduplication Storage Engine współczynnik deduplikacji rozmiar zajmowanej przestrzeni dyskowej rozmiar zapisanych danych przed deduplikacją rozmiar metadanych obsługujących archiwum Deduplication Storage Engine = Enabled Archive Dir on: /backup/dsearchive Deduplication Ratio=94.8% (19.37:1) Storage size Bytes=926,688,427,008 Saved size Bytes=17,946,991,915,008 Metadata size Bytes=2,169,589,568 25
PRZYKŁADY ZADAŃ DEDUPLIKACYJNYCH Build OS: x86_64-unknown-linux-gnu debian 7.1 JobId: 1843 Job: SaturnVMJob.2013-10-20_13.04.58_07 Backup Level: Full Client: "saturn-dedup" 6.5.1 (21Jul13) x86_64-unknown-linux-gnu,debian,7.1 FileSet: "FSVMimages" 2013-08-30 20:00:00 Pool: "DSEPool" (From Job resource) Catalog: "BackupCatalog" (From Client resource) Storage: "sun-dedup-sd" (From Job resource) Scheduled time: 20-Oct-2013 13:04:58 Start time: 20-Oct-2013 13:05:00 End time: 20-Oct-2013 14:35:56 Elapsed time: 1 hour 30 mins 56 secs Priority: 10 FD Files Written: 141 SD Files Written: 141 FD Bytes Written: 664,693,994 (664.6 MB) SD Bytes Written: 664,711,449 (664.7 MB) Rate: 121.8 KB/s Deduplication: 99.8 % Software Compression: None VSS: no Encryption: no Accurate: no Volume name(s): dsevol0806 Volume Session Id: 11 Volume Session Time: 1382165769 Last Volume Bytes: 405,560,559 (405.5 MB) Non-fatal FD errors: 0 SD Errors: 0 FD termination status: OK SD termination status: OK Termination: Backup OK estimate files=141 bytes=415,075,315,404 26
OGRANICZENIA DEDUPLIKACJI 130 27
DEDUPLICATION LIMITATION Deduplikacja nieprzyjaznych danych Dane szyfrowane Dane losowe Niekontrolowany wzrost danych dane nieprzyjazne dla deduplikacji Pojedyncza instancja danych (SIS) = Pojedynczy Punkt Awarii (SPoF) replikacja danych Moc obliczeniowa CPU zarówno dla źródła jak i celu danych Deduplikacja może być powolna 130 globalna deduplikacja z dużą ilością serwerów 28
PODSUMOWANIE 29
PODSUMOWANIE Deduplikacja jest fajna! Współczynnik deduplikacji -1:10 Full backup nie jest już problemem Rozwiązanie będzie dostępne od najnowszej wersji BEE Plany na przyszłość optymalizacja wydajności i dostępności ustabilizowanie replikacji i współdzielenia danych Wydajność zadań backupowych 70MB/s - 90MB/s dla obecnych procesorów 10%-20% narzutu obliczeniowego mocno zależy od wydajności CPU zmiana charakterystyki I/O 30
PYTANIA? Radosław Korzeniewski Solution Architect email: radekk@inteos.pl http://www.inteos.pl/