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
Go back to: Operations.