Bacula: frykt for vampyrer

Hei alle sammen.

Jeg ønsket å fortelle deg litt om bacula, det programmet som alle er redde for fordi det er for stort for dem og / eller ved første øyekast virker det komplisert.

Det er virkelig et flott program, men når de forklarer (omtrent) hvordan det fungerer, går alt greit.

Innledning

Bacula er et program som administrerer sikkerhetskopier (sikkerhetskopier på spansk). Det enorme potensialet ligger i hvor godt det håndterer og automatiserer sikkerhetskopieringsoppgaver, spesielt i store miljøer (se vedlikehold av flere servere).

Det er sant at hvis du bare vil ta sikkerhetskopier av din personlige datamaskin, så glem det, det vil ta for lang tid å konfigurere den. Men hvis du befinner deg i posisjonen til å måtte håndtere flere datamaskiner / servere, er Bacula løsningen din. Først må du bruke mange timer, men når du lar alt være konfigurert, kan det gå år uten at du trenger å røre det igjen; når du først har lært å bruke den, vil endringene du vil gjøre små og enkle.

Arkitektur

Den første tingen å forstå om dette programmet er dets diversifisering: det er delt inn i flere deler som er sammenhengende. Disse delene kan installeres på forskjellige maskiner eller på samme maskin, noe som gir muligheten til å lagre sikkerhetskopier på en annen maskin enn den som administrerer dem (for eksempel).

Det er 3 hoveddeler, som hver også er en annen installasjonspakke: Director, Storage og File. Som du kan utlede, er filet er klientmaskinen (den som trenger kopier), den oppbevaring er maskinen som lagrer disse kopiene og Regissør det er maskinen som orkestrerer hele prosessen. Selvfølgelig kan det være flere klientmaskiner (File), flere Storage (i tilfelle du vil skille kopiene) og Director (selv om den logiske tingen ville være en, kan du spesifisere flere).

Filer, verktøy og demoner

Hvis alt dette er automatisert, er det ved bruk av demoner. Hver del har sin egen demon: bacula-director, bacula-fd (file-daemon) og bacula-sd (storage-daemon). Og hver demone fungerer i henhold til filinnstillingene, vert i / etc / bacula: bacula-dir.conf, bacula-fd.conf, bacula-sd.conf.

Disse konfigurasjonsfilene genereres automatisk under installasjonen, og bare et par parametere trenger å endres (IP for den eksterne maskinen, egne sertifikater, automatisk sikkerhetskopieringsplanlegging ...). Regissørens konfigurasjon er den vanskeligste og mest omfattende, siden det er han som tar seg av alt; normalt er det delt inn i flere filer for ikke å knuse hodet, så i hovedfilen er de alle sammen (ligner på inkluderer Apache2).

Nå, selv om konfigurasjonsfilene er der alt "chicha" er, tilbyr bacula oss flere verktøy for å håndtere det, siden det ofte vil være nødvendig å utføre oppgaver "for hånd". Jeg skal bare fokusere på konsollverktøyet bkonsoll, siden det er det mest nyttige, og også resten (grafene) er basert på det. Som navnet antyder, er det en kommandotolk som interaktivt lar deg utføre forskjellige jobber.

Det skal sies at det er flere webtjenester som man kan installere på Director-maskinen for å administrere og overvåke Bacula. For eksempel tilbyr Bacula-Web deg med grafer og tabeller informasjon om status for sikkerhetskopier, lagring okkupasjon ... etc.

Det skal også nevnes at driften av Bacula er basert på en katalog: en database (for å velge mellom MySQL, SQLite og PostgreSQL) der alle hendelser, volumer, klienter blir registrert ... Denne databasen skal ikke berøres for hånd , gjennom bkonsoll Ulike kommandoer er gitt for å samhandle med katalogen uten å bruke SQL-syntaks.

Sikkerhet

En av styrkene til Bacula er sikkerhet. Hver klient, lagring og direktør har sin egen nøkkel, og avhengig av forbindelsen er den kryptert med den nøkkelen. Alle kan finne på denne nøkkelen etter eget ønske, selv om selve programmet genererer et tilfeldig antall på 30 tegn.

I tillegg til krypteringen som programmet tilbyr, godtar Bacula sikre forbindelser ved bruk av TLS. Derfor må vi legge til en ny kryptering av sertifikat og SSL-nøkkel til vår forrige kryptering. Hvis vi blir mer seriøse, må det lages et unikt sertifikat og nøkkel for hver maskin. Denne delen av oppsettet er litt mer kompleks.

Volumer

Jeg skal legge litt vekt på hvordan kopiene administreres gjennom katalogen, da det kan være litt forvirrende i starten.

Kopiene holdes pakket i krypterte volumer, slik at man ikke får direkte tilgang til filene. Det er en slags .tar.gz (siden den støtter komprimering), men dens egen; uten katalogen er det umulig å redde datatilbakene. Det er avanserte verktøy for dette, men de trenger alltid en del av databasen, og for nybegynnere blir de veldig komplekse. Det er grunnen til at katalogen må skjemmes bort og pleies (som standard tar Bacula sin egen sikkerhetskopi av katalogen etter fullført jobbene den hadde planlagt).

For å hjelpe oss med å organisere flere sikkerhetskopier, grupperer Bacula Volumes i bassenger. For eksempel er et basseng definert per kunde, slik at alle kopiene (volumene) til hver kunde lett kan differensieres siden de tilhører forskjellige familier (bassenger).

I tillegg støtter Bacula gjenbruk / resirkulering av volumer. Så hvis du bare vil ha en månedlig full sikkerhetskopi, men bare vil at en skal eksistere, kan du konfigurere Bacula til å overskrive volumet som tidligere inneholdt den kopien, slik at du unngår å fylle disken unødvendig og glemmer å måtte slette dataene selv. gamle for hånd.

Kopier nivå og gjenoppretter

Man kan definere forskjellige jobber med sine respektive tidsplaner. Med andre ord, hvis vi gjør en full sikkerhetskopi hver dag, ville vedlikeholdsoppgavene våre ikke være veldig effektive ... men Bacula tillater oss opptil 3 forskjellige nivåer når vi tar sikkerhetskopier: Full, Differensiell og Inkrementell.

Full sikkerhetskopi er den klassiske kopien, alt du vil sikkerhetskopiere blir kopiert. Mens Differensialet bare kopierer filene som har endret seg (eller de nye) siden forrige Full House. Med inkrementelle kopier skjer det samme, men ett nivå lavere, det sammenligner bare endringene siden forrige Differensial, eller siden forrige Full hvis det er nyere. Dette er veldig praktisk hvis du vil opprettholde en balanse mellom optimalisering av ressurser og deres nytteverdi. Med dette kan vi få filer med forskjellige datoer uten å ta mye plass. Det er veldig nyttig når noen roter sammen og trenger en spesifikk sikkerhetskopi i en dag.

Et eksempel: Vi planlegger trinnvise sikkerhetskopier hver dag, Differensial hver uke og Full hver måned. Hvis vi når som helst trenger å bruke disse kopiene (fordi en av klientmaskinene våre har krasjet), må vi ganske enkelt gjøre en gjenopprettingsjobb (gjennom bkonsoll) å kunne spesifisere den nyeste kopien for en bestemt dato, og Bacula alene vil montere et katalogtre basert på sammenkoblingen av den siste Full med endringene som er bidratt av Differensial og Inkrementell.

Automatisering

Her kommer det sterke punktet til Bacula. Alle sikkerhetskopieringsoppgaver er planlagt i direktøren, og innrømmer også prioritetsnivåer. Derfor er det normalt å planlegge flere oppgaver for samme dag og tid. Når direktøren har koblet seg til klientmaskinen (med FileDaemon), setter han ham i kontakt med lagringen som er knyttet til nevnte oppgave, forbereder den krypterte forbindelsen og filene som skal kopieres.

Videre lar det deg ikke bare spesifisere filene / mappene som skal kopieres, det støtter også utføring av kommandoer / skript før, under og etter hver jobb. Derfor, hvis man ønsker å ta sikkerhetskopi av en database, kan du spesifisere banen til skriptet som gir deg dumpen og senere kopiere den dumpen. Det lar deg også spesifisere filene som skal kopieres på en generisk måte, og være i stand til å legge til mer spesifikke filer fra selve klientmaskinen. Det er normalt å ha et felles FileSet for alle UNIX-systemer (der mappene som skal kopieres er definert, / etc, / usr, / home / var ...), og deretter kan hver klient spesifisere sine egne filer som de vil kopiere.

Bacula støtter også gjenbruk / resirkulering av volumer. Så hvis du bare vil ha en månedlig full sikkerhetskopi, men bare vil at en skal eksistere, kan du konfigurere Bacula til å overskrive volumet som tidligere inneholdt den kopien, slik at du unngår å fylle disken unødvendig, og du glemmer å måtte slette dataene selv. gamle for hånd. En veldig utbredt bruk er å gjenbruke bassengene som er tildelt inkrementelle og differensielle kopier, siden de ganske enkelt tjener til å lagre de modifiserte / nye filene, hver gang det er en ny Full, er disse volumene ubrukelige, så du bruker dem til de nye Incrementals / Differensialer.

Og alt dette ... hvordan fungerer det?

Etter mursteinen som jeg nettopp slapp, vil mange lure på hvordan i helvete dette blir håndtert. Vel, ALT er spesifisert i de nevnte konfigurasjonsfilene, og alt er automatisert i dem. Etter å ha brukt flere timer på å konfigurere dem, når det er gjort, er det verdt det for livet, det blir til og med kjedelig.

Det eneste som må gjøres for hånd er restaureringsoppgavene, siden det ikke ville være fornuftig å automatisere dem ... selv om det kan gjøres. Å lage dem for hånd er likevel ganske enkelt, med verktøyet bkonsoll Flere alternativer tilbys, og du må bare velge detaljene. Det er også en utvidet bruk for å definere bassengene for hånd, og derfor trenger du i konfigurasjonsfilene bare å si hvilken gruppe volumene tilhører, uten å måtte lage et direktiv for å opprette / søke etter dem.

Epilog

Jeg har ikke gått inn på tekniske detaljer siden dette innlegget blir veldig omfattende, jeg ønsket også å gi et globalt syn på driften av programmet. Hvis jeg ser mange tilbakemeldinger, har jeg kanskje en veiledning.

Jeg håper du likte det og til neste gang!


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   dhunter sa

    Noen lenker til nettstedet mann, for ikke å nevne. 😉

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

    I det siste er jeg avhengig av rsync for husarbeid, jeg har duplisert repoer og dokumenter på stasjonære og bærbare datamaskiner, og jeg synkroniserer dem ofte, så den bærbare datamaskinen min har alltid et speil på skrivebordet.

    For servere antar jeg at et godt rsync-skript som drives av cron vil gjøre susen, men fordelen med bacula er at den sparer for revisjoner, ikke bare den siste.

    1.    wow sa

      Akkurat nå setter jeg dem. Jeg tenkte på det så snart jeg sendte artikkelen for gjennomgang, men jeg måtte gå og så langt har jeg ikke tråkket på en datamaskin.

    2.    wow sa

      buah Jeg tror jeg ikke kan redigere ... Jeg legger igjen lenken til hovedreferansen i dokumentasjonen, at noen vil involvere seg med så mye lenke ...
      http://www.bacula.org/5.2.x-manuals/en/main/main/index.html

  2.   eulalio sa

    Dette må leses i detalj og rød blyant.

  3.   Julio Cesar sa

    Veldig bra, jeg er en bacula-bruker en stund i datasenteret der jeg jobber, men her bruker jeg en løsning som er så kraftig som bacula og mye mye enklere når jeg implementerer og konfigurerer

    BackupPC
    http://backuppc.sourceforge.net/

    Foreløpig har vi migrert nesten alle backup-servere til denne plattformen

  4.   KZKG ^ Gaara sa

    For flere år siden lette jeg etter et program for å lage sikkerhetskopier av serverne mine i min forrige jobb ... Jeg prøvde med Bacula, men det er et monster, et utmerket alternativ uten tvil, men det var for mye for det jeg trengte. Til slutt endte jeg med å programmere mitt eget system (bash-skript) som gjorde akkurat det jeg ønsket wanted

  5.   Joaquin sa

    Så bra, takk for at du delte!

  6.   adiazc87 sa

    Veldig bra artikkel, og jeg prøvde å installere den, men fordi jeg var så arbeidskrevende, foretrekker jeg å ta sikkerhetskopier med rsync og crontab. Hvis du kan legge en artikkel om installasjon og konfigurasjon, vil jeg sette pris på det for alltid.

    Takk for god forklaring.

    1.    wow sa

      Først må du bestemme hvilken database du skal bruke, ta en titt på den offisielle dokumentasjonen som er ganske komplett http://www.bacula.org/5.2.x-manuals/en/main/main/Installing_Bacula.html
      Jeg vil også råde deg til å installere den med pakkebehandleren for distribusjonen din, for eksempel med apt-get (debian-lignende) lager du katalogen for deg selv, ved å følge et par veldig enkle trinn.
      Ta en titt på for konfigurasjonen http://www.bacula.org/5.2.x-manuals/en/main/main/Installing_Bacula.html Siden konfigurasjonsfilene nesten er ferdige, trenger du bare å endre et par ting, og i bacula-dokumentasjonen forteller de deg hvordan du skal begynne å montere den litt etter litt for å forstå prosessen.
      Jeg vil gjerne gjøre en guide, men i morgen skal jeg på ferie ... kanskje når jeg kommer tilbake 🙂

  7.   Juan sa

    Veldig bra ... det hjalp meg å begynne med en stab ....

  8.   hager sa

    Flott verktøy !!! Jeg visste det ikke, selv om det må studeres med et forstørrelsesglass, ser det interessant ut ...

    Greetings!

  9.   GMontenegro sa

    Hei, i flere uker har jeg konfigurert Bacula i selskapet jeg jobber for, jeg lærer mye av dette verktøyet, det virker fantastisk. Imidlertid har jeg et spørsmål som jeg ikke har klart å løse, og jeg håper noen kan hjelpe meg. Kan jeg lagre volumene eller bassengene på en ekstern disk for sikkerhetskopiering utenfor stedet og deretter gjenopprette fra disse filene?

    1.    wow sa

      Hei, selvfølgelig kan du lagre volumene på en ekstern disk, men for å gjenopprette dem må du ha tilgang til bconsole, siden for å gjenopprette en fil må du dekryptere volumet i henhold til katalogen.
      Med gjenopprettingskommandoen får du en rekke trinn for å velge volum osv ... så blir katalogtreet bygget slik at du kan velge filene manuelt. Det lar deg også velge maskinen og katalogen hvor du skal gjenopprette dem (det gir deg til og med muligheten til å gjenopprette til kilden, overskrive data, selv om det ikke anbefales).
      jeg håper dette hjelper http://www.bacula.org/en/dev-manual/main/main/Restore_Command.html

      1.    GMontenegro sa

        Takk for rask respons. Jeg vil prøve å forklare meg med et eksempel for å klargjøre bildet litt mer 😉. For øyeblikket er Bacula allerede konfigurert for å lage diskkopier. Hva skjer hvis jeg tar et av volumene og kopierer det direkte til en ekstern disk som jeg vil oppbevare utenfor datasenteret for å gjenopprette i tilfelle en hendelse. Er det mulig å gjenopprette dataene som er lagret i dette volumet hvis jeg kobler til den eksterne disken på nytt og prøver å åpne den med Bacula?.

        1.    wow sa

          Saken er at du må "registrere" den eksterne disken som en enhet i lagringsdemonkonfigurasjonen (bacula-sd.conf-fil) slik at bacula kan se den. Når dette er gjort, tror jeg ikke du har et stort problem ... selv om jeg gjør tester i tilfelle katalogen ikke finner volumet. La meg forklare, når du flytter et volum "fysisk" (det vil si at du flytter filen fra operativsystemet), vet ikke katalogen dette, så du må også slette volumet fra katalogen. Så burde du sikkert legge den tilbake til katalogen siden banen har endret seg, i bconsole skriv hjelp for å se et sammendrag av kommandoene som håndterer katalogen.
          Det er to enkle løsninger hvis du ikke vil rote med katalogen. Den første er at bacula skriver direkte til den eksterne disken, og når du blir lei av det, legger du til en ny enhet i bacula-sd.conf og lagrer disken et annet sted; så når du trenger å gjenopprette noe, blir disse volumene fremdeles reflektert og godt konfigurert i katalogen. Det andre alternativet er å gjenopprette den eksterne disken, som lagrer filene direkte på disken, uten kryptering eller arkivering eller komprimering eller noe, slik at de alltid vil være tilgjengelige.

          1.    GMontenegro sa

            Tusen takk 🙂

          2.    wow sa

            forresten, når du gjør en gjenoppretting med bconsole, på slutten av alt vil du få et sammendrag for å bekrefte, normalt er mod-alternativet valgt (ja / mod / nei) som lar deg endre noen parametere som allerede er forhåndskonfigurert

  10.   andye sa

    Bacula er noe jeg alltid starter, men aldri er ferdig med. Det gjør meg enorm. Jeg må prøve å gi den en ny sjanse en dag på grunn av mulighetene den gir.

  11.   BiteAciD sa

    Å lære Bacula er litt tungvint i begynnelsen, men når du først vet hvordan det fungerer, blir alt bedre ...
    Jeg har studert dette programmet i 3 dager, administrert det fra webmin, bconsola, etc ...
    Kanskje en mer omfattende opplæring ville være bra ... For min del dokumenterer jeg problemene jeg har opplevd (for å forstå programmet).
    Eksempel:
    - Windows-klienten når du installerer den gir deg et tilgangspassord som standard, at hvis du endrer det før du kobler til serveren, vil det ikke gi deg tilgang ... Det vil si at du må bruke det samme passordet, og etter at du har gjenkjent enheten kan du endre passordet.

    BackupPC er bra, men jeg synes Bacula virker så robust for et produksjonsmiljø med mange servere og arbeidsstasjoner for øyeblikket.

    Hilsen

    1.    wow sa

      Å installere og konfigurere en Windows-klient er ganske utfordrende, selv om alt i prinsippet fungerer perfekt når du begynner å komme inn i TLS-konfigurasjoner med selvsignerte sertifikater ... marerittet begynner. Jeg har lyktes, men første gang kostet det meg tid, sinne og svette!

  12.   Leopoldo sa

    Jeg vil gjerne motta informasjon.

  13.   ordfører sa

    Hei god ettermiddag.

    Kan du hjelpe meg vær så snill. Jeg har installert bacula, og den kjører på serverne mine og sikkerhetskopierer uten problemer jeg kan gjenopprette. men spørsmålet mitt er om det er noen måte å lagre hele operativsystemet på? som et bilde eller en klon på forhånd takk.

  14.   Gustavo sa

    Jeg likte artikkelen veldig, tydelig, enkel, komplett og hyggelig å lese. Spørsmålet mitt er: Hva er den versjonen og smaken av Linux som du anbefaler mest for Bacula? Hilsen.

  15.   Mauricio Tobar sa

    Kjære veldig bra, artikkelen med noen opplæringsprogrammer jeg klarte å installere bacula i Centos 6.6, installere en klient på en Windows 7, som har kommunikasjon med regissøren, installerer også Webmin, siden jeg administrerer alle klient- og sikkerhetskopikonfigurasjonene gjennom dette.
    Alt er bra til det er, men på tidspunktet for sikkerhetskopiering fungerer det ikke, det gjør ingenting, vennligst be om noe lys som lyser meg som jeg svikter, tusen takk fra Chile.

  16.   JesusJch sa

    God morgen, jeg har jobbet med bacula i et par år, jeg hadde ingen problemer, men en dag startet bacula ikke lenger, jeg søkte og jeg kunne ikke starte tjenesten, det var lett for meg å kopiere filene og / etc / bacula-mappen, men jeg har søkt på nettet og jeg innser at feilen min ikke var å kopiere mappen der bootstrap er lagret ..
    Kjenner du noen måte å løse dette problemet på?

    Hei fra Mexico
    Jesus

  17.   Roberto Guevara sa

    Hei, jeg prøver å implementere det mellom flere servere, men jeg kan ikke autentisere lagringene, men jeg kan autentisere klientene til de samme serverne. Er det noen som vet om det er et versjonsproblem? Jeg har en server med versjon 2.4, en annen med 5.0 og baculumweb med versjon 9.0
    Takk