After an extensive selection process my employer and I have decided to use Veeam Backup and Replication as our new backup software. I wanted to install Veeam Backup & Replication (VBR) using Chocolatey, as I am a big fan of their setup. However there were no packages available to install them.
Chocolatey requires that a package will only install one piece of software. A package should download the software from the original location or, if the license allows it and the file is not too big, it’s embedded in the package.
VBR Ships as ISO image with installers. This is where the fist challenge started; Chocolatey did not have any helpers to install software from an ISO. Therefore, a couple of weeks ago I created the ISO Mount extension. After that, I was able to start creating packages for VBR.
Also, the VBR ISO contains a lot of different pieces of software. Depending on your setup, you would only install some parts on your machine. The ISO is also quite big, currently it’s almost 5G in size.
For example, let’s say you want to have your local computer setup as a management console that connects to your VBR Server. You’ll probably want to install the console and the five different explorers. Traditionally this would result that you have to download the ISO 6 times. In other words, a lot of unnecessary traffic. Personally, I don’t think that’s acceptable. Therefore, I started with a Chocolatey package that downloads the ISO and verifies its checksum. It does nothing more than just that.
With every update of VBR, they ship an update executable on their ISO. Executing this is required to update the software to the latest release and contains updates to all of the products shipped on their ISO. Therefore, during the installation of the Chocolatey packages, an extra installation is required. Usually you would want to run this update file once at the end of your installation. However, Chocolatey currently does not have an method to trigger a “post install” command. Therefore, it’s executed every time after the installation of each package.
When you are updating the Chocolatey packages, from an older version of the update file to a new version of the update file, a reboot could be triggered. If you have installed the Meta Package (see below), the update can mark some of the packages as failed. This will result in unmanaged packages. I have seen them disappear from your installed list.
choco feature enable -n=exitOnRebootDetected -- or -- choco upgrade mypackage --exit-when-reboot-detected
- ISO downloader
- Management Console (meta package)
The server package has a lot of parameters that you can provide. Some of them are required depending on your situation. To have choco remember parameters on upgrade, be sure to set
choco feature enable -n=useRememberedArgumentsForUpgrades
The VBR Server requires a MSSQL Server to be available. Therefore an additional package should be installed on one of your systems. In this post, I’ll assume you are doing this on your VBR server.
Depending on your requirements, you have the option of several packages and installation options. As VBR ships with SQL Express software, I also have picked the SQL Express package. To install SQL Express, execute the following command.
choco install sql-server-express After installing SQL Express, you can now continue to install VBR Server. To install VBR Server, you’ll need to specify some parameters. Depending on your environment and requirements, you might need to change some of the parameters or add extra ones.
choco install veeam-backup-and-replication-server --params '"/sqlServer:(local)\SQLEXPRESS /username:[username] /password:[password]"' You should change [username] and [password] to your local or domain username / password that has permissions and access to the database server.
For a list of parameters, please have a look at the package page.