Backup

Backup of Nova Servers

The backup of a single Nova server takes the following steps:

  • Export the Nova server metadata configuration for future restore.

  • For each volume attached to the Nova server, the plugin issues a snapshot of the volume.

  • Backup all volumes attached to the Nova server by ingestion on the proxy server.

  • Cleanup the snapshot and volume created from snapshot after it is stored in the Bacula Enterprise Storage.

This is an example of the Job and Fileset resources to backup an instance named cirros-instance1, using the OpenStack RC file /opt/bacula/etc/openstack.conf located in the proxy server:

Job {
  Name = "openstack-cirros-instance1-job"
  Description = "Backup cirros-instance1"
  Type = "Backup"
  Accurate = yes
  Client = "bacula-proxy-vm-rhel9-fd"
  Fileset = "openstack-cirros-instance1-fileset"
  JobDefs = "BackupsToDisk"
  Messages = "Default"
  Pool = "DiskBackup365d"
  Schedule = "Manual"
  Storage = "DiskAutochanger"
}

Fileset {
  Name = "openstack-cirros-instance1-fileset"
  Include {
   Options {
    IgnoreCase = yes
    OneFs = no
    Signature = Md5
   }
   # Using authentication from /opt/bacula/etc/openstack.conf
   Plugin = "openstack: proxy_server=7172b28d-4d39-4e5a-9ece-d2c76768fd2b server=cirros-instance1 verbose=1"
  }
}

And a successful joblog of the Nova servers backup job run, using verbose=1 in the Plugin line in the Fileset:

bacula-dir JobId 166: Start Backup JobId 166, Job=openstack-cirros-instance1-job.2025-05-05_16.25.00_51
bacula-dir JobId 166: Connected to Storage "DiskAutochanger" at 10.0.99.131:9103 with TLS
bacula-dir JobId 166: Using Device "DiskAutochanger_Dev1" to write.
bacula-dir JobId 166: Connected to Client "bacula-proxy-vm-rhel9-fd" at 10.0.100.35:9102 with TLS
bacula-proxy-vm-rhel9-fd JobId 166: Connected to Storage at 10.0.99.131:9103 with TLS
bacula-sd JobId 166: Volume "Vol-0001" previously written, moving to end of data.
bacula-sd JobId 166: Ready to append to end of Volume "Vol-0001" size=2,149,713,765
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Plugin log of this job available in: "/opt/bacula/working/openstack-0.log"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Trying to get OSClient for endpoint=http://10.0.100.35/identity/v3 user=admin password=********** domain=Default project=demo
bacula-proxy-vm-rhel9-fd JobId 166: openstack: NOVA Server Backup START
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Start Server backup "cirros-instance1 (257a54e7-73ac-4c10-bd01-a37f61f9a05d)"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Server configuration backup for "257a54e7-73ac-4c10-bd01-a37f61f9a05d"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Backing up empty name file NAME="/nova/server/257a54e7-73ac-4c10-bd01-a37f61f9a05d_cirros-instance1.name"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Server flavor backup
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Start backup for volume "485b7cec-2c92-4d77-a1f8-ea981d6192cc"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Snapshot volume "485b7cec-2c92-4d77-a1f8-ea981d6192cc"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Attaching volume "ff3c50df-2e92-46d9-84a6-0adc0bb53ebb" created from snapshot to proxy
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Proxy volume "ff3c50df-2e92-46d9-84a6-0adc0bb53ebb" for volume "485b7cec-2c92-4d77-a1f8-ea981d6192cc" attach SUCCESS
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Backup of volume "485b7cec-2c92-4d77-a1f8-ea981d6192cc" SUCCESS      FD Bytes Written 1073747992
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Detach volume "ff3c50df-2e92-46d9-84a6-0adc0bb53ebb" from proxy server
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Deleting detached volume "ff3c50df-2e92-46d9-84a6-0adc0bb53ebb"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Issue volume delete command for volume ID=ff3c50df-2e92-46d9-84a6-0adc0bb53ebb FORCE=true
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Deleting volume snapshot "b3752123-792d-4c8c-a146-0b600fbf44fb"
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Issue snapshot delete command for snapshot ID=b3752123-792d-4c8c-a146-0b600fbf44fb
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Backup done for volume "485b7cec-2c92-4d77-a1f8-ea981d6192cc" total bytes sent 1073747992
bacula-proxy-vm-rhel9-fd JobId 166: openstack: Server backup done for "cirros-instance1 (257a54e7-73ac-4c10-bd01-a37f61f9a05d)" 1 volumes found
bacula-proxy-vm-rhel9-fd JobId 166: openstack: NOVA Server backup DONE
bacula-sd JobId 166: Elapsed time=00:07:54, Transfer rate=2.265 M Bytes/second
bacula-sd JobId 166: Sending spooled attrs to the Director. Despooling 4,056 bytes ...
bacula-dir JobId 166: Bacula Enterprise bacula-dir 18.1.4 (02May25):
 Build OS:               x86_64-redhat-linux-gnu-bacula-enterprise redhat (Blue
 JobId:                  166
 Job:                    openstack-cirros-instance1-job.2025-05-05_16.25.00_51
 Backup Level:           Full
 Client:                 "bacula-proxy-vm-rhel9-fd" 18.1.4 (02May25) x86_64-redhat-linux-gnu-bacula-enterprise,redhat,(Blue
 FileSet:                "openstack-cirros-instance1-fileset" 2025-05-05 15:07:44
 Pool:                   "DiskBackup365d" (From Command input)
 Catalog:                "BaculaCatalog" (From Client resource)
 Storage:                "DiskAutochanger" (From Command input)
 Scheduled time:         05-May-2025 16:25:00
 Start time:             05-May-2025 16:25:03
 End time:               05-May-2025 16:32:57
 Elapsed time:           7 mins 54 secs
 Priority:               10
 FD Files Written:       9
 SD Files Written:       9
 FD Bytes Written:       1,073,916,130 (1.073 GB)
 SD Bytes Written:       1,073,922,513 (1.073 GB)
 Rate:                   2265.6 KB/s
 Software Compression:   None
 Comm Line Compression:  96.4% 27.9:1
 Snapshot/VSS:           no
 Encryption:             no
 Accurate:               yes
 Volume name(s):         Vol-0001
 Volume Session Id:      13
 Volume Session Time:    1746429478
 Last Volume Bytes:      3,224,569,980 (3.224 GB)
 Non-fatal FD errors:    0
 SD Errors:              0
 FD termination status:  OK
 SD termination status:  OK
 Termination:            Backup OK

Backup of Glance Images

The backup of the Glance images will generate a temporary file named img-<number>.tmpimg in the /opt/bacula/working directory of the Bacula proxy server:

# ls -l /opt/bacula/working/*.tmpimg
-rw-r-----. 1 root bacula 0 May 13 11:18 /opt/bacula/working/img-9359619567641477501.tmpimg

Upon completion, this file is stored in the Bacula Storage used by the backup job and subsequently deleted from the /opt/bacula/working directory.

Note

It is recommended to have enough space in the /opt/bacula/working directory of the Bacula proxy server to store the img-<number>.tmpimg temporary file for Glance images backups. The space should be at least equivalent to the size of the largest Glance image in the OpenStack server. When running concurrent backups of Glance images, additional space will be necessary to hold the img-<number>.tmpimg temporary files generated by the concurrent jobs.

This is an example of the Job and Fileset resources to backup all the Glance images only, using the OpenStack RC /opt/bacula/etc/openstack.conf file located in the proxy server:

Job {
    Name = "openstack-images-job"
    Description = "Backup OpenStack images"
    Type = "Backup"
    Accurate = yes
    Client = "bacula-proxy-vm-rhel9-fd"
    Fileset = "openstack-images-fileset"
    JobDefs = "BackupsToDisk"
    Messages = "Default"
    Pool = "DiskBackup365d"
    Schedule = "Manual"
    Storage = "DiskAutochanger"
}

Fileset {
    Name = "openstack-images-fileset"
    Include {
      Options {
        Signature = Md5
      }
      # Using authentication from /opt/bacula/etc/openstack.conf
      Plugin = "openstack: proxy_server=7172b28d-4d39-4e5a-9ece-d2c76768fd2b glance_image_backup=1 nova_server_backup=0 verbose=1"
    }
}

Note

The above backup will not include Nova servers, but Glance images only, by using nova_server_backup=0.

And a successful joblog of the Glance images backup job run, using verbose=1 in the Plugin line in the Fileset:

bacula-dir JobId 215: Start Backup JobId 215, Job=openstack-images-job.2025-05-13_11.14.43_46
bacula-dir JobId 215: Connected to Storage "DiskAutochanger" at 10.0.99.131:9103 with TLS
bacula-dir JobId 215: Using Device "DiskAutochanger_Dev1" to write.
bacula-dir JobId 215: Connected to Client "bacula-proxy-vm-rhel9-fd" at 10.0.100.35:9102 with TLS
bacula-proxy-vm-rhel9-fd JobId 215: Connected to Storage at 10.0.99.131:9103 with TLS
bacula-sd JobId 215: Volume "Vol-0021" previously written, moving to end of data.
bacula-sd JobId 215: Ready to append to end of Volume "Vol-0021" size=1,171,586,428
bacula-proxy-vm-rhel9-fd JobId 215: openstack: Plugin log of this job available in: "/opt/bacula/working/openstack-0.log"
bacula-proxy-vm-rhel9-fd JobId 215: openstack: Trying to get OSClient for endpoint=http://10.0.100.35/identity user=admin password=********** domain=Default project=demo
bacula-proxy-vm-rhel9-fd JobId 215: openstack: Trying to get OSClient for endpoint=http://10.0.100.35/identity/v3/ user=admin password=********** domain=Default project=demo
bacula-proxy-vm-rhel9-fd JobId 215: openstack: GLANCE Image Backup START
bacula-proxy-vm-rhel9-fd JobId 215: openstack: Backup of volume "6ae3c741-1ec3-4680-8e45-f5e6f67f7aaf" SUCCESS      FD Bytes Written 21430416
bacula-proxy-vm-rhel9-fd JobId 215: openstack: Backup of volume "d8dd9b83-bc66-471e-ab03-27968d9edb4f" SUCCESS      FD Bytes Written 546002518
bacula-proxy-vm-rhel9-fd JobId 215: openstack: GLANCE Image Backup DONE
bacula-sd JobId 215: Elapsed time=00:26:37, Transfer rate=355.3 K Bytes/second
bacula-sd JobId 215: Sending spooled attrs to the Director. Despooling 3,621 bytes ...
bacula-dir JobId 215: Bacula Enterprise bacula-dir 18.1.4 (02May25):
  Build OS:               x86_64-redhat-linux-gnu-bacula-enterprise redhat (Blue
  JobId:                  215
  Job:                    openstack-images-job.2025-05-13_11.14.43_46
  Backup Level:           Full
  Client:                 "bacula-proxy-vm-rhel9-fd" 18.1.4 (02May25) x86_64-redhat-linux-gnu-bacula-enterprise,redhat,(Blue
  FileSet:                "openstack-images-fileset" 2025-05-07 15:27:05
  Pool:                   "DiskBackup365d" (From Job resource)
  Catalog:                "BaculaCatalog" (From Client resource)
  Storage:                "DiskAutochanger" (From Job resource)
  Scheduled time:         13-May-2025 11:14:41
  Start time:             13-May-2025 11:14:47
  End time:               13-May-2025 11:41:27
  Elapsed time:           26 mins 40 secs
  Priority:               10
  FD Files Written:       8
  SD Files Written:       8
  FD Bytes Written:       567,521,260 (567.5 MB)
  SD Bytes Written:       567,527,548 (567.5 MB)
  Rate:                   354.7 KB/s
  Software Compression:   None
  Comm Line Compression:  0.8% 1.0:1
  Snapshot/VSS:           no
  Encryption:             no
  Accurate:               yes
  Volume name(s):         Vol-0021
  Volume Session Id:      25
  Volume Session Time:    1746632396
  Last Volume Bytes:      1,739,607,794 (1.739 GB)
  Non-fatal FD errors:    0
  SD Errors:              0
  FD termination status:  OK
  SD termination status:  OK
  Termination:            Backup OK

See also

Next articles:

Go back to: Operations.