Bacula: strah od vampira

Zdravo svima.

Htio sam vam reći malo o baculi, tom programu kojeg se svi boje jer je prevelik za njih i / ili na prvi pogled djeluje složeno.

To je zaista sjajan program, ali kad jednom objasne (otprilike) kako to funkcionira, sve ide glatko.

Uvod

Bacula je program koji upravlja sigurnosnim kopijama (sigurnosne kopije na španskom jeziku). Njegov ogromni potencijal leži u tome koliko dobro rukuje i automatizira sigurnosne kopije zadataka, posebno u velikim okruženjima (vidi Održavanje više servera).

Istina je da ako jednostavno želite napraviti sigurnosne kopije svog ličnog računara, zaboravite, predugo će vam trebati da ga konfigurirate. Ali ako se nađete u situaciji da imate posla s više računara / poslužitelja, Bacula je vaše rješenje. U početku ćete morati provesti mnogo sati, ali nakon što ostavite sve konfigurirano, godine mogu proći, a da to više ne morate dodirnuti; takođe kada naučite da ga koristite, promjene koje ćete unijeti bit će male i jednostavne.

Arhitektura

Prvo što treba razumjeti kod ovog programa je njegova diverzifikacija: podijeljen je u nekoliko dijelova koji su međusobno povezani. Ovi se dijelovi mogu instalirati na različite mašine ili na istu mašinu, dajući mogućnost spremanja sigurnosnih kopija na drugu mašinu od one koja njima upravlja (na primjer).

Postoje 3 glavna dijela, od kojih je svaki također različit instalacijski paket: Director, Storage i File. Kao što možete zaključiti, fajl je klijentska mašina (ona kojoj su potrebne kopije), skladištenje je mašina koja čuva ove kopije i direktor mašina je ta koja orkestrira čitav proces. Naravno, može biti nekoliko klijentskih mašina (datoteka), nekoliko spremišta (u slučaju da želite odvojiti kopije) i Director (iako bi logična stvar bila jedna, možete navesti nekoliko).

Datoteke, alati i demoni

Ako je sve ovo automatizirano, to je upotreba demona. Svaki dio ima svoj demon: bacula-director, bacula-fd (file-daemon) i bacula-sd (demon-storage). I svaki demon radi prema svojim postavkama datoteke, hostiranim u / etc / bacula: bacula-dir.conf, bacula-fd.conf, bacula-sd.conf.

Ove konfiguracijske datoteke se automatski generiraju tijekom instalacije i potrebno je izmijeniti samo nekoliko parametara (IP udaljene mašine, vlastiti certifikati, automatsko planiranje sigurnosne kopije ...). Konfiguracija redatelja je najteža i najopsežnija, jer je on taj koji se brine o svemu; normalno je podijeljen u nekoliko datoteka kako vam ne bi slomio glavu, a zatim su u glavnoj datoteci svi spojeni (slično kao uključuje Apache2).

Sada, iako su konfiguracijske datoteke tamo gdje je sav „chicha“, bacula nam nudi nekoliko alata za rukovanje njime, jer će mnogo puta biti potrebno izvršavati zadatke „ručno“. Samo ću se usredotočiti na alat za konzolu bconsole, jer je najkorisniji i na njemu se temelje i ostali (grafikoni). Kao što mu samo ime govori, riječ je o interpretatoru naredbi, koji interaktivno omogućava obavljanje različitih poslova.

Treba reći da postoji nekoliko web usluga koje se mogu instalirati na Director mašinu za upravljanje i nadgledanje Bacule. Na primjer, Bacula-Web nudi vam grafikone i tablice o statusu sigurnosnih kopija, zauzimanju prostora itd.

Treba spomenuti i da se rad Bacule temelji na katalogu: bazi podataka (da biramo između MySQL, SQLite i PostgreSQL) u kojoj se bilježe svi događaji, volumeni, klijenti ... Ovu bazu podataka ne treba dodirivati ​​rukom , kroz bconsole Dane su razne naredbe za interakciju s katalogom bez upotrebe SQL sintakse.

bezbjednost

Jedna od snaga Bacule je sigurnost. Svaki klijent, skladište i direktor imaju svoj ključ i ovisno o vezi šifriran je tim ključem. Svatko može izmisliti ovaj ključ po svom ukusu, iako sam program generira slučajan broj od 30 znakova.

Pored šifriranja koje program nudi, Bacula prihvaća sigurne veze korištenjem TLS-a. Stoga našem prethodnom šifriranju moramo dodati još jedno šifriranje certifikata i SSL ključa. Ako se uozbiljimo, za svaki stroj mora se stvoriti jedinstveni certifikat i ključ. Ovaj dio postavljanja je malo složeniji.

XNUMX

Naglasit ću malo na tome kako se kopijama upravlja kroz katalog, jer u početku može biti pomalo zbunjujuće.

Kopije se čuvaju u šifriranim količinama, tako da se ne može izravno pristupiti datotekama. To je vrsta .tar.gz (jer podržava kompresiju), ali svoj; bez kataloga je nemoguće spasiti podatke bez sedla. Za to postoje napredni alati, ali uvijek im treba neka komponenta baze podataka, a za početnike postaju vrlo složeni. Zbog toga se katalog mora maziti i paziti (Bacula prema zadanim postavkama izrađuje vlastitu sigurnosnu kopiju kataloga nakon završetka poslova koje je zakazao).

Da bi nam pomogao u organizaciji višestrukih sigurnosnih kopija, Bacula grupira sveske u bazene. Na primjer, spremište je definirano po klijentu, tako da se sve kopije (volumeni) svakog klijenta mogu lako razlikovati, jer pripadaju različitim obiteljima (skupinama).

Pored toga, Bacula podržava ponovnu upotrebu / recikliranje količina. Dakle, ako želite samo mjesečnu potpunu izradu sigurnosne kopije, ali želite samo da postoji, možete konfigurirati Baculu da prepiše volumen koji je prethodno sadržavao tu kopiju, tako da izbjegavate nepotrebno punjenje diska i zaboravite na to da morate sami brisati podatke. stare ručno.

Kopija i obnavljanje

Mogu se definirati različiti poslovi prema njihovim rasporedima. Drugim riječima, ako radimo Full Backup svaki dan, naši zadaci održavanja ne bi bili vrlo učinkoviti ... ali Bacula nam omogućava do 3 različita nivoa prilikom izrade sigurnosnih kopija: Full, Differential i Incremental.

Potpuna sigurnosna kopija je klasična kopija, kopira se sve što želite napraviti sigurnosnu kopiju. Dok Diferencijal kopira samo datoteke koje su se promijenile (ili nove) od posljednjeg Full Housea. S inkrementalnim kopijama, isto se događa, ali jedan nivo niže, uspoređuje promjene samo od zadnjeg diferencijala ili od posljednjeg punog ako je novijeg datuma. Ovo je vrlo povoljno ako želite održati ravnotežu između optimizacije resursa i njihove korisnosti. Ovim možemo dobiti datoteke različitih datuma bez zauzimanja puno prostora. Vrlo je korisno kada netko zabrlja i treba sigurnosnu kopiju određenog dana.

Primjer: planiramo inkrementalne sigurnosne kopije svaki dan, diferencijalne svake sedmice i pune svakog mjeseca. Ako u bilo kojem trenutku trebamo koristiti ove kopije (jer se jedan od naših klijentskih računara srušio), jednostavno moramo obaviti posao vraćanja (kroz bconsole) moći odrediti najnoviju kopiju za određeni datum, a sam Bacula će montirati stablo direktorija na osnovu spajanja posljednjeg Full-a s promjenama koje su dali Diferencijalni i Inkrementalni.

Automatizacija

Tu dolazi jača strana Bacule. Svi zadaci sigurnosne kopije raspoređeni su u direktoru, također priznajući nivoe prioriteta. Stoga je normalno planirati više zadataka za isti dan i vrijeme. Nakon što se direktor poveže s klijentskim računarom (sa svojim FileDaemon-om), stavlja ga u kontakt sa skladištem povezanim s navedenim zadatkom, priprema šifriranu vezu i datoteke za kopiranje.

Nadalje, ne samo da vam omogućuje da odredite datoteke / mape koje treba kopirati, već također podržava izvršavanje naredbi / skripti prije, za vrijeme i nakon svakog posla. Stoga, ako želite napraviti sigurnosnu kopiju baze podataka, možete odrediti put skripte koja vam daje dump i kasnije kopirati to dump. Takođe vam omogućava da odredite datoteke za kopiranje na generički način, imajući u vidu da možete dodati specifičnije datoteke sa samog klijentskog računara. Normalno je da postoji zajednički FileSet za sve UNIX sisteme (gdje su definirane mape koje se kopiraju, / etc, / usr, / home / var ...), a zatim svaki klijent može odrediti svoje datoteke koje želi biti kopiran.

Bacula također podržava ponovnu upotrebu / recikliranje volumena. Dakle, ako želite samo mjesečnu potpunu izradu sigurnosnih kopija, ali želite samo da postoji, možete konfigurirati Baculu da prepiše volumen koji je prethodno sadržavao tu kopiju, tako da izbjegavate nepotrebno punjenje diska i zaboravite na to da sami morate brisati podatke. stare ručno. Vrlo raširena upotreba je ponovna upotreba spremišta dodijeljenih inkrementalnim i diferencijalnim kopijama, jer oni jednostavno služe za pohranu izmijenjenih / novih datoteka, svaki put kad postoji novi Full, ti su volumeni neupotrebljivi, pa ih ponovno koristite za nove inkrementalne / Diferencijali.

I sve ovo ... kako to funkcionira?

Nakon cigle koju sam upravo pustio, mnogi će se zapitati kako se s tim vragom rješava. Pa, SVE je navedeno u gore spomenutim konfiguracijskim datotekama i u njima je sve automatizirano. Nakon što ste proveli nekoliko sati konfigurirajući ih, nakon što to učinite, isplati se doživotno, čak postaje dosadno.

Jedino što treba raditi ručno su restauratorski zadaci, jer ne bi imalo previše smisla automatizirati ih ... iako se to može učiniti. Ipak, ručno ih je izraditi pomoću alata bconsole Nudi se nekoliko opcija, a vi samo morate odabrati detalje. Također je proširena upotreba za ručno definiranje spremišta, stoga u konfiguracijskim datotekama morate samo reći kojem spremištu pripadaju svezaci, bez potrebe za kreiranjem direktive za njihovo stvaranje / traženje.

Epilog

Nisam ulazio u tehničke detalje otkako ovaj post postaje vrlo opsežan, također sam želio dati globalni pogled na rad programa. Ako vidim puno povratnih informacija, možda ću dobiti vodič.

Nadam se da vam se svidjelo i do sljedećeg puta!


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   dhunter rekao je

    Neke veze do stranice čovjek, a da ne spominjemo. 😉

    http://www.bacula.org/es/
    http://www.bacula.org/en/?page=documentation

    U posljednje vrijeme ovisan sam o rsync-u za kućne poslove, repoe i dokumente dupliciram na radnoj površini i laptopu i često ih sinhroniziram, tako da moj laptop uvijek ima ogledalo radne površine.

    Za servere pretpostavljam da će dobra rsync skripta koju pokreće cron učiniti trik, ali prednost bacule je što štedi za revizije, ne samo najnovije.

    1.    wow rekao je

      Trenutno sam ih stavio. Razmislio sam o tome čim sam poslao članak na pregled, ali morao sam ići i do sada nisam nagazio na računar.

    2.    wow rekao je

      buah, mislim da ne mogu uređivati ​​... Ostavljam ovdje vezu do glavne reference dokumentacije, da će se neki uključiti s toliko veza ...
      http://www.bacula.org/5.2.x-manuals/en/main/main/index.html

  2.   eulalio rekao je

    Ovo se mora detaljno pročitati crvenom olovkom.

  3.   Julio Cesar rekao je

    Vrlo dobro, već neko vrijeme sam korisnik bacule u podatkovnom centru u kojem radim, ali ovdje koristim moćno rješenje poput bacule i mnogo lakše prilikom implementacije i konfiguriranja

    BackupPC
    http://backuppc.sourceforge.net/

    Trenutno smo migrirali gotovo sve sigurnosne kopije poslužitelja na ovu platformu

  4.   KZKG ^ Gaara rekao je

    Prije nekoliko godina tražio sam aplikaciju za izradu sigurnosnih kopija svojih servera na svom prethodnom poslu ... Pokušao sam s Baculom, ali, uff, to je čudovište, izvrsna opcija bez sumnje, ali bilo je previše za ono što mi je trebalo . Na kraju sam na kraju programirao svoj vlastiti sistem (bash skripte) koji je radio baš ono što sam želio 😀

  5.   Joaquin rekao je

    Tako dobro, hvala na podjeli!

  6.   adiazc87 rekao je

    Vrlo dobar članak, i pokušao sam ga instalirati, ali pošto sam toliko naporan, radije izrađujem sigurnosne kopije pomoću rsync i crontab, ako možete staviti članak o instalaciji i konfiguraciji, cijenio bih ga zauvijek.

    Hvala na dobrom objašnjenju.

    1.    wow rekao je

      Prvo morate odlučiti koju bazu podataka koristiti, pogledajte službenu dokumentaciju koja je prilično potpuna http://www.bacula.org/5.2.x-manuals/en/main/main/Installing_Bacula.html
      Također bih vam savjetovao da ga instalirate s upraviteljem paketa vaše distribucije, na primjer, pomoću apt-get (poput debiana) kreirate katalog za sebe, slijedeći nekoliko vrlo jednostavnih koraka.
      Za konfiguraciju pogledajte http://www.bacula.org/5.2.x-manuals/en/main/main/Installing_Bacula.html Budući da su konfiguracijske datoteke skoro gotove, morate promijeniti par stvari, a u bacula dokumentaciji kažu vam kako da ih počnete montirati malo po malo da biste razumjeli postupak.
      Volio bih voditi vodič, ali sutra idem na odmor ... možda kad se vratim 🙂

  7.   Huan rekao je

    Vrlo dobro ... pomoglo mi je da započnem sa osobljem….

  8.   bašte rekao je

    Odličan alat !!! Nisam to znao, iako će se morati proučavati povećalom, izgleda zanimljivo ...

    Pozdrav !!!

  9.   GMontenegro rekao je

    Pozdrav, već nekoliko tjedana konfiguriram Baculu u kompaniji u kojoj radim, puno učim iz ovog alata, čini mi se fantastičnim. Međutim, imam pitanje koje nisam uspio riješiti i nadam se da mi neko može pomoći. Mogu li spremiti volumen ili spremište na neki vanjski disk za sigurnosno kopiranje izvan lokacije, a zatim vratiti iz ovih datoteka?

    1.    wow rekao je

      Pozdrav, naravno, svezake možete pohraniti na vanjski disk, ali da biste ih vratili, morate imati pristup bconsoleu, jer za vraćanje datoteke morate dešifrirati volumen prema katalogu.
      Pomoću naredbe za obnavljanje dobivate niz koraka za odabir volumena itd ..., tada će se izgraditi stablo direktorija tako da možete ručno odabrati datoteke. Omogućuje vam i odabir uređaja i direktorija gdje ćete ih vratiti (čak vam daje mogućnost vraćanja na izvor, prepisivanja podataka, iako se to ne preporučuje).
      Nadam se da ovo pomaže http://www.bacula.org/en/dev-manual/main/main/Restore_Command.html

      1.    GMontenegro rekao je

        Hvala na brzom odgovoru. Pokušat ću se objasniti primjerom kako bih malo više pojasnio sliku 😉. Trenutno je Bacula već konfiguriran za izradu kopija diska, što će se dogoditi ako uzmem jedan od svezaka i kopiram ga izravno na vanjski disk koji ću čuvati izvan centra podataka da bih ga vratio u slučaju događaja. Da li je moguće oporaviti podatke pohranjene u ovom volumenu ako ponovo povežem vanjski disk i pokušam ga otvoriti pomoću Bacule?.

        1.    wow rekao je

          Stvar je u tome što biste morali "registrirati" vanjski disk kao Uređaj u konfiguraciji demona za pohranu (datoteka bacula-sd.conf) kako bi ga bacula mogla vidjeti. Jednom kad se to učini, mislim da nećete imati većih problema ... čak i ako bih obavio testove u slučaju da katalog ne pronađe količinu. Dozvolite mi da objasnim, kada "fizički" premjestite svezak (tj. Premjestite datoteku iz svog operativnog sistema), katalog to ne zna, tako da morate izbrisati i volumen iz kataloga. Tada biste ga sigurno trebali vratiti u katalog, jer se njegov put promijenio, u bconsole napišite pomoć da biste vidjeli sažetak naredbi koje rukuju katalogom.
          Postoje dva jednostavna rješenja ako se ne želite petljati u katalog. Prvo je da bacula piše izravno na vanjski disk, a kad se toga umorite, dodajte novi Uređaj u bacula-sd.conf i spremite disk negdje drugdje; pa kada trebate nešto obnoviti, ti se volumeni i dalje odražavaju i dobro konfiguriraju u katalogu. Druga mogućnost je vraćanje vanjskog diska, čime se datoteke spremaju direktno na disk, bez šifriranja, arhiviranja ili kompresije ili bilo čega drugog, tako da će uvijek biti dostupne.

          1.    GMontenegro rekao je

            Puno vam hvala 🙂

          2.    wow rekao je

            Usput, kada vršite obnavljanje pomoću bconsole-a, na kraju svega dobit ćete sažetak za potvrdu, obično se bira opcija mod (da / mod / ne) koja vam omogućava izmjenu nekih parametara koji su već unaprijed konfigurirani

  10.   andye rekao je

    Bacula je nešto što uvijek započnem, ali nikad ne završim. To me čini neizmjernim. Moram mu pokušati jednog dana pružiti još jednu priliku, zbog mogućnosti koje nudi.

  11.   BiteAciD rekao je

    Učenje Bacule u početku je pomalo glomazno, ali kad jednom znate kako to funkcionira, sve postaje bolje ...
    Studiram ovaj program 3 dana, upravljajući njime sa webmin, bconsola, itd ...
    Možda bi bilo dobro opširnije uputstvo ... Sa svoje strane dokumentujem probleme s kojima sam se susreo (da bih razumio program).
    Primjer:
    - Windows klijent kada ga instalirate daje vam pristupnu lozinku prema zadanim postavkama, ako vam je promijenite prije povezivanja s serverom, neće vam dati pristup ... To jest, morate koristiti istu tu lozinku i nakon prepoznavanja uređaja možete promijeniti lozinku.

    BackupPC je dobar, ali mislim da se Bacula trenutno čini tako robustan za proizvodno okruženje s mnogo servera i radnih stanica.

    Saludos

    1.    wow rekao je

      Instaliranje i konfiguriranje Windows klijenta popriličan je izazov, iako u principu sve funkcionira savršeno, kada počnete ulaziti u TLS konfiguracije sa samopotpisanim certifikatima ... mora počinje. Uspio sam, ali prvi put me to koštalo vremena, ljutnje i znoja!

  12.   Leopoldo rekao je

    Želio bih dobiti informacije.

  13.   majstor rekao je

    Zdravo, dobar dan.

    Mogao bih da mi pomognem. Instalirao sam bacula i radi na mojim serverima i izrađuje sigurnosne kopije bez problema koje mogu vratiti. ali moje pitanje je postoji li način da se sačuva čitav operativni sistem? kao slika ili klon hvala unaprijed.

  14.   Gustavo rekao je

    Zaista mi se svidio članak, jasan, jednostavan, cjelovit i ugodan za čitanje. Moje pitanje je: Koju verziju i okus Linuxa najviše preporučujete za Bacula? Pozdrav.

  15.   Mauricio Tobar rekao je

    Dragi vrlo dobro, u članku s nekoliko tutorijala uspio sam instalirati bacula u Centos 6.6, instalirati klijenta na Windows 7, koji ima komunikaciju s direktorom, instalirati i Webmin, jer kroz to upravljam svim konfiguracijama klijenta i sigurnosne kopije.
    Sve je u redu dok ne postoji, ali u trenutku izrade sigurnosnih kopija, to ne radi, ne čini ništa, molim vas, zatražite neko svjetlo koje me osvjetljava, a ja propadam, hvala iz Čilea.

  16.   JesusJch rekao je

    Dobro jutro, radim s baculom par godina, nisam imao problema, ali jednog dana bacula više nije započeo, pretraživao sam i nisam mogao pokrenuti uslugu, bilo mi je lako kopirati datoteke i direktorijum / etc / bacula, ali pretraživao sam na webu i shvaćam da moja greška nije kopiranje mape u kojoj je sačuvan bootstrap ..
    Znate li bilo koji način za rješavanje ovog problema?

    Pozdrav iz Meksika
    Isus

  17.   Roberto guevara rekao je

    Zdravo, pokušavam ga implementirati između nekoliko servera, ali ne mogu provjeriti autentičnost skladišta, ali mogu provjeriti autentičnost klijenata tih istih servera. Zna li neko da li se radi o verziji? Imam server sa verzijom 2.4, drugi sa 5.0 i baculumweb sa verzijom 9.0
    hvala