Create volume pool#

A Pool is a logical space for storing and grouping Bacula volumes. It is not a physical location in the file system (like a directory), but a virtual construct defined in the Bacula database.

General information#

Purpose of a pool#

The main purpose of a pool is to group volumes for specific use cases. For example, you can create:

  • A pool for incremental backups

  • A pool for differential backups

  • A pool for full backups

Alternatively, you might organize pools by Bacula client — grouping volumes based on the source of the backup data.

Pool inheritance#

One key feature of a pool is inheritance. Any new volume created within a pool automatically inherits settings defined in that pool. These include configuration such as:

  • Limit properties

  • Volume recycling properties

  • Other pool-level configurations

For example, if a pool has VolumeRetention = 180 days, all new volumes created in that pool will inherit this setting automatically. In this way, pool directives act like a template for volumes.

Assigning a pool in backup jobs#

In Bacula jobs, you don’t directly specify which volume to use to write backup. Instead, you assign a Pool to the job configuration. Bacula will then select an appropriate volume from the specified pool during the backup process.

../_images/bacularis_create_volume_pool_using_pool.png

What is required?#

  • Any version of the Bacularis web interface

How to do it?#

You can create a pool in two ways:

  • From the Director page under the Configure director tab

  • From the Pools page using the Add pool button

This guide uses the second method.

Create Pool#

Creating a Pool step-by-step:

  • Go to the Pools page

  • Click the Add pool button — this opens the pool configuration form

  • Provide a name and an optional description

  • Set the PoolType directive — the only valid value here is Backup (required)

  • Configure additional pool directives as needed based on your backup plan

Prepare pool volumes#

There are three main methods for creating volumes within a pool:

  • Automatically created volumes

    • Commonly used for file-based storage

    • Volumes are created automatically when needed

    • Warning: If old volumes aren’t reused, disk space may run out due to continuous creation of new volumes

    • To reuse volumes, configure Automatic Volume Recycling

  • Predefined volumes

    • Useful for physical tapes and file volumes

    • Volumes are labeled in advance (before backup starts) and used in autochanger device.

    • Mostly it requires Automatic Volume Recycling

  • Manually created volumes

    • Volumes are manually created and labeled when needed

Using Pool#

To use a pool, assign it to a Job resource. Pools can also be used in:

  • JobDefs resource

  • Schedule resource

  • other pools (via the NextPool directive)

Depending on your job type and backup strategy, use one or more of the following Job resource directives:

  • Pool — default pool for the job

  • FullBackupPool — pool for full backups

  • IncrementalBackupPool — pool for incremental backups

  • DifferentialBackupPool — pool for differential backups

  • VirtualFullBackupPool — pool for virtual full backups

  • NextPool — used for copy/migration jobs or virtual full backups

Important notes#

  • After modifying a pool, you must apply the changes by running the update pool command.

    In Bacularis:

    [Main menu] => [Page: Pools] => [Button: Details for selected Pool in table] => [Button: Update pool]
    
  • Volume inheritance only occurs at creation. If you change a pool’s configuration, the changes do not affect existing volumes. To apply new settings to existing volumes, you must update volume properties manually. This can be done both in Bacula bconsole and in Bacularis.

    In Bacularis:

    [Main menu] => [Page: Pools] => [Button: Details for selected Pool in table] => [Button: Update all vols. in pool]
    

Video guide#

A video tutorial is available that demonstrates how to create a Bacula pool using Bacularis.