Installation
This article describes how to install Bacula Enterprise Amazon EC2 Plugin.
Prerequisites
The Bacula File Daemon and the Amazon EC2 Plugin need to be installed on the host that will connect to the AWS Cloud.
The plugin is implemented over a Java layer and it must be deployed in a host running Linux. It is possible to use any of the supported Linux distributions of Bacula Enterprise, including Red Hat Linux, Debian, Ubuntu or Suse Linux Enterprise Server as some examples.
The plugin works through a Java daemon, therefore Java needs to be installed into the host using a JRE or JDK package (openjdk-11-jre for example). The Java environment should be version 11 or higher, and the Java binary must be accessible in the system PATH.
Memory and computational requirements completely vary based on the plugin’s configuration and usage, such as parallelization and data size for backup etc. It is recommended to have a minimum of 4GB RAM on the server where the File Daemon is running. By default, each job may use up to 512Mb of RAM in demanding scenarios, although it is typically less. In some situations this could be higher. Memory limits can be adjusted (see Out of memory).
Amazon Web Services REST APIs are used to perform all plugin operations. Therefore, they must be accessible through HTTPS from the host where Bacula FD and the Plugin will be deployed.
In order to fetch data, tan access key with key and secret is used to connect to AWS. Proper EC2, EBS and S3 permissions need to be associated to that access key. Details about how to configure such access key are given in the next sections.
Installation Methods
Result
The package installs the following elements:
Jar libraries in /opt/bacula/lib (such as bacula-amazon-ec2-plugin-x.x.x.jar and bacula-amazon-ec2-plugin-libs-x.x.x.jar). Note that the version of those jar archives is not aligned with the version of the package. However, that version will be shown in the joblog in a message like ‘Jar version:X.X.X’.
Plugin connection file (amazon-ec2-fd.so) in the plugins directory (usually /opt/bacula/plugins). Note that amazon-ec2 acronym means Amazon Elastic Compute Cloud.
Backend file (amazon-ec2-backend) that invokes the jar files in /opt/bacula/bin. This backend file searches for the most recent bacula-amazon-ec2-plugin-x.x.x.jar file in order to launch it, even thought usually we should have only one file.
Bacula ec2 script (bec2) that invokes the jar files in /opt/bacula/bin in ‘direct mode’. This script also searches for the most recent bacula-amazon-ec2-plugin-x.x.x.jar file in order to launch it, even thought usually we should have only one file. Its purpose is to invoke the plugin directly from/to the filesystem and not through a Bacula job.
Once the plugin is installed, it should be possible to see it loaded through a status client command in bconsole (‘Plugin:’ line must contain ‘amazon-ec2’):
*st client
Automatically selected Client: 127.0.0.1-fd
Connecting to Client 127.0.0.1-fd at 127.0.0.1:8102
127.0.0.1-fd Version: 18.0.0 (20 Nov 2023) x86_64-pc-linux-gnu ubuntu 22.04
Daemon started 14-abr-23 10:14. Jobs: run=2 running=0 max=100.
Ulimits: nofile=1024 memlock=2026356736 status=ok
Heap: heap=827,392 smbytes=436,939 max_bytes=5,100,087 bufs=153 max_bufs=248
Sizes: boffset_t=8 size_t=8 debug=600 trace=1 mode=1,2010 bwlimit=0kB/s
Crypto: fips=no crypto=OpenSSL 3.0.2 15 Mar 2022
APIs: !GPFS
Plugin: bpipe(2) amazon-ec2(1.0.0)
See also
Go back to:
Go to:
Go back to the Amazon EC2 plugin main page.
Go back to the main Dedicated Backup Solutions page.