Automating Installation with Initial Configuration
You can modify the Veeam Software Appliance ISO file to allow unattended installation and configuration. This allows you to automatically deploy Veeam Software Appliance with preconfigured users, passwords, multifactor authentication codes, and other settings.
Important |
Installing additional Linux packages, third-party applications, or changing OS settings (other than those that can be controlled by the Veeam Host Management Console) on Veeam Appliances is not supported. Veeam Customer Support cannot provide technical support for appliances with unsupported modifications due to their unpredictable impact on the security, stability, and performance of the appliance. For more information, see this KB article. |
Editing ISO File
To automate the installation and configuration of Veeam Software Appliance, do the following:
- Download the latest version of the ISO file from the Product Downloads section of your Veeam account.
- Unpack the ISO file.
- Make the following changes to the %path_to_unpacked_ISO_folder%\EFI\BOOT\grub.cfg file to automate the installation process:
- To set the default option to install, change the set default parameter to "Veeam Backup & Replication v13.0>Install - fresh install, wipes everything (including local backups)".
- To set a GRUB menu timeout, change the set timeout parameter to any positive value.
- To set all questions to be answered automatically, replace the install menu entry LABEL=Rocky-9-2-x86_64:/vbr-ks.cfg quiet with LABEL=Rocky-9-2-x86_64:/vbr-ks.cfg quiet inst.assumeyes.
- Save the changes.
- Make the following changes to the vbr-ks.cfg file to automate the configuration process:
Important |
The changes must be added between %post and # post end. |
- To disable the initialization wizard, add the following line right after log "Veeam post install commands":
touch /etc/veeam/cockpit_auto_test_disable_init |
- To create a configuration file that contains answers for the initialization wizard, add the following code with your specified answers:
cat << EOF >> /etc/veeam/vbr_init.cfg veeamadmin.password=Ex@mp13C0mpl3xP@ssw0rd veeamadmin.mfaSecretKey=JVDECICTMVRXEZLU veeamadmin.isMfaEnabled=false veeamso.password=Ex@mp13C0mpl3xP@ssw0rd2 veeamso.mfaSecretKey=JVDECICTMVRXEZLU veeamso.isMfaEnabled=true veeamso.recoveryToken={8*}-{4*}-{4*}-{4*}-{12*} veeamso.isEnabled=true ntp.servers=myntp01.example.local ntp.runSync=true vbr_control.runInitIso=true vbr_control.runStart=true EOF |
Note |
Consider the following when specifying your answers:
If your specified answers do not meet these requirements, the configuration process will fail. To troubleshoot errors, you can use the Live OS ISO to view the /var/log/VeeamBackup/veeam_hostmanager/veeamhostmanager.log file and the system logs files in the /var/log/anaconda directory. |
- To create a script that will complete the configuration process using the answer file, add the following code:
set -e cat << EOF >> /etc/veeam/veeam-init.sh #!/bin/bash set -eE -u -o pipefail /opt/veeam/hostmanager/veeamhostmanager --apply_init_config /etc/veeam/vbr_init.cfg systemctl disable veeam-init EOF chmod +x /etc/veeam/veeam-init.sh |
- Add a systemd service definition and enable the service to run the script once after the first boot:
cat << EOF >> /etc/systemd/system/veeam-init.service [Unit] Description=One-shot daemon to run /opt/veeam/hostmanager/veeamhostmanager at next boot [Service] Type=oneshot ExecStart=/etc/veeam/veeam-init.sh RemainAfterExit=no [Install] WantedBy=multi-user.target EOF systemctl enable veeam-init.service |
- Repack the ISO.
- Mount the ISO file to the machine where you plan to install Veeam Software Appliance or burn the ISO file to a flash drive or other removable storage device. If you plan to install Veeam Software Appliance on a virtual machine, use the built-in tools of the virtualization management software to mount the ISO file.
Note |
To create a bootable USB stick, it is recommended that you use Rufus with the default settings. Note that you need to select Write in DD Image mode option when prompted. |
- Boot the machine and wait for the installation and configuration processes to finish. When the machine is ready to use, the Veeam Host Management console will be displayed.
Optional Changes
You can also set hostname and set IP, but this is optional. To do this, edit the vbr-ks.cfg. file as described in the following sections.
Setting Hostname
To set a specific hostname, edit the hostname parameter in the network command:
network --bootproto=dhcp --nodns --hostname=examplehostname |
Tip |
If you want to add the machine to a Microsoft Windows domain, the hostname cannot contain more than 15 characters. |
Setting Static IP Address
To set a static IP address, edit the bootproto parameter and add the ip, netmask, and gateway parameters:
network --bootproto=static --ip=192.0.2.1 --netmask=255.255.255.0 --gateway=192.0.2.254 --hostname=vbr-MACH_HASH |
Note |
You cannot set a static DNS server. |