Solution for Milestone

High Capacity, Fail-over Surveillance Solution

This reference architecture describes the hardware configuration for а  high capacity, failover storage solution for a large-scale surveillance installation with Milestone XProtect Corporate VMS software and Axis IP surveillance cameras.

The architecture utilizes 1x generic x86 server/workstation to run the VMS software, 1+n networking switch(es) and 2x generic x86 server nodes connected to 2x Ultrastar Data60 storage platforms that can provide enough capacity to store 1 month of video data for up to 2000 cameras (depending on the video resolution, frame rate, and compression).

The VMS server/workstation uses Milestone Xprotect Corporate and Xprotect Smart Client software to control multiple sources of video subsystems to collect, manage and present video in a clear and concise manner. In this reference architecture we used 5x Axis cameras (models P1365 & P3224) to capture the video data and 4x Ultrastar SS530 SAS SSD drives inside the VMS Server/workstation to store the data. Camera video data is stored initially in these local SSD drives before being pushed to the Ultrastar Data60 storage platform. The choice for SSD drives instead of HDD drives is such that data analytics can be performed quickly on the captured video data.

It is recommended to configure the SSDs inside the VMS server in a RAID10 volume.

Note: RAID10 volumes should be created using a minimum of 4 drives. The maximum is up to the user requirement. RAID10 sets should be created per 4 drives. Hence, in a 24-drive server, there can be 5 sets of RAID10 and 4 are used as hot spares.

When there are hundreds of cameras connected, the architecture will need more than one switch. Usually switches will have 12, 24 or 48-ports, and therefore larger surveillance installations will contain multiple switches (n units) that will converge to one single switch that gets connected to the Windows Server 2016 failover cluster. The drawing above depicts these multiple switches as n+1. This reference architecture only uses 5 cameras and hence one 12-port switch (Ruckus® ICX® 7150-C12P) was installed.

The x86 server nodes contain each 2x Western Digital Ultrastar DC SA210 480GB1 SATA SSDs for the Windows Server 2016 operating system. For purposes of server sizing, the PCIe bus is used to install backend and frontend controllers. Two Broadcom 9300-8e Host Bust Adapters are used to connect the Ultrastar Data60 storage platform to the servers. The QLogic® HBA controller is used to interconnect the servers and connect the servers to the switch.

The solution is set up as a Microsoft failover cluster, exporting block storage from the iSCSI target (Ultrastar Data60) to the initiator. To create the highest reliability, redundancy is provided in every layer of the failover cluster:

  • • Dual ported SAS drives in the Ultrastar Data60 storage platform
  • • Dual Ultrastar Data60 storage platforms
  • • Dual expander in Ultrastar Data60 storage platform
  • • Dual HBAs in each server node
  • • Dual server nodes
  • • Dual NICs in each server node



Cameras: Axis® (up to 2000 for 1 month video data storage)

Servers: standard x86 servers

Storage: Ultrastar® Data60 Storage

Platform Software: Milestone Xprotect® Corporate & Xprotect Smart Client

On the Ultrastar Data60 storage platform, it is recommended to create multiple RAID-5 volumes exposed as an iSCSI target to archive the video data.

The Ultrastar Data60 can be equipped with any of the Western Digital Ultrastar SATA/SAS HDDs options, providing a data repository of up to 840TB1 in a 4U storage rack. Minimum configuration is 24 HDDs, providing an upgrade path of up to 60 drives. If an additional performance tier is required to enable fast replay of video content, it is possible to install up to 24 SAS/SATA SSDs in the 60 drive slots. This reference architecture uses the maximum capacity drives, and maximum configuration inside the JBOD (60x Ultrastar HC530 14TB SAS HDDs), enabling up to 840TB of video data to be stored.


1One gigabyte (GB) is equal to 1,000MB (one billion bytes), and one terabyte (TB) is equal to 1,000GB (one trillion bytes) when referring to storage capacity. Accessible capacity will vary from the stated capacity due to formatting, system software, and other factors.


The matrix below shows the amount of capacity that is required to store the video of a single camera (100% recording, H.264 compression) for 30 days with different video resolutions:

It is therefore possible to connect up to 2000 cameras (4CCIF), 1012 cameras (HD), 502 cameras (Full HD) or 314 cameras (4MP) when the Ultrastar Data60 is fully populated with 60x 14TB HDDs in a RAID-5 configuration.

Note: There is a 600-camera limitation per Milestone XProtect Smart Client license. If more cameras need to be added, one or more VMS servers/workstations need to be added to the architecture.