• Using Bacula to backup a Synology Nas

    Since I use Bacula as my main backup solution and Synology NAS systems for file storage, I wanted to have a way to backup my Synology NAS’s using Bacula but there is not a Bacula package for Synology.  I searched the web a good bit and nothing that I could find was really a trustworthy solution until I found a forum talking about just creating a NFS share onto another system and backing the share up on that system.  I tried it and it works great and is amazingly fast for both backups and restores.

    Here is how my system works.

    I created a Virtual Machine running Centos 7 on a separate system and installed the Bacula File Damon and got it all communicating with the Bacula Director.  I then mounted all of the NFS shares that I wanted to backup onto this system and verified that the system had indeed mounted the shares.  I first had to go into the NFS share permissions on the Synology and give NFS permission to this new servers IP address so it could mount and access the share.  I gave it read/write rights so bacula could both backup and restore to the Synology NAS.

    Once I got all the shares mounted, I created the the File Set on the main Bacula server for these mounts.  I’m using Webmin in these screenshots which works great however I do recommend you sFTP into your main bacula server before making any changes with Webmin and download the etc/bacula folder before starting because I have had Webmin screw up the bacula-dir file more than one time.  I set the compression level to LZO to compress the files.  This is compressing the file on average 15% and the speed is great; backing up over 250GB per hour on my systems and network.

    After the file set is created, I create the job and set the client to the system I setup for backing up the Synology and choose the new file set I created.


    Additional Configuration that I do on my backup jobs

    Once I completed these, I downloaded the etc/bacula directory again because I have Bacula write the bootstrap file to a different location.  In my case, I have another NAS that I use for system backups that I have Bacula write the bootstrap files to for safe keeping if the main Bacula system has an issue.  To add this function, I simply add the following line to the jobs section of the job in the bacula-dir file.

    Write Bootstrap = “/BackupNAS/BaculaBootstraps/%c_%n.bsr”

    This is the complete Job section of a sample job.  Note that this one is for a backup up of a SQL database and I have a run before batch file that create a .sql backup file of the database.

    Job {
    Name = Main-Databases
    Type = Backup
    Level = Incremental
    Client = main-database-fd
    FileSet = main-database-FS
    Schedule = WeeklyCycle
    Storage = BackupSD
    Pool = BackupPool
    Messages = Standard
    Client Run Before Job = C:\DatabaseBackups\script\sql.bat
    Write Bootstrap = “/BackupNAS/BaculaBootstraps/%c_%n.bsr”

    This insures the Bacula bootstrap file is in a safe location if the main system fails.

Comments are closed.