1 / 87

BackupPC Aco Dmitrović Ožujak 2011.

BackupPC Aco Dmitrović Ožujak 2011. Kompresija i deduplikacija Kako brisati backup Backup MySQL baze Rješavanje problema Autentikacija LDAP ili AD? iSCSI. Sadržaj. Zašto backup? MTBF i MTTF Istraživanje Googlea BackupPC Instalacija Konfiguracija Web sučelje Windows klijenti

suchin
Télécharger la présentation

BackupPC Aco Dmitrović Ožujak 2011.

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BackupPC Aco Dmitrović Ožujak 2011.

  2. Kompresija i deduplikacija Kako brisati backup Backup MySQL baze Rješavanje problema Autentikacija LDAP ili AD? iSCSI Sadržaj • Zašto backup? • MTBF i MTTF • Istraživanje Googlea • BackupPC • Instalacija • Konfiguracija • Web sučelje • Windows klijenti • Linux klijenti

  3. Zašto backup? • Dokumenti u elektroničkom obliku • Zakonska obaveza arhiviranja građe • Diskovi se kvare • MTTF – mean time to failure • MTBF – mean time between failures • Vrijeme u kojem će se pola diskova pokvariti!? • RAID smanjuje rizik • rijetko se istovremeno pokvare dva diska • Rizici – kvarovi, bugovi, virusi, greške korisnika...

  4. MTBF • Članak u eWeek-u: • SMART tehnologija ne omogućuje pouzdano predviđanje kvara • Diskovi enterprise kvalitete deklarirani na 1,000,000 sati rada (114 god!) • Godišnje bi po tome trebalo zamijeniti 1% diskova • U stvarnosti između 2 i 4%, pa sve do 13%

  5. Google • Failure Trends in a Large Disk Drive Population • FAST 2007 • Proizvođači ubrzanim testom simuliraju opterećenje • Google razvio System Health infrastrukturu • Daemon na svakom serveru prikuplja podatke • Temp., SMART err., opterećenje, konfiguracija • > 100.000 HD, dec 2005 - aug 2006 • Korelacija s bazom popravaka • Stres test diskova prije produkcije • Proizvođač testira vraćene diskove, dio proglasi ispravnima!

  6. Google

  7. Google...

  8. Temperatura

  9. Temp/starost

  10. SMART

  11. Zaključak • ”Nije pitanje hoće li se disk pokvariti, pitanje je kada će se pokvariti.” • Smanjivanje rizika • RAID • više kopija podataka • na razičitim lokacijama

  12. Zašto BackupPC? • Slobodni softver, otvoren kod, dokumentiran • http://backuppc.sourceforge.net/ • Upute za instalaciju na Debianu • http://www.debianhelp.co.uk/backuppc.htm • Wiki • http://wiki.zmanda.com/index.php/Backuppc • http://backuppc.wiki.sourceforge.net/ • Jednostavna instalacija i konfiguracija

  13. Prednosti • Mrežni backup Unix/Linux, Windows, MacOSX klijenata • Na klijentima ne treba instalirati agente • Inteligentno korištenje diskovnog prostora • Kompresija, deduplikacija • Scheduling prilagođen pojedinim klijentima • Prijenos podataka: samba, rsync, ftp, ssh • Web sučelje za admina i korisnike • korisnici sami brinu o svojim podacima • Restore pojedinih datoteka ili arhive (.tar, .gz) • Šalje korisniku obavijesti e-mailom • Bare metal recovery, uz pomoć Knoppixa

  14. Kako radi? • Default: backup cijelog sistema (C$, /) • Exclude (/proc, /tmp...) • Globalna + mini konfiguracija za hosta • Xfer method • Unix: • tar/rsync preko ssh • Windows: • smb • rsync preko ssh (cygwin) • Mac OS X • tar, xtar, rsync? • FTP

  15. Briga za klijente • Pinga klijente • Nastoji obaviti posao izvan radnog vremena • Ako se ne klijent odaziva, backup će se obaviti čim se pojavi na mreži

  16. Instalacija na OpenVZ virtualni server

  17. Instalacija - VM • Debian Lenny + kernel s podrškom za openvz • Koji kernel je instaliran? dpkg -l | grep linux apt-cache search openvz • Nađite istu verziju kernela, samo s podrškom za openvz, na pr. apt-get install linux-image-2.6.26-2-openvz-amd64 • Kernel može imati oznaku x86_64, 686 ili i386

  18. Template • Alati: • apt-get install vzctl vzprocps vzquota • Predložak za VM cd /vz/template/cache wget http://download.openvz.org/template/precreated/\ contrib/debian-5.0-amd64-minimal.tar.gz

  19. sysctl # packet forwarding enabled and proxy arp disabled net.ipv4.conf.default.forwarding=1 net.ipv4.conf.default.proxy_arp=0 net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=1 # Enables the magic-sysrq key kernel.sysrq=1 # we do not want all our interfaces to send redirects net.ipv4.conf.default.send_redirects=1 net.ipv4.conf.all.send_redirects=0 sysctl -p

  20. Virtualka vzctl create 100 –-ostemplate debian-5.0-amd64-minimal -–config basic.vps # Ako ne nalazi basic konfiguraciju, provjerite datoteke u /etc/vz/conf # umjesto basic.vps, vps.basic ili samo basic vzctl set 100 –-ipadd 192.168.x.x –-save vzctl set 100 -–nameserver 161.53.x.x –-save vzctl set 100 –-hostname backuppc -–save vzctl start 100 vzlist vzctl enter 100

  21. Instalacija... • /etc/apt/sources.list deb http://ftp.carnet.hr/debian lenny main contrib non-free deb-src http://ftp.carnet.hr/debian lenny main contrib non-free deb http://security.debian.org lenny/updates main contrib non-free deb-src http://security.debian.org lenny/updates main contrib non-free

  22. Priprema • # apt-get install debian-archive-keyring • # apt-get update • # apt-get upgrade • # apt-get install apache2-mpm-prefork • [...] • The following packages will be REMOVED: • apache2-mpm-worker • The following NEW packages will be installed: • apache2-mpm-prefork

  23. perl moduli • apt-get install libxml-rss-feed-perl • apt-get install libarchive-zip-perl • apt-get install libfile-rsync-perl • apt-get install libfile-rsyncp-perl • perldoc Compress::Zlib • perldoc Archive::Zip • perldoc XML::RSS • perldoc File::RsyncP

  24. Točno vrijeme • Za backup je potrebna sinhronizacija vremena • Provjerite je li instaliran i konfiguriran ntp • Provjerite vremensku zonu iz predloška dpkg-reconfigure tzdata

  25. Instalacija • # aptitude install backuppc rsync par2 bzip2 • Instalacijska skripta pita za • Workgroup/Domain • Web server – apache2 • DHCP – ne • Zatim doda korisnika backuppc: BackupPC can be managed through its web interface: http://backuppc/backuppc/ For that purpose, a web user named 'backuppc' with 'kHsKlWIQ' as password has been created.

  26. Redirekcija • Ako želimo URL http://backuppc • U /etc/apache2/conf.d/backuppc.conf, na kraju dodajte: RedirectMatch ^/$ http://backuppc/backuppc/ d • Provjerite #DocumentRoot /var/www/ DocumentRoot /usr/share/backuppc

  27. Password za web sučelje • Promjena passworda za admina htpasswd /etc/backuppc/htpasswd backuppc • Dodavanje korisnika, kako bi mogli upravljati svojim backupom htpasswd /etc/backuppc/htpasswd pero • Korisnik vidi svoje podatke, admin sve

  28. Konfiguracija • Globalne postavke u /etc/backuppc/config.pl $Conf{ServerHost} = 'backuppc.domena'; $Conf{MaxOldLogFiles} = '14'; $Conf{DfPath} = '/bin/df'; $Conf{DfCmd} = '$dfPath $topDir'; $Conf{DfMaxUsagePct} = '95'; $Conf{BackupPCUser} = 'backuppc';

  29. Staze $Conf{TopDir} = '/var/lib/backuppc'; $Conf{ConfDir} = '/etc/backuppc'; $Conf{LogDir} = ''; $Conf{InstallDir} = '/usr/share/backuppc'; $Conf{CgiDir} = '/usr/share/backuppc/cgi-bin'; $Conf{ServerInitdPath} = '/etc/init.d/backuppc';

  30. Config.pl • $Conf{WakeupSchedule}['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23']; • Minimalan razmak između punih backupa (7 dana) $Conf{FullPeriod} = '6.97'; • Minimalan razmak između inkrementalnih backupa (1 dan) $Conf{IncrPeriod} = '0.97'; $Conf{IncrKeepCnt} = '6'; • Koliko punih backupa čuvati (default 1) $Conf{FullKeepCnt} = ['1']; $Conf{FullKeepCntMin} = '1'; $Conf{FullAgeMax} = '90';

  31. Složenija konfiguracija • Za početak je dobra podrazumijevana konfiguracija • Kasnije je možete prilagoditi, na pr.: • Exponential backup expiry • $Conf{FullKeepCnt} = [4, 2, 3]; • 2^n * $Conf{FullPeriod} • Eksponencijalno raste razmak između punih backupa • 1 2 4 8 16 32 ... tjedna • 4 puna backupa s razmakom od 1 tjedna • 2 s razmakom od 2 tjedna (prethodni mj.) • 3 s razmakom od 4 tjedna (3 mjesečna)

  32. Godišnji backup • Zadatak: • Čuvati tjedni full backup za tekući mjesec • Mjesečni za tekuću godinu • godišnji za proteklih 10 godina

  33. Inkrementalni backup $Conf{FullPeriod} = 7; $Conf{IncrPeriod} = 1; $Conf{IncrKeepCnt}= 6; $Conf{IncrLevels} = [1, 2, 3, 4, 5, 6]; • backup #0 (full, level 0) • backup #1 (incr, level 1) • backup #2 (incr, level 2) • backup #3 (incr, level 3) • backup #4 (incr, level 4) • backup #5 (incr, level 5) • backup #6 (incr, level 6)

  34. Inkrementalni... $Conf{FullPeriod} = 7; $Conf{IncrPeriod} = 1; $Conf{IncrKeepCnt}= 6; $Conf{IncrLevels} = [1, 2, 3 ]; • backup #0 (full, level 0) • backup #1 (incr, level 1) • backup #2 (incr, level 2) • backup #3 (incr, level 3) • Poslije #3 inkrementalni se brišu, a novi inkrementalni sadrži razliku od zadnjeg punog

  35. dump • BackupPC slijedi istu logiku kao dump • Level 0 – full backup • Level 1 – razlika • Level 2 – razlika od 1 • Itd. • http://linux.die.net/man/8/dump

  36. hosts • Popis računala za backup • /etc/backuppc/hosts: host dhcp user moreUsers # example static IP host entry # farside 0 craig jill,jeff # example DHCP host entry # larson 1 bill hawkeye 0 luzer localhost 0 root

  37. Web sučelje

  38. user • Korisnik u polju user dobija mailove • Treba dodati domenu u config.pl $Conf{EMailUserDestDomain} = '@mojadomena.hr'; • Korisnici u moreUsers ne dobijaju mailove • Svi imaju pristup web sučelju i backupu hosta

  39. CGI

  40. Pronalaženje hostova • Prvo se koristi DNS perl -e 'print(gethostbyname("myhost") ? "ok\n" : "not found\n");' • Zatim NetBios multicast nmblookup myhost • NetBios over TCP

  41. DHCP • Da bi nalaženje hosta DNS-om radilo, DHCP treba prijavljivati hostove DNS-u:

  42. Win klijent

  43. Backup Windowsa • Prijenos podataka samba protokolom $Conf{XferMethod} = 'smb'; $Conf{SmbShareName} = [ 'Poslovno' ]; $Conf{SmbShareUserName} = 'backuppc'; $Conf{SmbSharePasswd} = '!*Arghh+%#?'; $Conf{SmbClientFullCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -Tc$X_option - $fileList'; $Conf{SmbClientIncrCmd} = '$smbClientPath \\\\$host\\$shareName $I_option -U $userName -E -d 1 -c tarmode\\ full -TcN$X_option $timeStampFile - $fileList';

  44. AD

  45. Konfiguracija hosta • Globalna konfiguracija u /etc/backuppc/config.pl • Za hostove kojima to ne odgovara /etc/backuppc/pc/<hostname>.pl

  46. Backup Linuxa # Setting only matters if $Conf{XferMethod} = 'rsync'. $Conf{RsyncClientPath} = '/usr/bin/rsync'; #$Conf{RsyncClientCmd} = '$sshPath -q -x -l root $host $rsyncPath $argList+'; # necemo se ulogirati kao root, nego kao rbackup $Conf{RsyncClientCmd} = '$sshPath -q -x -l rbackup $host sudo $rsyncPath $argList+'; $Conf{RsyncClientRestoreCmd} = '$sshPath -q -x -l rbackup $host sudo $rsyncPath $argList+'; $Conf{RsyncShareName} = [ '/']; $Conf{RsyncdClientPort} = '873'; $Conf{RsyncdUserName} = 'rbackup'; $Conf{RsyncdPasswd} = '!*Arghh+%#?';

  47. Rsync argumenti $Conf{RsyncArgs} = [ '--numeric-ids', '--perms', '--owner', '--group', '-D', '--links', '--hard-links', '--times', '--block-size=2048', '--recursive' ];

  48. Rsync args... # Dodatni argumenti, na pr. --exclude/--include, # $Conf{RsyncArgs} = [ # # original arguments here # '-v', # '--exclude', '/proc', # '--exclude', '*.tmp', # ];

More Related