Bacula-users

[Bacula-users] Bacula version 3.0.0 released to Source Forge

2009-04-09 16:33:55
Subject: [Bacula-users] Bacula version 3.0.0 released to Source Forge
From: Kern Sibbald <kern AT sibbald DOT com>
To: "bacula-announce" <bacula-announce AT lists.sourceforge DOT net>
Date: Thu, 9 Apr 2009 22:28:57 +0200
Hello,

This is to inform you that we have uploaded the Bacula version 3.0.0 source 
tar files and the Win32/64 installer files to the Bacula Source Forge 
download location.

There are quite a number of new features in this release, and upgrading to it 
requires a database upgrade, so please read the release notes carefully 
(included below) and the documentation for the new features at:

http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html

There is still a good deal of work to do to finish the release process (mainly 
reorganizing the web site manuals ...), but at least the source files are 
released.  The rpms should follow shortly (probably this weekend).

If you are currently using 2.4.4, please note that within a few months that 
version will no longer be supported, so please consider the possibility of 
upgrading.

This release probably has the most new features that we have ever released, 
and it has taken a long time to produce it.  The basic code is very well 
tested, and if you stick to 2.4.4 features, you are unlikely to experience 
problems.  However, many of the new features have not been well tested, so 
your help will be appreciated.

The following issues with 3.0.0 are known and we are working on them:

1. The documentation is not 100% complete (there are so many new features that 
we missed documenting some).  

2. All the new documentation is in the New Features chapter, but not all of it 
has yet been integrated back into the appropriate chapters.

3. James has reported that the Exchange plugin may crash if you cancel a job 
while it is running.  He is working on this.

4. The SD has many new features that will make it more stable. One in 
particular is that it knows what Volumes will be read during a migration, 
copy, or Virtual backup job, and will ensure that they are not selected for 
writing (something easy to do if you are using disk files and the same pool 
for reading an writing).  However, the day after the release was cut, I found 
a problem with this code that prevents it from working properly during 
certain pre-allocations of the write tape.

5. There is still an outstanding bug report on VSS failing (it seems to be a 
bit of a rare case).

As I previously announced, we will now make 3.0.0 our main release source code 
stream, and we hope to release new version every six months and bug fix 
updates even sooner.  To be able to do this, we will support version 2.4.4 
only for a few more months.  There after the project will only support the 
most current release ...

This release comprises a lot of work by a lot of different people and many 
contributions.  Normally I hesitate to mention particular people or 
contributions because I always forget someone, but since this was such a big 
release, I would like to mention at least the big contributions:

Sponsor Company(s)  -  Programmer - Project
Bacula Systems - Eric Bollengier - Accurate Backup
Bacula Systems - Eric Bollengier - Catalog format enhancements
Bacula Systems - Eric Bollengier - bextract non-portable Win32 data
Bacula Systems - Eric Bollengier - Win64 File daemon
Bacula Systems - Eric Bollengier - SD deadlock detection + postmortum dump
Bacula Systems - Eric Bollengier - Faster Attribute despooling if DIR & FD on 
                                                     same machine
Bacula Systems - Eric Bollengier - Virtual tape emulation
Bacula Systems - Kern Sibbald - USB rescue key
Uniinet funded development - James Harper - MS Exchange plugin

Personal contributions:
Kjetil Torgrim Homme - Regex expressions for restore in bootstrap file
Marco van Wieringen - ACL code overhaul
Marco van Wieringen - Solaris ZFS/NFSv4 ACL support
Marco van Wieringen - Extended Attribute support
Marco van Wieringen - Shared Objects
Dirk Bartley - Bat speedup + stability improvement + many enhancements
Joao Henrique Freitas - libdbi catalog driver
Scott Barninger - rpm packaging
Kern Sibbald - many big and little projects ...
Many people -- see the AUTHORS file.

Many thanks to everyone for making Bacula what it is today.

=== List of new features ===
- Accurate Backup
- Copy Jobs
- ACL code overhaul
- Solaris ZFS/NFSv4 ACL support
- Extended Attribute support
  --disable-xattr (default=auto)
- Shared Objects
  --enable-libtool (default)
  --disable-libtool
- Virtual Backup
- Catalog Format Enhancements
  - Support for more than 4 Billion file entries
  - New stats tables
- Duplicate Job Control
- TLS Authentication
- bextract non-portable Win32 data
- State File updated at Job Termination
- Bacula Plugins
  - FD bpipe plugin
  - FD Exchange plugin
- libdbi DB driver
- Console Enhancements
  - status slots
  - list joblog
  - command separator
- Bootstrap regex
- Restore seek optimization
- Virtual Tape Emulation
- Bat Enhancements
- RunScript Enhancements
- Status enhancements
- FD connect timeout default to 3 minutes
- ftruncate implemented for NFS Volumes
- FD Version compatibily flag
- Statistics Enhancements
- Faster Attribute despooling
- Document split into 6 manuals
- GPLv2 license now compatible with OpenSSL
- Win64 File daemon
- Postmortum dump improvements in SD
- Deadlock mutex detection in SD
- Improved Volume management in SD to avoid deadlocks.
- New configure install options
  --docdir=  (default=/usr/share/doc/bacula-VERSION)
  --htmldir= (default=/usr/share/doc/bacula-VERSION/html -- bat help files)
  --plugindir= (default=sysconfdir, where plugins will be installed)
- New Bare Metal Recovery with USB key. See rescue/linux/usb
 New Directives:
- Max Full Interval
- Max Diff Interval
- Honor No Dump Flag
- Exclude Dirs Containing
- Recycle Pool
- Max Run Sched Time
- Max Wait Time    
- Full/Diff/Incr Max Run Time
- Scratch Pool
- Max Console Connections
- Spool Size (in Job resource)
- Allow Mixed Priorities
- Allow Duplicate Jobs
- Allow Higher Duplicates
- Cancel Queued Duplicates
- Cancel Running Duplicates
- TLS Authenticate
- Console (in RunScript)

New features from Project Items Completed for version 3.0.0
    also listed above:
Item  1:  Accurate restoration of renamed/deleted files
Item  3:  Merge multiple backups (Synthetic Backup or Consolidation)
Item  4:  Implement Catalog directive for Pool resource in Director
Item  5:  Add an item to the restore option where you can select a Pool
Item  8:  Implement Copy pools
Item 12:  Add Plug-ins to the FileSet Include statements.
Item 13:  Restore only file attributes (permissions, ACL, owner, group...)
Item 18:  Better control over Job execution
Item 26:  Store and restore extended attributes, especially selinux file 
contexts
Item 27:  make changing "spooldata=yes|no" possible for
Item 28:  Implement an option to modify the last written date for volumes
Item  n:  Split documentation into several books
================================


       Release Notes for Bacula 3.0.0

  Bacula code: Total files = 520 Total lines = 205,459 (*.h *.c *.in)

The diff between 2.4.4 and 2.5.x is 208,340 lines, so this release
represents an enormous effort.

This Director and Storage daemon must be upgraded at the same time,
but they should be compatible with all 2.4.x File daemons, unless you
use some of the new features that affect the FD.  In other words, you should
not have to upgrade all your File daemons when you upgrade. However, any
release of version 2.5.40 or greater requires a database upgrade.

================== Warning !!!!!! ==========================

New Catalog format in version 3.0.0 (2.5.40 or later)
-----------------------------------------------------

This release of Bacula uses a new catalog format. We provide a set of
scripts that permit to convert a 2.4.x (version 10) catalog to 3.0.0 (version
11).  The Bacula project rpms distributed on Source Forge will automatically
detect the database change and do the upgrade for you.  We strongly
recommend that you save a copy of your existing database before upgrading
using rpms.

The simplest way to upgrad the database assuming you are building from
source:
1. Stop any current version of Bacula from running.
2. Save a copy of your existing database.
3. Configure, build, and install the 3.0.0 version of Bacula
   Note the new ./configure options in the manuals see the link
   at the bottom of this file.
4. cd <your-scripts-installation-directory>
5. ./update_bacula_tables
6. If you have multiple catalogs, edit the update_bacula_tables
   script and put the name of another database, and then
   execute the script again. Repeat this until all Bacula
   catalogs have been updated.
7. Start the new Bacula.  If everything worked, it should
   not print any error messages.

The upgrade operation will convert the FileId index field of the File table
from 32 bits to 64 bits.  This operation will take TIME and will *temporarily* 
DOUBLE THE SIZE of your catalog. Bacula must be shutdown during this update,
so, won't be able to run jobs during this period.  For example, a 3 million 
files
catalog will take 2 mins to upgrade on a normal machine.  Don't forget to
backup it before executing the script.

If you start from scratch, you don't need to run the update_bacula_tables
script because the create_bacula_tables script automatically creates the new
table format.  However, if you are using a version of Bacula older than 2.5.40
(e.g.  2.4.4) then you need to run the update_bacula_tables script that will
be found in the <bacula>/src/cats directory after you run the ./configure
command.  As mentioned above, before running this script, please backup your
catalog database, and when you do running it, be sure shutdown Bacula and be
aware that running the script can take some time depending on your database
size.


Important New configure options :
----------------------

This release of Bacula 3.0.0 uses libtool by default
to generate the Bacula libraries as shared objects rather than
being directly linked in as in prior versions.  This means that
the Bacula shared objects, must either be in a shared object 
directory known to the loader or they must be in the directory
where the Bacula binaries are installed.  It is also possible
to explicitly specify the libraries directory on the ./configure
line (--libdir=/full-path/dir), but this should not be necessary.

  ./configure --libdir=<full-path>

If you have problems with libtool or you wish to use the old 
way of building libraries and linking them into Bacula, you 
can do so by disabling libtool on the configure command line with:

  ./configure --disable-libtool

During the installation of Bacula 3.0.0, it will now install
bat help files (if you have configured bat).  These files
are placed in /usr/share/doc/bacula/html by default. If you
want to put them elsewhere use:

  ./configure --htmldir=<full-path>

During the installation of Bacula, it will now install the
ReleaseNotes, License, technotes, ChangeLog, and similar
files in /usr/share/doc/bacula by default.  If you
want to put them elsewhere use:

  ./configure --docdir=<full-path>

During the installation of Bacula, any plugins will be
installed in the plugindir, which is by default the
same as libdir (/usr/lib).  You can specify an alternate
location with:

  ./configure --with-plugindir=<full-path>

==============================================================

This release includes large number of new features and changes.
It should be more or less compatible with previous xx.conf files
and File daemons providing that you are not using any of the new
features.

Please see the New Features chapter of the new manual, which documents
some but not all the new features (we are still working on it):

http://www.bacula.org/manuals/en/concepts/concepts/New_Features.html
  
The ChangeLog has more details.


------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Bacula-users mailing list
Bacula-users AT lists.sourceforge DOT net
https://lists.sourceforge.net/lists/listinfo/bacula-users