MilestoneXProtectVMSproducts_FailoverClusteringQuickGuide_en-US
MilestoneXProtectVMSproducts_FailoverClusteringQuickGuide_en-US
XProtect® VMS
Version history
Document
Release Comments
version
Contents
Changes to this document 2
Version history 2
Introduction 5
System setup 7
Planning checklist 8
Dependencies 20
Verification 21
3 | Contents
Failover clustering guide | XProtect® VMS
Trademarks
Microsoft and Windows are registered trademarks of Microsoft Corporation. App Store is a service mark of
Apple Inc. Android is a trademark of Google Inc.
All other trademarks mentioned in this document are trademarks of their respective owners.
Disclaimer
This text is intended for general information purposes only, and due care has been taken in its preparation.
Any risk arising from the use of this information rests with the recipient, and nothing herein should be construed
as constituting any kind of warranty.
Milestone Systems A/S reserves the right to make adjustments without prior notification.
All names of people and organizations used in the examples in this text are fictitious. Any resemblance to any
actual organization or person, living or dead, is purely coincidental and unintended.
This product may make use of third-party software for which specific terms and conditions may apply. When that
is the case, you can find more information in the file 3rd_party_software_terms_and_conditions.txt
located in your Milestone system installation folder.
Introduction
In some cases, for example a small retail shop, the operation of the VMS is not critical enough to warrant the
cost of additional hardware. Instead, the shop accepts that failures can be addressed within a day or two by
fixing or replacing the server. But, if your VMS environment requires high-availability, then WSFC can be a cost-
effective way of achieving that.
WSFC provides an infrastructure that supports high-availability and disaster recovery of hosted server
applications. A WSFC cluster is a group of independent servers that work together to increase the availability of
applications and services. If a cluster node or service fails, the services that are hosted on that node can be
automatically or manually transferred to another available node. This is known as failover.
This document provides an outline on creating a high availability environment with Microsoft Failover Clustering
on two server nodes by:
l Preparing the operating system for failover clustering (see "Prerequisites for clustering on page 12")
l Installing SQL Server for failover clustering (see "Install a SQL Server failover cluster instance on page 13")
l Configuring redundant XProtect management servers (see "Configure redundant XProtect management
servers on page 16")
l Verifying that the failover clustering works (see "Verify that failover clustering is working on page 21")
This document provides a general outline of WSFC. Refer to the Microsoft documentation
(https://msdn.microsoft.com/en-us/library/hh270278) for more detailed information.
There are many ways to set up failover clustering. This document shows a simple
example of one way: a Failover Cluster Instance (FCI) with shared storage.
5 | Introduction
Failover clustering guide | XProtect® VMS
l Installers
6 | Introduction
Failover clustering guide | XProtect® VMS
System setup
In XProtect Corporate and XProtect Expert, you can achieve high availability for the management server and SQL
Server by using Windows Server Failover Clustering (WSFC).
Hardware failures on a standalone server running the management server and SQL Server do not affect
recordings or the recording server. However, hardware failures can result in downtime for operators that are
not already logged into the clients. A WSFC environment will mitigate this downtime. There are a number of
reasons why you would want to use a cluster:
l Server failure – If a server starts to have problems, you can run the management server and SQL Server
from another node while you resolve the issue.
l System updates and security patches – Applying security patches on a standalone server can be time
consuming, resulting in extended periods of downtime. By using failover clustering, you can apply system
updates and security patches with minimal downtime.
l Seamless connection – Because clients and applications connect to a failover cluster by using the
cluster IP address and cluster name, the connection to the management server and SQL Server is
transparent and failover is seamless.
This document is based on an environment comprising the following components. Each component have their
own set of minimum requirements.
Component Requirement
Earlier versions of Windows Server (from 2003) also support Windows Server
Failover Clustering (WSFC).
External storage for database files and video archives is required. Serial attached
Storage
SCSI, Fiber Channel or iSCSI are recommended.
Component Requirement
While Microsoft® SQL Express is bundled with XProtect Corporate and XProtect
SQL Server
Expert, it is not supported for clustering.
XProtect Corporate or
This document is based on XProtect Corporate or XProtect Expert.
XProtect Expert
Planning checklist
Before you create a failover cluster environment, you should have the following information for your
environment.
Servers
Shared
Shared storage for
N/A N/A N/A N/A N/A
storage SQL
Serverdata
Network
Shared
Public 177.16.0.211 255.255.0.0
storage
SQL 2016
Public 177.16.0.217 255.255.0.0
Cluster
Shared storage
Cluster services
SQL Server SQL Server 2016 Enterprise Edition x64 SQL2016Cluster 177.16.0.217
Service accounts
Windows Failover Cluster relies on shared storage. FCI supports storage solutions such as WSFC cluster disks
(iSCSI, Fiber Channel, and so on) and server message block (SMB) file shares. When a SQL Server instance is
installed on the cluster, Milestone and system databases are required to be on the shared storage. Note that
this means that your storage is a single point of failure, so the databases should be backed up elsewhere.
Shared storage allows the cluster to move the SQL Server instance to any node in the cluster. This can be done
either manually, or automatically if one of the nodes is having a problem. There is only one copy of the data, but
the network name and SQL Server service for the instance can be made active from any cluster node.
A failover cluster gives you the ability to have all the data for a SQL Server instance installed in a shared storage
that can be accessed from different servers. It will always have the same instance name, IP address and port
and logins, therefore XProtect Corporate and XProtect Expert will always know where to access the data.
This document provides a general outline of FCI. Refer to the Microsoft documentation
(https://msdn.microsoft.com/en-us/library/ms189134) for more detailed information.
Failover clustering also requires that you use an Active Directory domain.
Before setting up your failover cluster environment, make sure you have the component information as
described in "Planning checklist on page 8".
2. In the Installation Type window, select Role-based or feature-based installation and click Next.
3. In the Server Selection window, select Select a server from the server pool and select the
current server and then click Next.
The Add features that are required for Failover Clustering window appears.
Select Include management tools (if applicable) and click Add Features.
Click Next.
After you have prepared the operating system on all of the nodes, "Create the cluster on page 12" on Node 1.
4. In the Select Servers or a Cluster window, click Browse and add the names of the nodes in the cluster.
Click Next.
5. In the Testing Options window, select Run all tests (recommended) and click Next.
The wizard validates the configuration. When it is done, the Summary window appears.
7. In the Summary window, verify that both nodes are validated. Select Create the cluster now using the
validated nodes and click Finish.
2. In the Access Point for Administering the Cluster window, enter the cluster name and click Next.
3. In the Confirmation window, ensure that Add all eligible storage to the cluster is selected, and
click Next.
4. In the Summary window, verify that the cluster is created and then click Finish.
The following steps provide an outline of this installation. Refer to the Microsoft documentation
(https://msdn.microsoft.com/en-us/library/ms179530.aspx) for more detailed information.
1. On the Installation page, click New SQL Server failover cluster installation.
2. On the Product Key page, indicate whether you are installing a free edition of SQL Server, or whether you
have a PID key for a production version of the product. Click Next.
3. On the License Terms page, read the license agreement, and then select the check box to accept the
license terms and conditions. Click Next.
The Global Rules checker verifies the system state of your computer before setup continues.
If the checker identifies any missing product updates, on the Product Updates page, select the Include
SQL Server product updates check box and click Next to continue.
5. The setup checker identifies potential problems that might occur while running setup. You must correct
failures before setup. Click Next to continue.
Click Next.
The setup runs another set of rules that are based on the features you selected to validate your
configuration.
1. Specify a network name for the new SQL Server failover cluster. This is the name that is used to
identify your failover cluster on the network.
3. Click Next.
8. On the Cluster Resource Group page, you can specify the cluster resource group name where SQL
Server virtual server resources will be located. Leave as default and click Next.
9. On the Cluster Disk Selection page, select the shared cluster disk resource for your SQL Server failover
cluster.
The cluster disk is where the SQL Server data will be put. You can select more than one disk.
Click Next.
10. On the Cluster Network Configuration page, specify the network resources for your failover cluster
instance.
Specify a static IP type and IP address for your failover cluster. This is recorded under Network in
"Planning checklist on page 8".
11. On the Server Configuration page under the Service Accounts tab, specify login accounts for SQL Server
services. These are recorded under Service Accounts in "Planning checklist on page 8". Click Next to
continue.
1. Under the Server Configuration tab, define the SQL Server administrator account and the server
authentication mode.
2. Under the Data Directories tab, define the paths for the following. The path to where SQL Server
data will be stored is recorded under Shared Storage in "Planning checklist on page 8".
Click Next.
The System Configuration Checker runs another set of rules that are based on the settings you selected
to validate your configuration.
14. After installation, the Complete page provides a link to the summary log file for the installation. Click
Close to complete the SQL Server installation.
As a prerequisite, each Management Server in the cluster must be installed under the
domain Administrator service account.
The installation files unpack. Depending on your security settings, one or more Windows® security
warnings appear. Accept these and the unpacking continues.
2. After specifying the location of the license file and accepting the license terms, select Custom.
A list of components to be installed appears. Apart from the management server, all elements in the list
are optional.
3. Select all components EXCEPT the Recording Server and Smart Client. Click Continue.
4. In the Select Microsoft SQL Server window, select Use an existing SQL Server on the network and
select the location of the Central SQL Server that you installed in Install new SQL Server failover cluster
installation (see "Install a SQL Server failover cluster instance on page 13"). Click Continue.
6. In the Select Service Account window, select This account and enter the domain Administrator
credentials. Click Continue and then click Install.
7. After the installation is complete, open the XProtect Management Client using the domain Administrator
credentials.
9. In the Add/Remove Registered Services window, select each service in the list and click Edit.
In the Edit Registered Service window, modify the URL address to use the Cluster Name.
Update all of the services listed in the Add/Remove Registered Services window including the Service
Channel http and https fields. The new URLs should look something like this:
10. In the Add/Remove Registered Services window, click Network and in the Service address (LAN) field,
modify the URL address to use the cluster service address and then click OK.
11. In the Add/Remove Registered Services window, click Close and exit the XProtect Management Client.
12. On Node 1, stop the management server service and the IIS service.
To stop IIS, launch the Internet Information Services (IIS) Manager and navigate to the Web server
node in the tree.
The installation files unpack. Depending on your security settings, one or more Windows® security
warnings appear. Accept these and the unpacking continues.
2. After specifying the location of the license file and accepting the license terms, select Custom.
A list of components to be installed appears. Apart from the management server, all elements in the list
are optional.
3. Select all components EXCEPT the Recording Server and Smart Client. Click Continue.
4. In the Select Microsoft SQL Server window, select Use an existing SQL Server on the network and
select the location of the Central SQL Server that you installed in Install new SQL Server failover cluster
installation (see "Install a SQL Server failover cluster instance on page 13"). Click Continue.
6. In the Select Service Account window, select This account and enter the domain Administrator
credentials. Click Continue and then click Install.
7. After the installation is complete, open the XProtect Management Client using the domain Administrator
credentials.
9. In the Add/Remove Registered Services window, select each service in the list and click Edit.
In the Edit Registered Service window, modify the URL address to use the Cluster Name.
Update all of the services listed in the Add/Remove Registered Services window including the Service
Channel http and https fields. The new URLs should look something like this:
10. In the Add/Remove Registered Services window, click Network and in the Service address (LAN) field,
modify the URL address to use the cluster service address and then click OK.
11. In the Add/Remove Registered Services window, click Close and exit the XProtect Management Client.
Postrequisite
In general, all XProtect services must be registered to the Management Server address using the Server
Configurator. In the cluster setup, this address should point to the cluster role.
When doing configuration changes, on the Microsoft Failover Cluster Manager, pause the
control and monitoring of the service so the Server Configurator can make the changes
and start and/or stop the Management Server service. If you change the failover cluster
service startup type to manual, it should not result in any conflicts with the Server
Configurator.
1. Start the Server Configurator on each of the computers that have a management server installed.
4. Change the management server address to the URL of the cluster, for example http://MyCluster.
5. Click Register.
On computers that have components that use the Management Server (for example, Recording Server, Mobile
Server, Event Server, API Gateway):
3. Change the management server address to the URL of the cluster, for example http://MyCluster.
4. Click Register.
When this is done, modify all of the recording servers and failover servers to connect to the cluster service
address for the management server by doing the following:
1. On the server where the Recording Server is installed, right-click the Recording Server icon in the tool
bar and select Stop Recording Server Service from the menu.
2. After the Recording Server is stopped, again right-click the Recording Server icon in the tool bar and
select Change Settings.
3. Modify the address for the management server to connect to the cluster service, and click OK.
4. Right-click the Recording Server icon and select Start Recording Server service to start the Recording
Server service again.
Dependencies
1. In the Failover Cluster Management window, expand your cluster, right-click Roles and select Configure
Role.
3. In the Select Role window, select Generic Service and click Next.
5. On the Client Access Point window, specify the server name for the management server generic service,
and click Next.
6. On the Select Storage window, no storage is required for the service, click Next.
7. On the Replicate Registry Settings window, no registry settings should be replicated so click Next.
8. On the Confirmation window, verify that the cluster service is configured according to your needs and
click Next.
The management server is now configured as a generic service in the failover cluster. Click Finish.
Set dependencies
In the cluster setup, both the Milestone Event Server and the Milestone Data Collector should be set as a
dependent services of the Milestone Management Server, so the Event Server and Data Collector stop when the
Management Server is stopped.
Add the Milestone XProtect Event Server service as a resource to the Milestone XProtect Management Server
Cluster service by doing the following:
1. Right-click the XProtect Server role and select Add Resource> Generic Service.
20 | Dependencies
Failover clustering guide | XProtect® VMS
Verification
21 | Verification
[email protected]
About Milestone
Milestone Systems is a leading provider of open platform video management software; technology that helps
the world see how to ensure safety, protect assets and increase business efficiency. Milestone Systems
enables an open platform community that drives collaboration and innovation in the development and use of
network video technology, with reliable and scalable solutions that are proven in more than 150,000 sites
worldwide. Founded in 1998, Milestone Systems is a stand-alone company in the Canon Group. For more
information, visit https://www.milestonesys.com/.