Link Search Menu Expand Document

Convert a single-server deployment to a distributed deployment

When business grows, the services behind it such as VCC and VSPC also need to grow. In general a single-server deployment should only be used for:

  • Proof-of-Concept (POC)
  • Evaluation of the solution
  • Internal education/study
  • Test or demolab

However it is possible that initially VCC and VSPC were deployed for a simple use case: licensing and monitoring of remote clients. In a later stage the business changes and the service provider adds extra services such as Off-site Backup or DRaaS, onboards more clients, and thus needs to scale the infrastructure in order to support the growth.

In this chapter we will take a look at the following:

  1. Migrate SQL Server and database(s) to a dedicated Server
  2. Migrate VSPC Web UI to a dedicated server

Scalable design

In a production environment, the recommended deployment is to spread out the different roles/services onto different servers. This way we can balance the load and add more resources to specific components when needed.

For more details check the Design chapter.

Modular architecture

1. Migrate SQL Server and database(s) to a dedicated Server

NOTE: This procedure can be applied to any Veeam solution that uses MS SQL Server as a back-end. In this example we used the VSPC database.

  1. To begin we need to prepare a new dedicated Windows server and install MS SQL Server on it or reuse an existing SQ Server/Cluster in your production environment. More details can be found under Prerequisites in the Design chapter.

  2. Once the new SQL server is ready stop the SQL server service on the old SQL server or take the database offline so that no new data can be written to the database.

  3. Backup the database on the current SQL server. Check the procedure Backup for more details.

  4. Copy or move the backup files to the new SQL server.

  5. Restore the database from backup to the new SQL server. Check the procedure Backup for more details.

  6. Once restored, open the database Properties -> Files.
    Check if the Owner is set to the service account that you use for the VSPC Server to connect to SQL Server.

    Change DB Owner

IMPORTANT: Do not forget to set a new maintenance plan on the new SQL Server to keep creating backups of the database or include it in a Veeam Backup & Replication Backup Job!

  1. The VSPC service is now in a degraded state as it cannot connect to the database anymore. To restore the connection, follow the steps from chapter Restore SQL Server connection.

2. Migrate VSPC Web UI to a dedicated server

In this part we will deploy the Web UI onto a dedicated Windows machine, that will act as our front-end web server.

  1. Repeat the steps as in the chapter VSPC Web UI installation.

  2. Once the installation has completed we can reconfigure the external firewall to publish the new web interface.

  3. Remove the original Web UI installation from the VSPC Server machine.

There may be situations where we need to reconnect the Web UI to the VSPC service. It can happen after a rebuild of the VSPC service, or if the Web UI has lost the connection to the service. In these cases, we can experience and error message when trying to login.

To fix the problem, we can re-run the installation wizard from above and reconfigure the setting as shown above, or we can quickly edit the connection string in the following files:

Web interface:

C:\Program Files\Veeam\Availability Console\Web UI\Web.config

API interface:

C:\Program Files\Veeam\Availability Console\WebAPI\Web.config

In both configuration files, there is a section called appSettings with the string:

<add key="serverName" value="vspc-server.cloudsp.local" />

By editing this string, we can insert the correct DNS name of the VSPC server and fix the connection between Web UI and VSPC Service:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=301880
  -->
<configuration>
	<appSettings>
		<add key="version" value="6.0.0.7739"/>
		<add key="webAppName" value="Veeam Service Provider Console"/>
		<add key="webpages:Version" value="3.0.0.0"/>
		<add key="webpages:Enabled" value="false"/>
		<add key="ClientValidationEnabled" value="true"/>
		<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
		<add key="WebDomainSuffix" value=""/>
		<add key="WebApplicationPort" value="1280"/>
		<add key="serverName" value="vspc-server.cloudsp.local"/>
		<add key="serverPort" value="1989"/>
		<add key="clientCertificateThumbprint" value="E93AC9D21229FA0724F9657BDD7E579F13A856A2"/>
		<add key="serverCertificateThumbprint" value="876CC28F85F67D14115890B9E78AD089EF589E03"/>
		<add key="sslBindingName" value="0.0.0.0:1280; 0.0.0.0:1281"/>
		<add key="sslSiteName" value="Veeam Availability Console Web UI;Veeam Availability Console RESTful API"/>
		<add key="endpointIdentity" value="VAC-Server"/>
...

Back to top

Copyright © 2019-2021 Solutions Architects, Veeam Software.