Before You Begin
Before you install Veeam Backup & Replication, check the following prerequisites:
- A machine on which you plan to install Veeam Backup & Replication must meet the system requirements. For more information, see System Requirements.
- A user account that you plan to use for installation must have sufficient permissions. For more information, see Permissions.
- Backup infrastructure components communicate with each other over specific ports. These ports must be open. For more information, see Ports.
- You must remove Veeam Backup & Replication components of versions that are not supported by the upgrade procedure from the target machine. You may also need to remove earlier versions of other Veeam products and components.
- Before deploying Veeam Backup & Replication, define where the Veeam Backup & Replication server will be located. Depending on what kind of protection are you planning to use, the Veeam Backup & Replication server should be located on the source site or the Disaster Recovery site.
- When replication or CDP is used: If you plan to use replication or Continuous Data Protection (CDP), the Veeam Backup & Replication server should be deployed in the disaster recovery site. In this case, if the production host crashes, Veeam Backup & Replication will automatically fail over to the replica without any manual operations. The source backup infrastructure still can be managed with the same Veeam Backup & Replication server with the help of backup proxies deployed in the source site.
- When only backup features are used: If you plan to use Veeam Backup & Replication for backup jobs only, the backup server should be placed in the production site.
- We strongly recommend that no highly-transactional and business-critical software is deployed on the same machine as the Veeam backup server. This could be (but not limited to) software such as Active Directory, Exchange Server or other intensive production databases on the SQL server instance. We recommend that only Veeam Backup & Replication runs on the backup server.
Before deploying Veeam Backup & Replication, decide which database engine and version you need to use:
- If you do not prepare a database engine in advance, Veeam Backup & Replication will automatically install PostgreSQL 15.1 locally on the backup server.
- Decide if you need the database engine installed on the same server as Veeam Backup & Replication or on a remote server. Veeam Backup & Replication requires a database engine deployed either locally on the backup server or remotely.
It is recommended to run the database engine instance locally to eliminate latency issues. However, in some scenarios a remote instance can be the better choice:
- High Availability. SQL Clustering and Always On Availability Group on external SQL Servers can be used for high availability of the configuration database. To learn about the configuration details, see this Veeam KB article.
- Licensing. Some enterprises have dedicated virtual clusters for SQL Servers due to licensing constraints. In such cases, you can place the Veeam configuration database on an existing instance to lower the total cost of ownership.
- If you prefer to use an Express Edition of Microsoft SQL Server as your database engine, note that its usage is limited by 10 GB of configuration database. The Express Edition is enough for evaluation purposes and not very large environments (<500 VMs). If your infrastructure is large (more than 500 VMs), you may consider to install a Microsoft SQL Server in advance.
- If Microsoft SQL Server is installed by the previous product version, Veeam Backup & Replication will connect to the existing configuration database, upgrade it (if necessary) and use it for work.
- If you already have an installed instance of PostgreSQL and want to use it for the configuration database, ensure that the LocalSystem account is added to your PostgreSQL configuration in order to successfully run the installation of Veeam Backup & Replication.
The default PostgreSQL instance is configured to consume a minimum amount of resources, which may not be enough for Veeam Backup & Replication performance.
When installing Veeam Backup & Replication, you can choose what PostgreSQL instance to use for the Veeam Backup & Replication configuration database. You can use an already installed PostgreSQL instance or install a new one.
- If you let the setup install a new PostgreSQL instance, it will be configured automatically.
- If you want to use an already installed PostgreSQL instance, make sure that the instance configuration is sufficient for the Veeam Backup & Replication performance.
To adjust the configuration of an existing PostgreSQL instance, take the following steps before you install Veeam Backup & Replication:
- On a backup server, run the Set-VBRPSQLDatabaseServerLimits cmdlet. The cmdlet generates the necessary PostgreSQL configuration and saves it to a dump SQL file.
Set-VBRPSQLDatabaseServerLimits -OSType <String> -CPUCount <number of CPU cores> -RamGb <RAM in GB> -DumpToFile <file path>
Set-VBRPSQLDatabaseServerLimits -OSType Windows -CPUCount 16 -RamGb 32 -DumpToFile "C:\config.sql"
- On the machine with the PostgreSQL instance where you want to deploy the Veeam Backup & Replication configuration database, use the psql tool to apply the configuration from the dump file.
The tool is located in the PostgreSQL installation folder.
psgl -U <user> -f <file path>
psgl -U postgres -f "C:\config.sql"
After you apply the configuration from the dump file, all changes will be written into the postgressql.auto.conf file located in the PostgreSQL installation folder. This file is loaded when the service starts and takes precedence over the default PostgreSQL configuration file.
- Include the pg_stat_statements library to the PostgreSQL configuration. To add the library, you can manually edit the shared_preload_libraries option in the postgres.conf file.
Alternatively, you can do it by by executing the SQL code:
- Check the content of the shared_preload_libraries variable.
SELECT * FROM pg_settings
- Add the pg_stat_statements library to the shared preloaded libraries.
- If the shared_preload_libraries value is empty, assign pg_stat_statements to the shared_preload_libraries variable.
ALTER SYSTEM SET shared_preload_libraries = pg_stat_statements;
- If the shared_preload_libraries value is not empty, add pg_stat_statements to the current value separated by comma.
ALTER SYSTEM SET shared_preload_libraries = <existing libraries>, pg_stat_statements;
- Restart the PostgreSQL service for the new configuration to take effect.
- Install the pg_stat_statements extension. The extension is used to analyze the PostgreSQL performance.
CREATE EXTENSION IF NOT EXISTS "pg_stat_statements";