7

I've installed Bareos 20.0.1 on Ubuntu 20.04.3 according to their documentations here.

I'm trying to backup a remote PostgreSQL database and apparently, there are three possible scenarios and the pros of the PostgreSQL Plugin (third solution), makes it the obvious choice.

Following the PostgreSQL Plugin documentations, in the Prerequisites for the PostgreSQL Plugin section, there is a line saying:

The plugin must be installed on the same host where the PostgreSQL database runs.

Now what I'm failing to understand is that, if I'm supposed to install the plugin on my database node, how will the bareos machine and the plugin on the db machine communicate?

Furthermore, I've checked out the source code for this module on their GitHub, and I see that the plugin source code tries to find files locally and that is a proof to the aforementioned statement.

In a desperate act, I tried installing the plugin and its dependencies on the bareos node and I keep getting the error Error: python3-fd-mod: Could not read Label File /var/lib/postgresql/13/main/backup_label which is actually trying to find the backup_label file in the bareos node.

Here is the configuration for my fileset:

FileSet {
    Name = "psql"
    Include  {
        Options {
            compression=GZIP
            signature = MD5
        }
        Plugin = "python"
                 ":module_path=/usr/lib/bareos/plugins"
                 ":module_name=bareos-fd-postgres"
                 ":postgresDataDir=/var/lib/postgresql/13/main"
                 ":walArchive=/var/lib/postgresql/13/wal_archive/"
                 ":dbHost=DATABASE_DNS"
                 ":dbuser=DATABASE_USER"
    }
}

Note that the plugin document specifies the dbHost parameter as:

useful, if socket is not in default location. Specify socket-directory with a leading / here

However, since I'm trying a remote database, I'm using the DNS address of the remote database. I verified the bareos connection to database and made sure the backup_label file gets created while the PostgreSQL backup job runs.

I'll be happy to provide more details if necessary. Appreciate any help or even guesses :-D

0 Answers0