Bacula
The leading Opensource Backup Solution
OpenSource Project
Bacula is a network backup solution, designed for
*BSD, Linux, Mac OS X, Unix and Windows systems.
Original project goals were to:
● backup any client from a Palm to a mainframe computer
● provide “Enterprise” features similar to the largest commercial applications
● assure data compatibility for 30 years
● use a Free and Open Source (GPL v2) license
Project History
Bacula = Backup + Dracula
● January 2000 – Project started
● 14 April 2002 – First release to Source Forge (version 1.16)
● 29 June 2006 – Release 1.38.11
● January 2007 – Release 2.0.0
● August 2007 – Release 2.2.0 (current 2.2.8)
● ...
Downloads 670,013 all versions 4.2 TB
Introduction
Do you do backups?
No
Yes, I did one last month
Yes, tarballs every week
Sometimes I rsync ...
Yes, CDs every week
I use custom scripts
Problems:
How do you find the files you need to restore?
How do you restore to a point in time?
What is on what medium?
How do you handle 2000 machines?
Government regulations
Introduction
Bacula to the rescue:
● Open Source (GPLv2)
● Centrally managed
● Network backup/restore
● Many platforms (*BSD, Linux, Mac OS X, Unix Win32, ...)
● Different media (Tape, disk, USB, CD/DVD)
● Reliable
● Knows what was backed up when and where
● Allows restoring files you want (Catalog + GUI)
● Restores to a point in time
● Scales to handle 10,000 machines
Five Main Components
The Five Bacula Components
● Control and administration for everything is centralized
● Basic unit is a Job (one client, one set of files, ...)
● Schedules, initiates and supervises all Jobs
● Maintains the catalog (SQL database)
● Typically one Director except in very large shops
● Does file backup, restore and verification requested by Director
● Installed on each machine as a service (daemon)
● Communicates over network with Director and Storage daemon
● Needs access to all files to be backed up (root, SYSTEM)
● Typically multiple File daemons per Director; one for each machine
● Reads and writes data to the physical medium
● Disk, Tape, CD/DVD, USB, ...
● Accepts orders and authorization from the Director
● Accepts and returns data to/from File daemons (FD)
● Sends file storage location to Director -> Catalog
● Typically one per Director but with multiple devices
The Five Bacula Components
● Allows user or administrator to control Bacula
● Communicates with Director via network
● Start jobs, review Job output, query/modify catalog
● Consoles available
○ TTY (bconsole)
○ bat a Qt 4 (GUI) – most comprehensive
○ wxWidgets (GUI) – Linux, Unix, Win32
○ Gnome (GUI) – deprecated
○ Several web interfaces (bweb is most comprehensive)
● Restricted consoles permit users to restore their own files
● Only component not written by Bacula team
● SQL database (MySQL, PostgreSQL, or SQLite) - unique
● Tracks Jobs run, Volumes used, File locations, ...
● Permits rapid restores
● Allows inquiry of when and where files were backed up
● Old data automatically pruned by Director
● Supports multiple databases for scaling
Features
● A central server and catalog with distributed backup
● All components communicate via the network.
● Internal scheduler for automatic and simultaneous job execution with priorities.
● Interactive restore with many options, for example:
○ current backup (most common)
○ prior backup of time and date
○ list of files/directories to restore
○ restore by JobId
● Simple administration with consoles (command line, GUI, and web)
● Labeled Volumes, to prevent accidental overwriting
● Support for ANSI / IBM labels
● Machine independent Volume data format - extensible
● Support for Unicode on Win32; UTF-8 on Unix
● Rescue CDROM for “bare metal” recovery (very complicated)
Bacula - Hardware Features
● Backups can span multiple volumes
● Multiple backups (jobs, clients, OSes) per volume
● Supports most tape drives with configurable Device resources
● Support for multiple drive autochangers (libraries)
● Supports tape barcode readers
● Extensive Pool and Volume library management
● Rapid restoration of individual files (one user reported 4 to 6
● hours with tar and 3 to 4 minutes with Bacula!).
Bacula - Security Feaures
● Daemon authorization with CRAM--MD5
● Director and Storage daemon can be run non--root
● MD5, SHA1, ... signatures for each file
● CRC checksum for each Volume block
● Restricted consoles and tray-monitors
● Communications (TLS) encryption
● Data (PKI) encryption
● Tripwire like intrusion detection (Verify)
Bacula - Jobs
who, what, where, when
Jobs are the basic unifying structure
Name – unique name (who)
Type – what to do: backup, Backup, Migrate, Admin, Restore
Level – level of detail of type: Full, Differential, Incremental
FileSet – what to files to backup
Client – where to get the files (machine name)
Storage – where to put the files (which hardware)
Pool – which set of Volumes (tapes, disk) to use
Schedule – when to do it
Bacula - Director Configuration File
Director {
Name = bacula-dir
Query File = “/usr/local/etc/query.sql”
Working Directory = “/var/bacula”
PID Directory = “/var/run”
Maximum Concurrent Jobs = 20
Password = “secret”
Messages = Standard
}
Bacula - Director Configuration File
Job { # who, what, where, when
Name = “Music”
Type = Backup
Client = bcli
FileSet = “Full Set”
Storage = File
Schedule = “Weekly”
Pool = Standard
Messages = Standard
Write Bootstrap = “/var/bacula/bcli.bsr”
}
Bacula - Director Configuration File
Client {
Name = bcli
Address = 10.0.0.1
Catalog = MyCatalog
Password = “secret--bcli”
File Retention = 30 days
Job Retention = 6 months
AutoPrune = yes
Maximum Concurrent Jobs = 20
}
Bacula Configuration - Fileset
● Include/Exclude files and/or directories
● Regex or wildcard for file/directory name selection
● Compression using similar selection criteria
● Which filesystem types to backup
● Backup OS Access Control List data (permissions)
● Sparse file handling
● Signature (MD5, SHA1, ...)
Bacula Configuration - Fileset
FileSet {
Name = “Full Set”
Include {
Options {
signature=SHA1;
regex = ".*.bak$";
exclude = yes
}
File = /
File = /usr
File = /var
}
Exclude {
File = /proc; File = /tmp; File = /sys; File = /.journal
}
}
Bacula Configuration - Schedule
Schedule {
Name = “Weekly”
Run = Level=Full 1st sun at 2:05
Run = Level=Differential 2nd--5th sun at 2:05
Run = Level=Incremental mon--sat at 2:05
}
Total directives per resource:
Director=27 Client=21 Storage=21 Job=60 Schedule=3, Device=52, ...
Bacula Configuration - Storage
Device {
Name = File
Archive Device = /var/bacula/backups
Device Type = File # Directory, DVD, FIFO, Tape
Media Type = File
Label Media = yes
Random Access = yes
...
}
Bacula Configuration - Storage
AutoChanger {
Name = LTO-Changer
Device = Drive-0, Drive-1
Changer Device = /dev/sg0
...
}
Device {
Name = Drive-0
Archive Device = /dev/nst0
Device Type = Tape # DVD, File, FIFO
Media Type = LTO-2
Autochanger = yes
...
}
Real Installation
● 53TB, 150,000,000 files, 90 clients, Linux
● 40TB, 40,000,000 files, 30 clients, Solaris
● LTO-3 libraries with several drives
● Large libraries with 100's of tape slots
● Libraries and drives connected with FC SAN
● 20GB, 200,000 files, 1 client, Linux disk and tape
Project Development
Project development
Site : http://www.bacula.org/
Development style:
○ SourceForge project
○ Developer's guide with code style guidelines
○ Developer SVN access. Currently 16 developers may commit
○ Patches and commits reviewed by K. Sibbald
○ Code tested using a regression test suite
○ Email list for developers (bacula-devel)
License:
○ GPL 2 copyright assigned to FSFE.
○ Freedom Task Force (FTF)
Resources
For users and system administrators
Manual: http://www.bacula.org/en/rel-manual/index.html
OS and Hardware compatibility lists (in manual)
Bugs reports: http://bugs.bacula.org/
Email support list: bacula-users@lists.sourceforge.net
For developers
Docs: http://www.bacula.org/en/developers/index.html
Email list: bacula-devel@lists.sourceforge.net,
bacula-commits@lists.sourceforge.net
SVN at Source Forge
Credits
Thanks
Dan Langille who created the original presentation
Karl Cunningham who updated it
This presentation draws heavily on their work
A .pdf copy of this presentation can be found at:
http://www.bacula.org -> Presentations -> ...
Many Thanks!
samba@netstudent.polito.it

More Related Content

PDF
Ps configuration manual
PPT
Introduction to Bacula
PPTX
DM Estimation on Meter Reading Control
PDF
AMI Capabilities: Operational Status
PDF
DM Estimation in Consumption Registers Based on Past Meter Reading
DOC
How to View/ open/ update/ close SOLMAN tickets
PDF
SAP ISU Validation Class : Comparison of n periods
PDF
Instalación de phpLDAPadmin
Ps configuration manual
Introduction to Bacula
DM Estimation on Meter Reading Control
AMI Capabilities: Operational Status
DM Estimation in Consumption Registers Based on Past Meter Reading
How to View/ open/ update/ close SOLMAN tickets
SAP ISU Validation Class : Comparison of n periods
Instalación de phpLDAPadmin

What's hot (20)

PDF
Meter Reading Upload Interval :Used for uploading readings through IDocs
PPTX
SAP Migration Overview
PPTX
Deploying & Scaling your Odoo Server
PDF
Fusion Agreement Flow By Nilesh
DOC
Fi tds report
PDF
Functional specification document_template
PDF
Guia de-configuracion-co-de-sap
DOC
SAP PP End User Document - www.sapdocs.info
PPTX
My sql failover test using orchestrator
PDF
Oracle Database performance tuning using oratop
PDF
SAP FI AP: Configuration & End User Guide
PDF
Oaf personaliztion examples
PPT
ADO Controls - Database Usage from Exploring MS Visual Basic 6.0 Book
PDF
Errors while sending packages from oltp to bi (one of error at the time of da...
PDF
Patroni: Kubernetes-native PostgreSQL companion
PDF
Sap co
PDF
EDM Overview of Profile and Settlement
PDF
Sap basis r3 hand book
DOC
Customizig sap - img do material ledger
PDF
BADI IMPLEMENTATION.pdf
Meter Reading Upload Interval :Used for uploading readings through IDocs
SAP Migration Overview
Deploying & Scaling your Odoo Server
Fusion Agreement Flow By Nilesh
Fi tds report
Functional specification document_template
Guia de-configuracion-co-de-sap
SAP PP End User Document - www.sapdocs.info
My sql failover test using orchestrator
Oracle Database performance tuning using oratop
SAP FI AP: Configuration & End User Guide
Oaf personaliztion examples
ADO Controls - Database Usage from Exploring MS Visual Basic 6.0 Book
Errors while sending packages from oltp to bi (one of error at the time of da...
Patroni: Kubernetes-native PostgreSQL companion
Sap co
EDM Overview of Profile and Settlement
Sap basis r3 hand book
Customizig sap - img do material ledger
BADI IMPLEMENTATION.pdf
Ad

Similar to Bacula Overview (20)

PDF
Bacula - Backup system
PDF
Backy - VM backup beyond bacula
PPTX
Senior-Project-Presentation-Template (1)
PDF
Bacula Systems Brochure
PDF
Dumitru Enache - Bacula
PDF
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
PDF
Backing up Wikipedia Databases
ZIP
Back Up 101
PPTX
Backups _Disaster_Recovery for 202 .pptx
PDF
Open Source Backup Conference 2014: Bakup to and of the cloud, by Marco van W...
PPTX
Bacula4
PPTX
BackupExec 2012 Feedback
PPTX
Backup Exec 2012 Upgrade Feedback
PDF
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
PDF
Backup with Bareos and ZFS - by Christian Reiß
PDF
BACKUP STORAGE BLOCK-LEVEL DEDUPLICATION WITH DDUMBFS AND BACULA
PDF
Bp116
PDF
BP116
PPTX
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
KEY
Storing and distributing data
Bacula - Backup system
Backy - VM backup beyond bacula
Senior-Project-Presentation-Template (1)
Bacula Systems Brochure
Dumitru Enache - Bacula
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
Backing up Wikipedia Databases
Back Up 101
Backups _Disaster_Recovery for 202 .pptx
Open Source Backup Conference 2014: Bakup to and of the cloud, by Marco van W...
Bacula4
BackupExec 2012 Feedback
Backup Exec 2012 Upgrade Feedback
Webinar slides: Backup Management for MySQL, MariaDB, PostgreSQL & MongoDB wi...
Backup with Bareos and ZFS - by Christian Reiß
BACKUP STORAGE BLOCK-LEVEL DEDUPLICATION WITH DDUMBFS AND BACULA
Bp116
BP116
SysAdmin Working from Home? Tips to Automate MySQL, MariaDB, Postgres & MongoDB
Storing and distributing data
Ad

Recently uploaded (20)

PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Architecture types and enterprise applications.pdf
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
Five Habits of High-Impact Board Members
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Zenith AI: Advanced Artificial Intelligence
PPTX
Chapter 5: Probability Theory and Statistics
PDF
A review of recent deep learning applications in wood surface defect identifi...
PPTX
Benefits of Physical activity for teenagers.pptx
PDF
Developing a website for English-speaking practice to English as a foreign la...
PPTX
The various Industrial Revolutions .pptx
PPTX
Modernising the Digital Integration Hub
PPT
Geologic Time for studying geology for geologist
PDF
August Patch Tuesday
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
A comparative study of natural language inference in Swahili using monolingua...
How ambidextrous entrepreneurial leaders react to the artificial intelligence...
A contest of sentiment analysis: k-nearest neighbor versus neural network
Architecture types and enterprise applications.pdf
Web Crawler for Trend Tracking Gen Z Insights.pptx
Five Habits of High-Impact Board Members
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Zenith AI: Advanced Artificial Intelligence
Chapter 5: Probability Theory and Statistics
A review of recent deep learning applications in wood surface defect identifi...
Benefits of Physical activity for teenagers.pptx
Developing a website for English-speaking practice to English as a foreign la...
The various Industrial Revolutions .pptx
Modernising the Digital Integration Hub
Geologic Time for studying geology for geologist
August Patch Tuesday
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Taming the Chaos: How to Turn Unstructured Data into Decisions
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf

Bacula Overview

  • 2. OpenSource Project Bacula is a network backup solution, designed for *BSD, Linux, Mac OS X, Unix and Windows systems. Original project goals were to: ● backup any client from a Palm to a mainframe computer ● provide “Enterprise” features similar to the largest commercial applications ● assure data compatibility for 30 years ● use a Free and Open Source (GPL v2) license
  • 3. Project History Bacula = Backup + Dracula ● January 2000 – Project started ● 14 April 2002 – First release to Source Forge (version 1.16) ● 29 June 2006 – Release 1.38.11 ● January 2007 – Release 2.0.0 ● August 2007 – Release 2.2.0 (current 2.2.8) ● ... Downloads 670,013 all versions 4.2 TB
  • 4. Introduction Do you do backups? No Yes, I did one last month Yes, tarballs every week Sometimes I rsync ... Yes, CDs every week I use custom scripts Problems: How do you find the files you need to restore? How do you restore to a point in time? What is on what medium? How do you handle 2000 machines? Government regulations
  • 5. Introduction Bacula to the rescue: ● Open Source (GPLv2) ● Centrally managed ● Network backup/restore ● Many platforms (*BSD, Linux, Mac OS X, Unix Win32, ...) ● Different media (Tape, disk, USB, CD/DVD) ● Reliable ● Knows what was backed up when and where ● Allows restoring files you want (Catalog + GUI) ● Restores to a point in time ● Scales to handle 10,000 machines
  • 7. The Five Bacula Components ● Control and administration for everything is centralized ● Basic unit is a Job (one client, one set of files, ...) ● Schedules, initiates and supervises all Jobs ● Maintains the catalog (SQL database) ● Typically one Director except in very large shops ● Does file backup, restore and verification requested by Director ● Installed on each machine as a service (daemon) ● Communicates over network with Director and Storage daemon ● Needs access to all files to be backed up (root, SYSTEM) ● Typically multiple File daemons per Director; one for each machine ● Reads and writes data to the physical medium ● Disk, Tape, CD/DVD, USB, ... ● Accepts orders and authorization from the Director ● Accepts and returns data to/from File daemons (FD) ● Sends file storage location to Director -> Catalog ● Typically one per Director but with multiple devices
  • 8. The Five Bacula Components ● Allows user or administrator to control Bacula ● Communicates with Director via network ● Start jobs, review Job output, query/modify catalog ● Consoles available ○ TTY (bconsole) ○ bat a Qt 4 (GUI) – most comprehensive ○ wxWidgets (GUI) – Linux, Unix, Win32 ○ Gnome (GUI) – deprecated ○ Several web interfaces (bweb is most comprehensive) ● Restricted consoles permit users to restore their own files ● Only component not written by Bacula team ● SQL database (MySQL, PostgreSQL, or SQLite) - unique ● Tracks Jobs run, Volumes used, File locations, ... ● Permits rapid restores ● Allows inquiry of when and where files were backed up ● Old data automatically pruned by Director ● Supports multiple databases for scaling
  • 9. Features ● A central server and catalog with distributed backup ● All components communicate via the network. ● Internal scheduler for automatic and simultaneous job execution with priorities. ● Interactive restore with many options, for example: ○ current backup (most common) ○ prior backup of time and date ○ list of files/directories to restore ○ restore by JobId ● Simple administration with consoles (command line, GUI, and web) ● Labeled Volumes, to prevent accidental overwriting ● Support for ANSI / IBM labels ● Machine independent Volume data format - extensible ● Support for Unicode on Win32; UTF-8 on Unix ● Rescue CDROM for “bare metal” recovery (very complicated)
  • 10. Bacula - Hardware Features ● Backups can span multiple volumes ● Multiple backups (jobs, clients, OSes) per volume ● Supports most tape drives with configurable Device resources ● Support for multiple drive autochangers (libraries) ● Supports tape barcode readers ● Extensive Pool and Volume library management ● Rapid restoration of individual files (one user reported 4 to 6 ● hours with tar and 3 to 4 minutes with Bacula!).
  • 11. Bacula - Security Feaures ● Daemon authorization with CRAM--MD5 ● Director and Storage daemon can be run non--root ● MD5, SHA1, ... signatures for each file ● CRC checksum for each Volume block ● Restricted consoles and tray-monitors ● Communications (TLS) encryption ● Data (PKI) encryption ● Tripwire like intrusion detection (Verify)
  • 12. Bacula - Jobs who, what, where, when Jobs are the basic unifying structure Name – unique name (who) Type – what to do: backup, Backup, Migrate, Admin, Restore Level – level of detail of type: Full, Differential, Incremental FileSet – what to files to backup Client – where to get the files (machine name) Storage – where to put the files (which hardware) Pool – which set of Volumes (tapes, disk) to use Schedule – when to do it
  • 13. Bacula - Director Configuration File Director { Name = bacula-dir Query File = “/usr/local/etc/query.sql” Working Directory = “/var/bacula” PID Directory = “/var/run” Maximum Concurrent Jobs = 20 Password = “secret” Messages = Standard }
  • 14. Bacula - Director Configuration File Job { # who, what, where, when Name = “Music” Type = Backup Client = bcli FileSet = “Full Set” Storage = File Schedule = “Weekly” Pool = Standard Messages = Standard Write Bootstrap = “/var/bacula/bcli.bsr” }
  • 15. Bacula - Director Configuration File Client { Name = bcli Address = 10.0.0.1 Catalog = MyCatalog Password = “secret--bcli” File Retention = 30 days Job Retention = 6 months AutoPrune = yes Maximum Concurrent Jobs = 20 }
  • 16. Bacula Configuration - Fileset ● Include/Exclude files and/or directories ● Regex or wildcard for file/directory name selection ● Compression using similar selection criteria ● Which filesystem types to backup ● Backup OS Access Control List data (permissions) ● Sparse file handling ● Signature (MD5, SHA1, ...)
  • 17. Bacula Configuration - Fileset FileSet { Name = “Full Set” Include { Options { signature=SHA1; regex = ".*.bak$"; exclude = yes } File = / File = /usr File = /var } Exclude { File = /proc; File = /tmp; File = /sys; File = /.journal } }
  • 18. Bacula Configuration - Schedule Schedule { Name = “Weekly” Run = Level=Full 1st sun at 2:05 Run = Level=Differential 2nd--5th sun at 2:05 Run = Level=Incremental mon--sat at 2:05 } Total directives per resource: Director=27 Client=21 Storage=21 Job=60 Schedule=3, Device=52, ...
  • 19. Bacula Configuration - Storage Device { Name = File Archive Device = /var/bacula/backups Device Type = File # Directory, DVD, FIFO, Tape Media Type = File Label Media = yes Random Access = yes ... }
  • 20. Bacula Configuration - Storage AutoChanger { Name = LTO-Changer Device = Drive-0, Drive-1 Changer Device = /dev/sg0 ... } Device { Name = Drive-0 Archive Device = /dev/nst0 Device Type = Tape # DVD, File, FIFO Media Type = LTO-2 Autochanger = yes ... }
  • 21. Real Installation ● 53TB, 150,000,000 files, 90 clients, Linux ● 40TB, 40,000,000 files, 30 clients, Solaris ● LTO-3 libraries with several drives ● Large libraries with 100's of tape slots ● Libraries and drives connected with FC SAN ● 20GB, 200,000 files, 1 client, Linux disk and tape
  • 22. Project Development Project development Site : http://www.bacula.org/ Development style: ○ SourceForge project ○ Developer's guide with code style guidelines ○ Developer SVN access. Currently 16 developers may commit ○ Patches and commits reviewed by K. Sibbald ○ Code tested using a regression test suite ○ Email list for developers (bacula-devel) License: ○ GPL 2 copyright assigned to FSFE. ○ Freedom Task Force (FTF)
  • 23. Resources For users and system administrators Manual: http://www.bacula.org/en/rel-manual/index.html OS and Hardware compatibility lists (in manual) Bugs reports: http://bugs.bacula.org/ Email support list: bacula-users@lists.sourceforge.net For developers Docs: http://www.bacula.org/en/developers/index.html Email list: bacula-devel@lists.sourceforge.net, bacula-commits@lists.sourceforge.net SVN at Source Forge
  • 24. Credits Thanks Dan Langille who created the original presentation Karl Cunningham who updated it This presentation draws heavily on their work A .pdf copy of this presentation can be found at: http://www.bacula.org -> Presentations -> ... Many Thanks! samba@netstudent.polito.it