User Tools

Site Tools


bacula_manual:the_current_state_of_bacula

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
bacula_manual:the_current_state_of_bacula [2007/09/28 12:36]
ericboesewolf
bacula_manual:the_current_state_of_bacula [2010/02/05 00:39] (current)
baylink fix STRIKE to what docu wants
Line 1: Line 1:
 [[:​bacula_manual|Back]] [[:​bacula_manual|Back]]
-====== From Official Manual ======+ 
 ===== The Current State of Bacula ===== ===== The Current State of Bacula =====
 In other words, what is and what is not currently implemented and functional. In other words, what is and what is not currently implemented and functional.
 +
 +Bacula is now in v5.0.0 in its GPL release, and a lot of stuff changed going from 1 to 2 and 2 to 3; more new stuff will happen in 5.0, and we'll try to get it all documented here.
 +
 ===== What is Implemented ===== ===== What is Implemented =====
   * Job Control   * Job Control
     * Network backup/​restore with centralized Director.     * Network backup/​restore with centralized Director.
     * Internal scheduler for automatic Job execution.     * Internal scheduler for automatic Job execution.
-    * Scheduling of multiple Jobs at the same time. 
     * You may run one Job at a time or multiple simultaneous Jobs (sometimes called multiplexing).     * You may run one Job at a time or multiple simultaneous Jobs (sometimes called multiplexing).
     * Job sequencing using priorities.     * Job sequencing using priorities.
-    * Console interface to the Director allowing complete control. A shell, GNOME GUI and wxWidgets GUI versions of the Console program are available. Note, the GNOME GUI program currently offers very few additional features over the shell program. With version 2.2.0, a much more complete GUI interface has been written, which is called the Bacula Admistration Tool, or bat.+    * Console interface to the Director allowing complete control. A shell, GNOME GUI and wxWidgets GUI versions of the Console program are available. Note, the GNOME GUI program currently offers very few additional features over the shell program. With version 2.2.0, a much more complete GUI interface has been written, which is called the Bacula Admistration Tool, or bat.  5.0 binary installs put BAT in a separate RPM package.
  
   * Security   * Security
Line 16: Line 19:
     * CRAM-MD5 password authentication between each component (daemon).     * CRAM-MD5 password authentication between each component (daemon).
     * Configurable TLS (SSL) communications encryption between each component.     * Configurable TLS (SSL) communications encryption between each component.
-    * Configurable ​Data (on Volume) ​encryption on a Client by Client basis.+    * Configurable encryption ​of the backup data stored on a volume ​on a Client by Client basis.
     * Computation of MD5 or SHA1 signatures of the file data if requested.     * Computation of MD5 or SHA1 signatures of the file data if requested.
  
Line 22: Line 25:
     * Restore of one or more files selected interactively either for the current backup or a backup prior to a specified time and date.     * Restore of one or more files selected interactively either for the current backup or a backup prior to a specified time and date.
     * Restore of a complete system starting from bare metal. This is mostly automated for Linux systems and partially automated for Solaris. See Disaster Recovery Using Bacula. This is also reported to work on Win2K/XP systems.     * Restore of a complete system starting from bare metal. This is mostly automated for Linux systems and partially automated for Solaris. See Disaster Recovery Using Bacula. This is also reported to work on Win2K/XP systems.
-    * Listing and Restoration of files using stand-alone bls and bextract tool programs. Among other things, this permits extraction of files when Bacula and/or the catalog are not available. Notethe recommended way to restore files is using the restore command in the Console. These programs are designed for use as a last resort. +    * Listing and Restoration of files using stand-alone bls and bextract tool programs. Among other things, this permits extraction of files when Bacula and/or the catalog are not available. ​(Notethe recommended way to restore files is using the restore command in the Console. These programs are designed for use as a last resort.) 
-    * Ability to restore the catalog database rapidly by using bootstrap files (previously ​saved)+    * Ability to restore the catalog database rapidly by using bootstrap files optionally ​saved in the volume
-    * Ability to recreate the catalog database by scanning backup Volumes using the bscan program.+    * Ability to recreate the catalog database by scanning backup Volumes using the bscan program, if you didn't create bootstrap files.
  
   * SQL Catalog   * SQL Catalog
     * Catalog database facility for remembering Volumes, Pools, Jobs, and Files backed up.     * Catalog database facility for remembering Volumes, Pools, Jobs, and Files backed up.
-    * Support for MySQL, ​PostgreSQL, and SQLite Catalog databases. +    * Support for PostgreSQL, MySQL, and SQLite Catalog databases. 
-    * User extensible queries to the MySQL, ​PostgreSQL ​and SQLite databases.+    * User extensible queries to the PostgreSQL, ​MySQL, and SQLite databases.
  
   * Advanced Volume and Pool Management   * Advanced Volume and Pool Management
Line 37: Line 40:
     * Pool and Volume library management providing Volume flexibility (e.g. monthly, weekly, daily Volume sets, Volume sets segregated by Client, ...).     * Pool and Volume library management providing Volume flexibility (e.g. monthly, weekly, daily Volume sets, Volume sets segregated by Client, ...).
     * Machine independent Volume data format. Linux, Solaris, and Windows clients can all be backed up to the same Volume if desired.     * Machine independent Volume data format. Linux, Solaris, and Windows clients can all be backed up to the same Volume if desired.
-    * The Volume data format is upwards ​compatible ​so that old Volumes ​can always ​be read.+    * The Volume data format is backwards ​compatible: newer installations ​can always read older backup volumes. ​ If you ever tried to use DOS backup, you'll appreciate this.
     * A flexible message handler including routing of messages from any daemon back to the Director and automatic email reporting.     * A flexible message handler including routing of messages from any daemon back to the Director and automatic email reporting.
     * Data spooling to disk during backup with subsequent write to tape from the spooled disk files. This prevents tape "shoe shine" during Incremental/​Differential backups.     * Data spooling to disk during backup with subsequent write to tape from the spooled disk files. This prevents tape "shoe shine" during Incremental/​Differential backups.
Line 45: Line 48:
     * Support for autochanger barcodes -- automatic tape labeling from barcodes.     * Support for autochanger barcodes -- automatic tape labeling from barcodes.
     * Automatic support for multiple autochanger magazines either using barcodes or by reading the tapes.     * Automatic support for multiple autochanger magazines either using barcodes or by reading the tapes.
-    * Support for multiple ​drive autochangers. +    * Support for multi-drive autochangers. 
-    * Raw device backup/​restore. Restore must be to the same device.+    * Raw device backup/​restore. ​ Restore must be to the same device ​(or a device with identical specs/size FIXME).
     * All Volume blocks (approximately 64K bytes) contain a data checksum.     * All Volume blocks (approximately 64K bytes) contain a data checksum.
-    * Migration support -- move data from one Pool to another or one Volume to another.+    * HSM/Migration support -- move data from one Pool to another or one Volume to another.
     * Supports writing to DVD.     * Supports writing to DVD.
  
   * Multi-Operating System Support   * Multi-Operating System Support
     * Programmed to handle arbitrarily long filenames and messages.     * Programmed to handle arbitrarily long filenames and messages.
-    * GZIP compression on a file by file basis done by the Client program if requested before network transit.+    * GZIP compression on a file by file basis done by the Client program if requested before network transit ​- this can markedly improve backup speed; CPUs are generally quite a bit faster than network interfaces.
     * Saves and restores POSIX ACLs on most OSes if enabled.     * Saves and restores POSIX ACLs on most OSes if enabled.
-    * Access control lists for Consoles that permit restricting user access to only their data.+    * Access control lists for Consoles that permit restricting user access to only their data. (FIXME: does this mean users can be permitted to restore their own files?)
     * Support for save/​restore of files larger than 2GB.     * Support for save/​restore of files larger than 2GB.
     * Support for 64 bit machines, e.g. amd64, Sparc.     * Support for 64 bit machines, e.g. amd64, Sparc.
-    * Support ANSI and IBM tape labels.+    * Support ​for ANSI and IBM tape labels.
     * Support for Unicode filenames (e.g. Chinese) on Win32 machines on version 1.37.28 and greater.     * Support for Unicode filenames (e.g. Chinese) on Win32 machines on version 1.37.28 and greater.
-    * Consistent backup of open files on Win32 systems (WinXP, Win2003, and Vista) but not Win2000, using Volume Shadow ​Copy (VSS).+    * Consistent backup of open files on Win32 systems (WinXP, Win2003, and Vista) but not Win2000, using Volume Shadow-copy Service ​(VSS).  This makes it possible to do coherent bare-metal recovery backups of Windows machines CHECKME.
     * Support for path/​filename lengths of up to 64K on Win32 machines (unlimited on Unix/Linux machines).     * Support for path/​filename lengths of up to 64K on Win32 machines (unlimited on Unix/Linux machines).
  
Line 71: Line 74:
  
   * Since there is a client for each machine, you can backup and restore clients of any type ensuring that all attributes of files are properly saved and restored.   * Since there is a client for each machine, you can backup and restore clients of any type ensuring that all attributes of files are properly saved and restored.
-  * It is also possible to backup clients without any client software by using NFS or Samba. However, if possible, we recommend running a Client File daemon on each machine to be backed up. +  * It is also possible to backup clients without any client software by using NFS or Samba. However, if possible, we recommend running a Client File daemon on each machine to be backed up -- accessing filesystems through shares can make it impossible to get a completely clean backup of the files
-  * Bacula handles multi-volume backups. +  * Bacula handles multi-volume backups; backup jobs which are larger than your storage volumes
-  * A full comprehensive SQL standard database of all files backed up. This permits online viewing of files saved on any particular Volume. +  * A full comprehensive SQL standard database of all files backed up. This permits online viewing of files saved on any particular Volume, and makes user extensions of the system (for custom reporting or interfacing with other systems) much easier
-  * Automatic pruning of the database (removal of old records) thus simplifying database administration. +  * Automatic pruning of the catalog ​database (removal of old records) thus simplifying database administration ​- but you will never invalidate old backup volumes; catalog records can be rebuilt by reading the optional bootstrap file in the volume, or by scanning the volume
-  * Any SQL database engine can be used making Bacula very flexible. Drivers currently exist for MySQL, ​PostgreSQL, and SQLite.+  * Any SQL database engine can be used making Bacula very flexible. Drivers currently exist for PostgreSQL, MySQL, and SQLite.
   * The modular but integrated design makes Bacula very scalable.   * The modular but integrated design makes Bacula very scalable.
-  * Since Bacula uses client file servers, any database or other application can be properly shutdown by Bacula using the native tools of the system, backed up, then restarted (all within a Bacula Job).+  * Since Bacula uses client-side file service daemons, any database or other application can be properly shutdown by Bacula using the native tools of the client ​system, backed up, then restarted (all within a Bacula Job).
   * Bacula has a built-in Job scheduler.   * Bacula has a built-in Job scheduler.
   * The Volume format is documented and there are simple C programs to read/write it.   * The Volume format is documented and there are simple C programs to read/write it.
Line 84: Line 87:
   * According to one user Bacula is as fast as the big major commercial applications.   * According to one user Bacula is as fast as the big major commercial applications.
   * According to another user Bacula is four times as fast as another commercial application,​ probably because that application stores its catalog information in a large number of individual files rather than an SQL database as Bacula does.   * According to another user Bacula is four times as fast as another commercial application,​ probably because that application stores its catalog information in a large number of individual files rather than an SQL database as Bacula does.
-  * Aside from a GUI administrative interface, Bacula has a comprehensive shell administrative interface, which allows the administrator to use tools such as ssh to administrate ​any part of Bacula from anywhere (even from home).+  * Aside from a GUI administrative interface, Bacula has a comprehensive shell administrative interface, which allows the administrator to use tools such as ssh to administer ​any part of Bacula from anywhere (even from home, or your Blackberry).
   * Bacula has a Rescue CD for Linux systems with the following features:   * Bacula has a Rescue CD for Linux systems with the following features:
-    * You build it on your own system from scratch with one simple command: make -- well, then make burn.+    * You build it on your own system from scratch with one simple command: ​'make' ​-- well, then 'make burn'.
     * It uses your kernel     * It uses your kernel
     * It captures your current disk parameters and builds scripts that allow you to automatically repartition a disk and format it to put it back to what you had before.     * It captures your current disk parameters and builds scripts that allow you to automatically repartition a disk and format it to put it back to what you had before.
Line 96: Line 99:
 ===== Current Implementation Restrictions ===== ===== Current Implementation Restrictions =====
  
-  * If you have over 4 billion file entries stored in your database, the database FileId is likely to overflow. This is a monster database, but still possible. Bacula'​s FileId fields have been modified so that they can be upgraded from 32 to 64 bits in version 1.39 or later, but you must manually do so. +  * <del>If you have over 4 billion file entries stored in your database, the database FileId is likely to overflow. This is a monster database, but still possible ​- the average WinXP workstation can easily have 250,000 files on it.</​del> ​Bacula'​s FileId fields have been modified so that they can be upgraded from 32 to 64 bits in version 1.39 or later, but you must manually do so. 
-  * Files deleted after a Full save will be included in a restoration. This is typical for most similar backup programs (we have a project to correct this). +  * <del>Files deleted after a Full save will be included in a restoration. This is typical for most similar backup programs (we have a project to correct this).</​del>​ FIXME When did this get fixed? ​ 3.0.3? 
-  * Bacula'​s Differential and Incremental backups are based on time stamps. Consequently,​ if you move files into an existing directory or move a whole directory into the backup fileset after a Full backup, those files will probably not be backed up by an Incremental save because they will have old dates. You must explicitly update the date/time stamp on all moved files (we have a project to correct this).+  * Bacula'​s Differential and Incremental backups are based on time stamps. Consequently,​ if you move files into an existing directory or move a whole directory into the backup fileset after a Full backup, those files will probably not be backed up by an Incremental save because they will have old dates. You must explicitly update the date/time stamp on all moved files (we have a project to correct this).  If you are involved in enterprise level backup, you already have lots of good reasons to be running an internal NTP time sync cluster, and having all your machines sycned to it -- while that won't in fact solve this particular problem, it will make many other things work better, and this seemed a good place to mention it.
   * File System Modules (configurable routines for saving/​restoring special files) are not yet implemented.   * File System Modules (configurable routines for saving/​restoring special files) are not yet implemented.
-  * Bacula supports doing backups and restores to multiple devices of different media type and multiple Storage daemons. However, if you have backed up a job to multiple storage devices, Bacula can do a restore from only one device, which means that you will need to manually edit the bootstrap file to split it into two restores if you split the backup across storage devices. This restriction has been removed in version 2.2.0 and later, but it is not yet fully tested.+  * <del>Bacula supports doing backups and restores to multiple devices of different media type and multiple Storage daemons. However, if you have backed up a job to multiple storage devices, Bacula can do a restore from only one device, which means that you will need to manually edit the bootstrap file to split it into two restores if you split the backup across storage devices.</​del> ​This restriction has been removed in version 2.2.0 and later, but it is not yet fully tested.
   * Bacula cannot restore two different jobs in the same restore if those jobs were run simultaneously,​ unless you had data spooling turned on and the spool file held the full contents of both jobs. In other terms, Bacula cannot restore two jobs in the same restore if the jobs' data blocks were intermixed on the backup medium. This poses no restrictions for normal backup jobs even if they are run simultaneously.   * Bacula cannot restore two different jobs in the same restore if those jobs were run simultaneously,​ unless you had data spooling turned on and the spool file held the full contents of both jobs. In other terms, Bacula cannot restore two jobs in the same restore if the jobs' data blocks were intermixed on the backup medium. This poses no restrictions for normal backup jobs even if they are run simultaneously.
   * Bacula can generally restore any backup made from a client to any other client. However, if the architecture is significantly different (i.e. 32 bit architecture to 64 bit or Win32 to Unix), some restrictions may apply (e.g. Solaris door files do not exist on other Unix/Linux machines; there are reports that Zlib compression written with 64 bit machines does not always read correctly on a 32 bit machine).   * Bacula can generally restore any backup made from a client to any other client. However, if the architecture is significantly different (i.e. 32 bit architecture to 64 bit or Win32 to Unix), some restrictions may apply (e.g. Solaris door files do not exist on other Unix/Linux machines; there are reports that Zlib compression written with 64 bit machines does not always read correctly on a 32 bit machine).
bacula_manual/the_current_state_of_bacula.1190983005.txt.gz · Last modified: 2007/09/28 12:36 by ericboesewolf