Rješenje za backup: BackupPC

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Soni Jozeljic Ivica Kordic

Sadržaj

Uvod

Backup je proces kopiranja podataka. Podatci se kopiraju radi njihovog sačuvanja u slučaju greške pri radu računalnih komponenti ili neke vrste katastrofe koja može dovest do njihovog uništavanja. Sačuvanje podataka je kritičan dio poslovanja velikih i malih poduzeća, razlog tomu je što pri gubitku podataka mogu nastati nepovratne novčane štete. Kao i za poduzeća , tako je sačuvanje podataka bitno i za osobnu upotrebu. Nažalost većina korisnika osobnih računala zanemaruje tu potrebu iako imaju poveći izbor mogućnosti sačuvanja tih podataka.

Neke od mogućnosti backup-a podataka za korisnike osobnih računala su npr. da kritični sadržaj svog tvrdog diska pohrane na vanjske medije kao što su DVD ili Blu-Ray. Također postoji mogućnost da svoje podatke dižu na tzv. "cloud" kao što je Amazon Simple Storage Service ili jednostavno podatke pohrane na eksterni disk. Sve to mogu učinit "ručno" ako žele, ili uz malo truda upotrijebiti neki od alata koji omogućuju automatski ažuriran backup.

Velika poduzeća se naravno ne mogu koristiti tako "jednostavnim" načinima sačuvanja podataka. Razloga iz toga postoji više, ne samo da nije financijski opravdano, već se postavlja i pitanje sigurnosti tih podataka. Pogotovu kada se radi o prenosivim medijima ili servisima koji se ne nalaze na intranetu poduzeća.

BackupPC je open source alat pomoću kojeg mrežni administratori takvog jednog poduzeća mogu postaviti vlastiti server za backup kritičnih podataka. BackupPC je alat visokih performansa za backup podataka Linux, Windows i MacOS računala. Pisan je u jeziku Pearl te za arhiviranje i raspakiranje koristi SMB protokol te koristeći Samba-u uz tar pomoću ssh /rsh /nfs ili rsync-a


Mogućnosti BackupPCa

- Smanjenje korištenja diskovnog prostora i općenito korištenje tvrdog diska. To se ostvaruje tako da se identični podatci s više računala pohranjuju samo jednom.

- Dodatni načini kompresije podataka također smanjuju količinu zahtijevanog diskovnog prostora. S obzirom na to da se samo novi podatci moraju kompresirati smanjuje se vrijeme zauzeća procesora.

- Za korištenje nije nužno upotrebljavat klijentski program. Za pohranu i sažimanje na Windows platformi se koristi standardni SMB protokol. Za linux platformu se rabi tar putem ssh/rsh ili nfs sustava. Također je moguće ostvarivati backup putem klijentskih računala koja rabe rsync ili rsyncd.

- Web sučelje administratorima dozvoljava pregledavanje log datoteka, konfiguracije, trenutačnog statusa te im omogućava da iniciraju i zaustave ažurirane backupove. Administratori također imaju mogućnost pregledavat sačuvane podatke te ih naravno i obnoviti u slučaju potrebe.

- Više načina povratka podataka je omogućeno, direktno putem smb klijenta, tar ili rysinc-a ili skidanjem zip ili tar datoteke na vanjski mediji.

- Podržava mobilnu okolinu u kojoj su prijenosna računala samo povremeno spojena na mrežu, te imaju dinamičan IP.

- Fleksibilno konfiguriranje parametara dozvoljava paralelno izvođenje backupa. Konfiguracije sadrže parametre kao što su to koji backup, kada , iz kojeg direktorija u koji , njegovu vrstu i druge. Također je moguće obavještavanje putem e-mail clienta. Parametre je moguće postaviti za cijeli sustav ili pojedinačno za svako računalo.

- Korisnicima se šalju obavijesti u slučaju da njihovo osobno računalo duže vrijeme nije bilo dostupno za backup.

- BackupPC je testiran na sustavima Linux, Freeenix, Solaris, Linux te Windows 95/98/2000 i XP.

- Također je moguće imati veći broj potpunih backupa. To znači da je moguće imati potpune backupe na računala koji su npr. u razmaku starosti od 2, 4, 8 ili 16 tjedana.

Specifičnosti backupa

Inkrementalni backup je takav tip backupa pri kojem su novo pohranjeni podatci razlika podataka između prošlog ili potpunog backupa. BackupPC podržava višeslojni inkrementalni backup. Potpuni backup pri tomu sadrži inkrement "0" a daljnji inkrementi "N". Naredba $Conf{IncrLevels} se koristi za specificiranje sloja idućeg inkrementa. U slučaju da se koriste višeslojni inkrementi vjerojatno je nužan veći broj inkrementa kako bi se moglo rekonstruirati potpuni backup.

Za SMB i tar pohranu BackupPC koristi modifikaciju time (mtime) da bi odredio koje su razlike u datotekama od posljednjeg inkrementa. Drugim riječima to sprječava mogućnosti da SMB ili tar prepoznaju obrisane, preimenovane ili nove datoteke čije su se modifikacije dogodile prije prošlog/ najmlađeg inkrementa.

U slučaju neuspjelog potpunog backupa , stvara se djelomični backup. Nad djelomičnom backupu moguće je obavljati sve funkcije kao i na potpunom backupu. Djelomični backup se briše u slučaju pokretanja novog potpunog backupa osim kod rsync metode , gdje se djelmoični backup koristi kao "nastavak" potpunog backupa.

Također BackupPC "poola" identične datoteke koristeći tzv. "hardlinks". To znači da se datoteke jednakog sadržaja brišu, no ne pohranjuje se njihov "meta data" kao što su vlasništvo, dopuštenja ili vrijeme modifikacije na istom mjestu. Tako se npr. dvije identične datoteke istog korisnika backupaju, ali se jedna briše i postaje datoteka oboje korisnika. Pri vraćanju tih datoteka se prosljeđuju njihovim korisnicima te se naknadno sa drugog mjesta pohrane tim datotekama pridružuju vlasništvo, dopuštenja i zadnje vrijeme modifikacije koje je pohranjeno.

Ovisno o potrebama korisnika nužno je izraditi tzv. "Backup policy". BackupPC nije dizajniran kako bi omogućio potpunu rekonstrukciju pokvarenih/uništenih tvrdih diskova. Razlog tomu je što BackupPC radi samo kopiju na jednom mjestu. Da bi se povećala sigurnost i omogućilo potpuno rekonstruiranje tvrdih diskova nužno je podatke koje BackupPC pohranjuje pohraniti još nekom dodatnom metodom. BackupPC za to ima nativnu funkciju arhiviranja , no ona nije automatizirana i administrator ju sam mora pokrenuti i izvršiti.

Instalacija

BackupPC možemo instalirati na 2 načina, koristeći Ubuntu softver center ili ručno preko terminala.

Instalacija preko Ubuntu softver centra

Koristeći ubuntu softver center imamo sljedeće korake. Prvi korak je pronalaženje istog na centru

IvikordicSlika1.jpg


Nakon pronalaska tu nam se otvaraju pojedine opcije o programu. Vidimo koje addone možemo s njim instalirati, neke općenite namjene programa, verziju, screenshotove i slično. Nakon toga kliknemo na dugme Install u gornjem desnom kutu I instalacija će početi. Ubrzo dolazimo do drugog koraka, a to je odabir servera na koji ćemo instalirati BackupPC.

IvikordicSlika2.jpg

Kao što se vidi na slici, BackupPC podržava bilo koju instalaciju web servera, ali automatsko konfiguriranje podržava samo Apache. Nakon odabira Apache servera kliknemo na gumb Forward I nastavljamo na treći korak. U trećem koraku nam program daje podatke za pristup web serveru na samom početku.

IvikordicSlika3.jpg

Ti podatci su username I lozinka koji nam kasnije trebaju za autentikaciju na server. I ovime završava komunikacija između korisnika I programa tijekom instalacije. Nakon ovog, instaliraju se preostali paketi I alat je spreman za korištenje.

Instalacija putem terminala

Drugi način instalacije je putem terminala. Također je relativno jednostavan jer se sastoji samo od utipkavanja sljedeće naredbe

-sudo apt-get install backuppc

To se vidi I na slici

IvikordicSlika4.jpg

Nakon upisivanja naredbe, slično kao I u prethodnom načinu, slijedi odabir web servera u našem slučaju Apache web server

IvikordicSlika5.jpg

Nakon odabira servera, odabiremo Ok I nastavljamo dalje sa instalacijom. Nakon što smo odabrali web server, program će nam dati početne podatke za logiranje za autentikaciju na web sučelje kao I kod prvog načina instalacije. To izgleda ovako

IvikordicSlika6.jpg

Korištenje aplikacije

U narednim poglavljima osvrnut ćemo se na korištenje aplikacije I na pojedine opcije koje ona nudi, te će biti opisane glavne karakteristike aplikacije I njene mogućnosti.

Prvi susret s aplikacijom

Nakon upisivanja “ivica-desktop/backuppc” sljedećeg linka u preglednik otvara nam se forma za autentikaciju na serveru. Sjećate se onih podataka za prijavu koje ste dobili prilikom instalacije programa? Ti podatci se unose u formu na slici I klikom na gumb OK se prijavljujemo u sustav

IvikordicSlika7.jpg

Ukoliko je prijava bila uspješna pojavit će se početna stranica programa kao što je prikazano na slici

IvikordicSlika8.jpg

Snalaženje u sučelju

Nakon što smo učitali web sučelje za rad sa BackupPC-em, dobro je znati nekih osnovnih par stvari o tome gdje se što nalazi. U lijevom gornjem kutu imamo opciju odabira hosta kojeg želimo pregledavati. Ispod toga redom imamo opcije pregledavanja statusa hostova, neke općenite informacije o hostovima, editiranje konfiguracija, editiranje hostova, administratorske opcije, pregledavanje LOG zapisa sustava (sadašnjeg I prijašnjih LOG zapisa), podatci o radu sa maiovima, backupi u redu čekanja, pregled dokumentacije, wiki BackupPC-a I SourceForge gdje se vide svi detalji o sustavu od koda u datotekama I slično. To se jasno vidi na slici

Dodavanje novog hosta

Dodavanje novog hosta se obavlja pod opcijom EditConfi. Kada odaberemo tu opciju otvori nam se Main Configuration Editor. Nakon toga pod opcijom Host kliknemo na gumb Add I u kolonu host napišemo ime željenog hosta a u kolonu user, napišemo backuppc. U suprotnom neće funkcionirati. Pod opcijom more users možemo dodati I još neke korisnike. Na slici je prikaz izgleda Main Configuration Editor I ostalih kolona.

IvikordicSlika9.jpg


Backup

Nakon odabira nekog od kreirnih hostova, web sučelje nam pokaže neke podatke o njemu, kao na primjer povjest backup-a ili restora. Pored prikazanih informacija, u gornjem lijevom kutu imamo navigaciju u kojoj su ostvarene funkcije pregledavanja backup-a, pregledavanje log zapisa, pregledavanja povjesti grešaka i na kraju opcija za editiranje postavki hosta. Na stranici se nalaze 3 gumba. Zapravo u početku se nalaze 2 gumba, te se kasnije nakon izrade full backup-a pojave 3 gumba. Ta 3 gumba okidaju sljedeće operacije pokretanje inkrementalnog backup-a, pokretanje full backup-a, te zaustavljanje prije pokrenutog backup-a. Ovo je prikazano na slici

IvikordicSlika11.jpg

Backup se odvija tako što najprije uredimo postavke na hostu, a zatim okinemo operaciju pritiskom na određeni gumb. Postavke kojima možemo upravljati su algoritam backup-a, podešavanje slanja maila o uspješnom ili neuspješnom backup-u, postavljanje nekih tehničkih postavki oko backup-a, te postavljanje rasporeda backup-a.Ranije smo spomenuli koje sve algoritme backup-a alat podržava pa sada nećemo o tom, ali ćemo napomenuti samo kako se algoritam bira pod opcijom XferMethod, a pod opcijom TarShareName odabiremo direktorij ili više njih koji želimo backupirati. To se vidi na sljedećoj slici


IvikordicSlika13.jpg

Nakon što smo to sve postavili, direktorij ili više njih su se mogu backupirati na server. Nakon ovoga odlazimo na HostSummary, odabiremo host kojeg smo konfigurirali i započnemo backup. Nakon što se izvrši operacija backupa, on je vidljiv pod opcijom BrowseBackup. To izgleda kao što je prikazano na slici. Na slici smo backupirali /etc direktorij


IvikordicSlika14.jpg

Restore

Restore opcija na backupPC-u se nalazi pod Browse backups. Kada otvorimo taj dio web aplikacije, vidimo pri vrhu backup koji pregledavamo. Ispod toga, upisujemo direktorij unutar tog backupa koji želimo pogledati. Nakon što smo odabrali te dvije opcije, prikazuje nam se sadržaj tog direktorija I odmah imamo opciju da označimo dokumente nad kojima želimo izvršiti restore. Nakon što smo odabrali datoteke koje želimo povratiti, kliknemo na restore selected files I pokrećemo operaciju restoreanja. Nakon toga nam se otvara Restore Options for host_name (u našem slučaju, localhost).

IvikordicSlika15.jpg

Imamo 3 opcije, direkt restore, Download Zip archive I Download Tar archive.

Direct Restore opcija vraća podatke iz određenog backupa na server. U slučaju da su se neki dokumenti promijenili, oni će biti zamijenjeni I njihov se sadržaj gubi.

IvikordicSlika16.jpg

Download Zip archive downloda Zip file sa podatcima iz odabranog backupa

IvikordicSlika17.jpg

Download Tar archive downloada Tar arhivu sa podactima iz odabranog backupa

IvikordicSlika18.jpg

RsyncD Windows 8

Kao naš sustav koji zahtjeva backup smo odabrali Windows 8. Razlog tomu je što u slučaju kućne uporabe većina računala koriste operacijski sustav Windows. Također smatramo da je zapravo najzanimljivije ova konfiguracija kada backup server koristi Ubuntu , a klijentsko računalo neku inačicu Windows-a. Postoje 2 načina kako postaviti interakciju između Windows i Ubuntu sustava.

1. Način je da se koristi SSH uz rsync.

2. Način je da se koristi rsyncd uz pomoć cgywin.

Obadva sustava nude rsync metodu pohrane podataka. Razlika je u tomu da se rsyncd brži i bolji u slučaju da se backup vrši pomoću serveru koji se nalazi na intranetu. Dok je ssh putem rsynca bolji za internetsku pohranu. Razlog tomu je da su podatci tako bolje zaštićeni od vanjske intruzije.

Pošto se mi nalazimo na lokalnoj mreži, mi smo odabrali rsyncd inačicu putem cgywin.

Priprema Windows računala

Za postavljanje rsyncd sustava za Windows sučelje nužno je posjetiti ovaj link [1] te skinuti .zip datoteku u kojoj se nalazi readme.txt datoteka sa uputama. 1. Korak je uređivanje rsyncd.secrets datoteke. U datoteci se umjesto UUU:PPP postavlja username i password. Na slici je postavljen jednostavan username i password "Soni/Soni", radi jednostavnosti.



Korak 1 postavljanje username password.JPG



U drugom koraku postavljamo rsyncd.config datoteku. U toj datoteci nužno je "auth user=" postaviti na prijašnje odabrani usernam, backuppc kao i prikazano na slici. Također je nužno postaviti lokaciju rsyncd.secret datoteke ukoliko se ona nazali na drugoj lokaciji. Pod "hosts allow=" nužno je izbrisati prefix # , te postaviti IP adresu BackupPC servera. Također imamo izbor dali želimo omogučiciti BackupPC da rabi restore funkicju. Ako ne želimo da server ima pristup našem računalu "read only= " postavljamo na true , u slučaju da želimo postavljamo na false. Ako je "read only= true" onda jedini način da rabimo restore funkciju jest da nam admin sa servera prosljedi .zip datoteku koja sadrži sve naše backupane podatke. Također je na dnu datoteke nužno obaviti identične izmjene. Vidljivo na slici.


2. Korak, konfiguracija rsync configa za koristenje Usernama i Backuppc-a.JPG


Korak 2.1 postavljanje IP-a Backup servera.jpg



Dalje u config datoteci postavljamo putanju foldera u kojemu se nalaze datoteke za pohranu "path= ". Bitno za napomenut je da se ne koristi znak "\" kao uobičajno, nego smo prisiljeni koristiti znak "/" pri unosu putanje. U slučaju da ovaj parametar ne diramo BackupPC će pohraniti sve datoteke koje se nalaze unutar Documents foldera na računalu korisnika. Pod "comment= " stavljamo opis podataka za pohranu. Možemo ostaviti i prazno mjesto, no radi boljeg snalaženja sa podatcima poželjno je komentirati.


3. Korak postavljanje backup foldera.JPG



Na donjoj slici je prikazano postavljanja dopuštenja na rsyncd.secrets datoteku. Bitno je datoteku postaviti na read only kako se njezin sadržaj nebi mjenjao.



5 korak postavljanje rsync.secrest kao ready only.JPG



Pokretanje rsync.exe je moguće na više načina. Rsync.exe je zapravo inačica daemon-a. Možemo ju ručno pokretati pomoću cygrunsvr.exe ili ju možemo postaviti da se automatski pokreće pri dizanju sustava. U tom slučaju rsync.exe "postaje" servis. Da bi postala servis nužno je da putem Command prompta upišemo na slici prikazanu liniju koda. Bitno je CMD pokrenut sa administrativnim pravima kako bi se naredba uspješno izvela. Postoji mogućnost da se servis ne želi pokrenuti. U tom slučaju preporučujemo brisanje servisa pomoću cygrunsrv.exe. Ovisno o sustavu briše se na različite načine. Za pomoć preporučujemo u CMD upisati cygrzunsrv --help kako bi se ispisale potebne naredbe. Nakon toga je preporučljivo se prebaciti na "skrivenog" administrativnog korisnika sustava, te ponoviti instalaciju rsync.exe. Kada je rsync.exe uspješno pokrenut, u folderu gdje se nalazi će se stvoriti nova datoteka rsync.PID.


6, Korak postavljanje rsync.exe kao service.JPG



U ovom koraku izrađujemo skriptu koju administrator postavlja na server. Naziv skripte mora sadržavati ime računala, u ovom slučaju "aspire", preporućuje se kraći nazivi radi problema koji mogu nastati pri importiranju skripte. Najbolje ju je izraditi u Notepadu te ju pohraniti sa nastavkom ".pl" Kao na slici prikazano u njoj definiramo username i password. "RsyncdShareName" postavljamo na docs u slučaju da smo u prijašnjem koraku odredili drugu putanju "path=", ako putanja nije mijenjanja nužno je "RsyncdShareName" ostaviti nepromjenjeno. Na kraju preostaje pod "ClientNameAlias" postaviti IP adresu klijenta. Nakon izrade skripte nju prosljeđujemo adminu koji ju postavlja na server. Bitno je također omogućiti u firewallu port 873 iz razloga što je taj port defaultni port za rsync servis.



Adminpl.jpg



Ako su sva podešenja dobro postavljena, server bi trebao biti u mogučnosti prepoznati vaše računalo. U ovom slučaju Soni1. Dodatno razlika između prijašnjeg username Soni i Soni1 nastale iz razloga potrebe rušenja servisa. Ponovnim postavljanjem radi problema sa nepotpunim brisanjem skripti sa servera, dodan je drugi username.


BACKUPPC.jpg


Tar opcija za backup Linux klijenta

Glavni problem koji možemo susresti je problem dozvola. Na https://help.ubuntu.com/community/BackupPC je opisano kako se može konfigurirati BackupPC da radi sa sudo naredbama preko web sučelja. Za to nam je potrebno obaviti ovih par koraka:

1. Naredbom (gedit se može zamijenit s nano) -sudo gedit /etc/backuppc/config.pl” da bi otvorili datoteku config.pl-

2. Izmjeniti neke varijable u config.pl datoteci tako da izgledaju ovako:

   $Conf{TarClientCmd} = ‘sudo $tarPath -c -v -f - -C $shareName’ . ‘ –totals’;
   $Conf{TarClientRestoreCmd} = ‘sudo $tarPath -x -p –numeric-owner –same-owner’. ‘ -v -f - -C $shareName’;
   $Conf{TarIncrArgs} = '--newer=$incrDate $fileList+';
   $Conf{BackupFilesExclude} = ['/proc', '/dev', '/tmp', '/mnt', '/media', '/sys', '/lost+found', '/usr/src', '/var/lib', '/var/tmp', '/var/cache', '/var/spool', '/var/run', '/var/lock', '/var/games', '/home/*/.Trash', '/home/*/.mozilla/*/*/Cache', '/home/*/.mozilla/*/*/Cache.Trash']; (postaviti ju u mod za čitanje, jer nam često ti podatci nisu potrebni)

3. pokrenuti -sudo visudo- 4. na kraj dodati ovaj odlomak

  # Allow backuppc to run tar without a password
  backuppc ALL=NOPASSWD: /bin/tar


Zaključak

Prema našem iskustvu BackupPC je snažan i sposoban alat za backup podataka. Krasi ga veliki broj mogućnosti kao što je pooling i činjenica da je besplatan. Veoma zanimljiv je iz razloga što pruža mogu nost backupa za razne operacijske sustave bez potrebe klijenta kojeg je nužno instalirati na njih. Drugim rije ima moguće ga je tako postaviti da korisnici klijentskih računala nikada ne znaju da se vrši backup na njihovim računalima. To je veoma povoljno jer se na taj način isključuje mogu nost ljudske interferencije sa backupom, tj. neka starija gospođa ne može "slučajno" kliknut "close" za aplikaciji koja joj se pojavila na ekranu i "nešto vrti". No kao i svaki open source alat BackupPC ima nekolicinu mana te "ne radi" uvijek onako kako si je to korisnik zamislio. Pri postavljanju servera i klijentskog računala smo se susreli za povećim brojem ograničenja/problema koje je trebalo zaobilaziti a koji nisu navedeni na službenim stranicama. Na svu sreću smo te probleme uspjeli riješiti uz pomoć "community" koji je izgrađen oko alata. BackupPC svakako preporučujemo bilo kojem manjem ili osrednje velikom poduzeću koje želi imati backup rješenje. Pogotovu u slučaju da su novčano ograničeni , te im to stvara probleme pri nabavci jačih računalnih komponenti i diskovnog prostora. No smatramo da za naprednije i bogatije tvrtke ipak bolje koristiti neka komercijalna rješenja koja nude vlastiti support i koja su jednostavnije za postaviti i održavati.

Literatura

https://help.ubuntu.com/community/BackupPC (učitano 11.1.2013.)

http://manpages.ubuntu.com/manpages/natty/man8/backuppc.8.html (učitano 13.1.2013.)

http://backuppc.sourceforge.net/faq/BackupPC.html (učitano 05.1.2013.)

http://www.howtoforge.com/linux_backuppc_p2 (učitano 08.1.2013.)

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima