Appendix D – Media storage dimensioning
As discussed earlier in this white paper, the XProtect VMS software works with a tiered storage architecture with a media database for short-term storage and one or more levels of archives for long-term storage. While the media database is defined as SSD EBS storage, Milestone recommends using HDD storage for the FSx storage or S3 (through third party plugins that enable usage of S3 storage as file system structure) to optimize the storage costs for long-term video storage. In case of using Surveillance Bridge from Tiger Surveillance, it is not needed to use Archiving functionality of XProtect, instead you may configure movement of video to other storage types in Surveillance Bridge configuration page in Management Client.
This appendix discusses the high-level design principles for the storage infrastructure used by XProtect when deployed on AWS.
AWS EBS performance aspects
All EC2 instance types recommended by Milestone (see Appendix C – EC2 performance) are EBS–optimized instances that use an optimized configuration stack and provides additional, dedicated capacity for Amazon EBS I/O. This gives optimal performance for the media database and does as such do not require specific design attention. For details about the dedicated bandwidth to AWS EBS, please refer to: https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-optimized.html.
It is recommended that the media database is configured to hold 24 hours of video storage in the media database.
AWS FSx performance aspects
The FSx file system is defined with a storage size and throughput capacity. As these definitions cannot be changed at a later stage it is important to dimension the FSx correctly. The effective throughput and IOPS of FSx files storage is dependent on both the network throughput and IOPS towards FSx, and the internal disc throughput and IOPS performance, as depicted in Figure 18.
Figure 18. Detailed FSx file storage architecture illustrating the difference between network throughput/IOPS and disk throughput/IOPS
The type and amount of storage capacity impacts the performance of the FSx file system. The FSx storage is defined in steps of 1 GiB with a minimum size of 2 TiB and a maximum size of 64 TiB, where the disk performance for HDD based storage is proportional to the volume size.
PERFORMANCE ASPECT |
BASELINE PERFORMANCE |
Disk throughput |
12 MB/s per TiB of storage |
Disk IOPS |
12 IOP/s per TiB of storage |
Table 5. FSx HDD performance and throughput and IOPS baseline allocation
The graph in Figure 19 illustrates the dependencies between the required FSx storage volume for different retention times (calculated based on the video data volume to be archived), required throughput (yellow line) and required number of IOPS (light blue line), and the allocated disc throughput and IOPS baseline (dark blue line). More specifically this graph represents a deployment with 100 cameras, each generating 4 Mbit/s. The assumption is that the VMS system on average records 10% during a day. This means that the required throughput is 5 MB/s and the required IOPS to write the video data to the FSx disk system is 49 operations per second line.
Given the volume of video data to be archived (5 MB/s) the required storage per retention day is 0,37 TiB (gray area). In this example we assume that the FSx storage definition is fully optimized to match the required storage exactly. Based on the FSx storage definition a disc throughput and IOPS baseline allocation is given, as discussed in Table 5.
Figure 19. FSx performance at different size definitions, compared with required performance for archiving in a system with 100 cameras generating 4 Mbit/s, with 10% recording
From Figure 19 it can be derived that special care needs to be taken when dimensioning an HDD based FSx file system with short retention times. We can see that the allocated disk IOPS is lower that the required number of disk operations, for FSx storage volumes smaller than 4,12 TiB. This will result in a situation where the media storage on the EBS disc cannot be archived fast enough, which will eventually cause the storage system to overflow where video data will be lost.
To secure a sustained operation in this specific case the FSx storage should in this particular case not be smaller than 4,12 TiB, even for the shorter retention times, to obtain a sufficient IOPS baseline. In a real-life deployment, Milestone of course recommends a reasonable margin on the storage definitions, to not end up with system bottlenecks.
Milestone recommends system integrators and end customers to thoroughly acquaint themselves with the performance dynamics of FSx to ensure correct storage design. For more information refer to: https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html.
AWS S3
Another storage type which is possible to use is S3. S3 is an object type storage and therefore cannot be directly used like a file system that XProtect expects. But there are third party add-ons like Surveillance Bridge from Tiger Surveillance that make it possible to use S3 as medium where video is stored. See appendix.