VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000...

15
1 VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIES Case Study of deployment with Microsoft Global Security – May 2015

Transcript of VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000...

Page 1: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

1

VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIES

Case Study of deployment with Microsoft Global Security – May 2015

Page 2: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

2

Copyright This document is provided "as-is." Information and views expressed in this document, including URL and other Internet website references, may change without notice. Some examples depicted herein are provided for illustration only and are fictitious. No real association or connection is intended or should be inferred. This document does not provide you with any legal rights to any intellectual property in any Microsoft product. You may copy, use and modify this document for your internal, reference purposes. © 2015 Microsoft Corporation. All rights reserved. Microsoft, Microsoft Azure, StorSimple, Active Directory, Hyper-V, Internet Explorer, Silverlight, SQL Server, Windows, Windows PowerShell, and Windows Server are trademarks of the Microsoft group of companies. All other trademarks are the property of their respective owners.

Page 3: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

3

Contents VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIES ........................................................................ 1

Copyright ......................................................................................................................................... 2

Introduction .................................................................................................................................... 4

Business Needs ............................................................................................................................... 4

Solution ........................................................................................................................................... 5

Overview of Storage Environment prior to StorSimple .............................................................. 5

Overview of Storage Environment with StorSimple ................................................................... 5

Initial Installation: Network Architecture ................................................................................... 6

Camera Workload Analysis ......................................................................................................... 7

Genetec Application Architecture ............................................................................................... 9

Deployment Phases ................................................................................................................... 10

Test Results ............................................................................................................................... 12

Benefits ......................................................................................................................................... 14

Appendix: Common Video Surveillance Terminology .................................................................. 15

Page 4: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

4

Introduction Storage requirements for video surveillance data can be difficult to predict – motion detection based cameras with varying bitrates, different compression techniques and camera malfunctions can cause storage requirements to fluctuate wildly. In addition, data retention requirements for video data can cause storage requirements to be high. This typically leads to over-allocation but under-utilization of on-premises storage hardware – 40% utilization rates can be common. Microsoft Azure StorSimple hybrid cloud storage allowed us to use Azure to extend the capacity of our on-premises storage hardware infrastructure without needing to incur additional costs for power, cooling and support for on-premises hardware. Being able to take regular backups of the data to Azure was an additional bonus. – Brian Tuskan, Senior Director of Technology and Investigations, Microsoft Global Security

This paper details the deployment of Microsoft Azure StorSimple 8000 Series for video

surveillance with a customer internal to Microsoft called Microsoft Global Security. The paper

will discuss the following topics:

What the business needs were for this customer

How we sized the video workload

What the storage environment was before and after deploying StorSimple

What results were seen

Readers not familiar with video surveillance workloads should read the Appendix section for

Common Video Surveillance Terminology.

This paper is for Microsoft internal use only and should not be shared externally at this time.

Business Needs Microsoft Global Security (MSGS) provides video surveillance monitoring for over 700 Microsoft corporate buildings worldwide. They use video surveillance software from Genetec. MSGS was interested in a storage solution that could help them address the challenges below.

High on-premises hardware footprint The size of data generated from video surveillance cameras can vary a lot, making it hard to estimate how much storage capacity to plan for. This causes storage administrators to over-allocate storage capacities. Over-allocation of traditional on-premises storage hardware leads to high hardware maintenance costs (power, cooling and hardware support). Additionally, when a building is decommissioned and video surveillance needs to be stopped, the hardware that holds the surveillance footage has to be physically retained to preserve the data.

Page 5: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

5

Poor data protection for video surveillance data Without easy mechanisms to protect video surveillance data, storage administrators have to rely only on the built-in redundancy in traditional storage arrays. If data is lost due to disk failure, security professionals do not have a good way to investigate incidents. For one of the Microsoft corporate campuses, MSGS had kicked off a consolidation effort to move Network Video Recorders (NVRs) and associated direct attached storage from each building that was under surveillance to a centralized location with fewer NVRs running against shared storage as part of a cost savings and go-green initiative. As part of this consolidation exercise, MSGS took the opportunity to replace the shared storage with StorSimple 8000 Series.

Solution Overview of Storage Environment prior to StorSimple

There are a total of 8 NVRs that support a total of 413 cameras.

Each NVR is a Dell PowerEdge R620 server with 16-cores, 12GB RAM and is running

Windows Server 2008 R2 Enterprise x64 Edition. Shared storage for all 8 NVRs is provided

by 3 Dell EqualLogic Arrays (Dell Equalogic PS6500E x3 w/ 24x 3TB NL-SAS Drives).

Each NVR runs the Genetec Omnicast (Security Center 5.2.1164.1056) software.

No backups were being taken of the video data.

Overview of Storage Environment with StorSimple

MSGS moved a total of 212 production cameras across 5 NVRs that were associated with

the EqualLogic arrays to a StorSimple Hybrid Cloud Storage array Model 8100 running

software version 6.3.9600.17215 (July 2014 release).

Each camera produced a single stream and was configured to record 100% of the time

(however it uses a motion-compensation codec H.264).

Video feeds were protected using nightly Cloud Snapshots. Data needed to be retained for

30 days, however the NVR and storage environment was not configured to delete data after

this period.

Page 6: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

6

Initial Installation: Network Architecture

Data0 (1GbE) – Cloud enabled (no iSCSI) – connected to external (Corporate) network

Data1 (1GbE) – Cloud enabled (no iSCSI) – connected to external (Corporate) network

Data2 (10GbE) - Disabled

Data3 (10GbE) - Disabled

Data4 (1GbE) – iSCSI enabled (no Cloud) – connected to Camera network

Data5 (1GbE) – iSCSI enabled (no Cloud) – connected to Camera network

All the cameras are on a separate network from the corporate network and connect to the NVRs via a separate switch. Video is accessed via a Genetec client application running on laptops/desktops that are connected to this client or management network. Note: Multipath IO (MPIO) was not configured on the NVR for this deployment. It is however always a best practice to configure StorSimple with MPIO. Additionally, the 10GbE Data2 and Data3 ports should be configured for iSCSI access if the switch is 10GbE capable. In this particular deployment the switch was not 10GbE capable. The corporate network switch used was capable of a bandwidth of 1Gb/s.

Page 7: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

7

Camera Workload Analysis This section details the video camera load assigned to the StorSimple solution, the approach used to size the workload for storage/throughput requirements and the resulting sizing data. The cameras were configured to capture video 100% of the time. However, the H.264 codec employs a motion compensation based video capture algorithm (see details below) which makes it essentially a motion-detection workload, which is harder to size. Summarized below are 2 load sizes – the Low size represents a point-in-time value of the bitrate seen against each NVR while the High size represents the maximum bitrate that was programmed into each camera. It is expected that the bitrate seen in production will lie somewhere in the middle of these 2 extremes. Description of the camera load

Load Size Low (Real-time bitrates)

High (Max-Programmed bitrate for cameras)

Camera Manufacturer

Sony

Camera Models

Various (SNC-DH140, SNC-DH220, SNC-DH280)

Codec

H.264

Resolution

Various (1280x720, 1280x1024, 1920x1080)

Frame Rate (Frames per second)

8

Key-Frames

2

NVR1 Per Camera Bit Rate (kbps)*

252 1745

NVR1 Camera Count*

20

NVR2 Per Camera Bit Rate (kbps)*

400 1745

NVR2 Camera Count*

50

NVR3 Per Camera Bit Rate (kbps)*

480 1745

NVR3 Camera Count*

61

NVR4 Per Camera Bit Rate (kbps)*

692 1745

NVR4 Camera Count*

62

NVR5 Per Camera Bit Rate (kbps)*

241 1745

NVR5 Camera Count*

19

Total Camera Count

212

Data Retention Period (days)* 30

Page 8: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

8

*Fields required to compute sizing. Sizing Results

Load Size Low (Real-time bitrates)

High (Max-Programmed bitrate for cameras)

Total bit rate (Mbps) across all cameras 2

= (NVR1 Per Camera Bit Rate * Camera Count) + (NVR2 Per Camera Bit Rate * Camera Count) + (NVR3 Per Camera Bit Rate * Camera Count) + (NVR4 Per Camera Bit Rate * Camera Count) + (NVR5 Per Camera Bit Rate * Camera Count) / 1024

99.42 361.36

Storage per day all cameras (GB) = Total bit rate across all cameras * 3600 * 24 / (1024 *8)

1048.54 3811.25

Storage across retention period all cameras (TB) 1

= Storage per day all cameras * Retention Period / 1024

30.72 111.66

Approx. days of storage for all cameras accommodated into local working set of StorSimple 8100 appliance (days) = Local Capacity of 8100 (10.8TB * 1024) / Storage per day all cameras

10.5 2.9

1 Capacity StorSimple 8100 supports a total capacity of 200TB with a local capacity of up to 10.8 TB. If we assume that the actual storage generated will be between the Low (30.72 TB) and High (111.66 TB) values, and we assume that data that is 31 days or older will be deleted, the 8100 can accommodate this load.

2 Device to Cloud Throughput Given that the total storage requirement is going to exceed the local capacity of the 8100 appliance, this workload will be generating large amounts of data that will need to tier to Azure and may be bottlenecked on the maximum write throughput from device to cloud. StorSimple supports a max of 41 MBps = 328 Mbps, which is higher than the Low value for the bitrate expected (99.42 Mbps) but is lower than the High value for the bitrate expected (361.36 Mbps). Additional Details

Codec: H.264 with 2 key-frames (also called Inter-frames). This is a motion-

compensation-based video compression standard that captures good quality video at

low bitrates. It captures the entire image at key frames but only captures the parts of

Page 9: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

9

the image that changed between key frames. In this workload 2 key frames and 6

differential frames were captured in 1 second.

Recording Strategy: Cameras are configured to record continuously, however the codec

is motion aware. See above.

Writes versus Reads: This workload is expected to generate a far higher write

throughput than reads. Only 5-10% of the generated video is expected to be read.

Retention Period: While the retention period should be 30 days, the environment was

not configured to delete data after this time period.

Genetec Application Architecture Genetec Security Desk: Each security professional installs this Genetec client application

on their workstation desktop/laptop to view surveillance video footage. There are

typically 2-3 clients for live monitoring of incoming video feeds. There are 3-6 clients

used typically to pull video for investigations. Video is being pulled from the NVR it is

stored in. The back-end for this application is hosted on a clustered server running on

physical hardware.

Genetec Config Tool: This application runs on the administrator’s work-station and is

used to program cameras, add/remove users from the system and do trouble-shooting.

Middle tier: Genetec requires several other servers (login server, database server) and

some of these run on VMs.

Network Video Recorder (NVR or Archiver): Physical hardware hosts the Genetec

Omnicast (Security Center 5.2.1164.1056) software. Each NVR’s primary storage

requirement is for captured video. Genetec supports a maximum of 64 cameras per

NVR.

Storage Configuration: A volume of type Primary was created in a new volume container

on the StorSimple appliance, for each NVR.

NVR1 – 20TB volume

NVR2 – 10TB volume

NVR3 – 10TB volume

NVR4 – 20TB volume

NVR5 – 10TB volume

Genetec was configured to use these volumes through its UI. Nightly Cloud Snapshots

were enabled for each volume container with a 30 day snapshot retention policy.

Page 10: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

10

Video files (.G64 extension) are stored in this volume. A new file is created for each 20

minute interval. The file size can vary from 5MB to 250MB. The directory structure looks as

follows:

I:\

\Date

\Camera ID

[Video file - .G64 extension]

Deployment Phases This deployment was conducted in phases to be able to analyze the load at any given point and make changes if needed. The deployment and testing ran from Oct 15, 2014 to Jan 19, 2015, approximately a 3 month period. Phase 1 (Oct 15, 2014): An existing NVR with a load of 20 cameras was directed to use StorSimple as the storage device. [Total Camera Load: 20] Phase 2 (Oct 17, 2014): The maximum programmable per-camera bitrate was increased to 2048 kbps to increase throughput and storage utilization. [Total Camera Load: 20] Phase 3 (Nov 11, 2014): 2 existing NVRs with a load of 50 and 61 cameras each were configured to use StorSimple as the storage device. [Total Camera Load: 131] Phase 4 (Nov 23, 2014): In order to exceed the local capacity of the appliance quickly and analyze how Genetec handles video that was fetched from Azure, a large existing video dataset of 13TB was copied to the appliance. This triggered video to tier to Azure. Note that this was done for testing only – this is not typical of a customer deployment. [Total Camera Load: 131] Phase 5 (Dec 8, 2014): In order to test how Genetec handled video data that was fetched from Azure, we played back video from the first set of 20 cameras, since that was most likely to have tiered to Azure. [Total Camera Load: 131] Phase 6 (Dec 9, 2014): 2 existing NVRs with a load of 62 and 19 cameras each were configured to use StorSimple as the storage device. [Total Camera Load: 212]

Page 11: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

11

Note: Although 30 days was the period for which data needed to be retained, the environment was not configured to delete data after 30 days. In order to delete data older than 30 days and in order for the reduction in data to be reflected in storage cost savings the following would be necessary –

Configure daily cloud snapshots of the data and retain snapshots for 16 days

Configure Genetec to retain data for 15 days

Use Windows Server 2012 R2 on the NVR that has the iSCSI connection to StorSimple, in

order to be able to leverage the UNMAP feature to reflect deletion of data on the file

system to the iSCSI volume.

Note that with the StorSimple 8000 series, even with the above configuration, it is not

guaranteed that the data will be deleted on the 31st day because the StorSimple appliance

garbage collects data lazily.

At each phase, the following metrics were captured and analyzed.

Storage Utilization: Primary, Device, Cloud (TB)

Device Throughput: Initiator to Device writes/reads, Device to Cloud writes/reads (kbps)

In addition, the following aspects were analyzed:

Data reduction due to deduplication/compression

Perceived latency of the Lenel application when video is played back from Azure

Page 12: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

12

Test Results At each of the phases listed above, Storage Utilization and Device Throughput metrics were captured. These results are detailed in the sections below.

Storage Utilization

Chart 1 – Storage Utilization

The Sizing Results estimated that the Low estimate of storage required would be 30.72

TB and the High estimate would be 111.66 TB, for a total of 212 cameras after 30 days.

During the deployment, we added 13TB of existing data to increase the local capacity

utilization and quickly tier to Azure. We also did not configure the data to be deleted

after 30 days. The maximum primary storage utilization for this workload was 66.4 TB

which was slightly higher than the Low estimate (if you add the 13 TB of data that was

added and account for the fact that data was not being deleted after 30 days) but

nowhere close to the High estimate.

0.000

0.2

3.4

15.0

30.8

37.3

66.4

0.002

0.13.4

10.7 10.79.2

10.7

0.000 0.1

3.1

13.5

30.0

49.0

70.2

0

10

20

30

40

50

60

70

80

Added 20cameras (Oct

15, 2014)

Increasedbitrate to 2048kbps (Oct 17,

2014)

Added 111cameras - total

131 (Nov 11,2014)

Data tiers toAzure (Nov 23,

2014)

Added 81cameras - total

212 (Dec 9,2014)

Average Max

Sto

rage

Uti

iliza

tio

n (

TB)

Primary Device Cloud

Page 13: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

13

Device storage maxed out at 10.7 TB as expected (10.8TB is the total local capacity).

This workload generated approximately an average of ~2TB of primary video data per

day (including the addition of the existing 13TB dataset).

Throughput

Chart 2 – Device Throughput

The estimate from Sizing Results was that the Low/High bitrate across all cameras would

be 99.42/361.36 Mbps.

The highest observed throughput for the Initiator to Device Writes was 15.6 Mbps

(15,974 kbps) – the appliance is capable of 5,760 Mbps (720 MB/s) from SSD and 2,000

Mbps (250 MB/s) from HDD which is much higher than what we saw.

The highest observed throughput was for Device to Cloud writes at 20.9 Mbps (21,412

kbps) – the appliance is capable of 328 Mbps (41 MB/s), again much higher than what

was observed in this workload1.

This chart shows that this workload generates far more write throughput than read

throughput, as expected. Approximately 2% of the data written to the StorSimple

solution was read back.

1 https://msdn.microsoft.com/en-us/library/azure/dn772370.aspx

238

1126

1233411697

12718 12646

4782

15974

0.5

0.02 16 3 3 4 6 410.03940

4475

18777

12524 12687

4659

21412

0.0010.3 24 28 225 234 228

358

0

5000

10000

15000

20000

25000

Added 20cameras (Oct

15, 2014)

Increasedbitrate to2048 kbps

(Oct 17,2014)

Added 111cameras -total 131(Nov 11,

2014)

Data tiers toAzure (Nov23, 2014)

Read videofrom Azure

(Dec 8, 2014)

Added 81cameras -total 212

(Dec 9, 2014)

Average Max

Thro

ugh

pu

t (k

bp

s)

Initiator to Device Writes Initiator to Device Reads Device to Cloud Writes Device to Cloud Reads

Page 14: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

14

Data Reduction Video data stored by Genetec on the StorSimple solution was reduced by approximately 0.8% with deduplication and compression.

Perceived Latency The average observed Device to Cloud read latency was ~50ms. When fetching video data from Azure and doing playback, there was a brief delay in loading the video (thumbnails and clips) in the UI. This delay was considered acceptable by the customer – moreover, the delay was only visible for the first video load and went away for subsequent loads (since the content was cached locally on the appliance).

Benefits MSGS’s deployment of this video surveillance workload on the StorSimple solution offered the following benefits:

Higher Storage Capacity with Lower Hardware Footprint MSGS was able to increase their storage capacity while reducing their on-premises storage hardware footprint. The rack-space utilization for storage hardware went from 6U to 2U and this translated into cost savings in power, cooling and hardware support. The on-premises capacity of the StorSimple appliance was utilized at a 100% - keeping the most recent video data on premise for fast access and using Azure to accommodate the older video data.

Reduced risk of data loss MSGS was able to take nightly Cloud Snapshots of their video surveillance data, such that in the

event of a disaster, older video surveillance footage was still preserved and could be accessed by

investigators.

Improved Ability to Access Data In scenarios where older video surveillance data needed to be accessed, MSGS was able to easily

allow investigators to read the data by restoring a Cloud Snapshot onto the Azure Virtual

Appliance. This functionality can also be leveraged in the scenario where video surveillance data

from a decommissioned building needed to be viewed and the storage hardware had been

repurposed.

Page 15: VIDEO SURVEILLANCE WITH THE STORSIMPLE 8000 SERIESdownload.microsoft.com/download/E/6/2/E626FB36-36B... · 30 days, however the NVR and storage environment was not configured to delete

15

Appendix: Common Video Surveillance Terminology

Camera Bit Rate: Rate at which data is generated by the camera every second. Depends

on the camera resolution, codec, frame rate and other factors. See an example

calculator here: http://www.stardot.com/bandwidth-and-storage-calculator

Camera Frame Rate (or Frames per Second or Frame Frequency): Number of frames per

second at which the camera records.

Camera Frame Size (KB): Size of each frame generated by the camera. Typically depends

on the Codec and Resolution in use.

Camera Resolution

o 640x480 (VGA) – Analog

o 704x480 (4CIF) - Common for analog cameras - Standard resolution

o 1280x720 (720P) – HD

o 1280x960 (1M) - 1-megapixel - High-resolution

o 2048x1536 (3M) - 3-megapixel - Ultra-high resolution

o 1920x1080 (1080P) - Full HD

o 4096x2160 (4K or 4K2K) - Ultra HD

Codec (or Format): Video Compression format used to record and compress video data.

There are 2 common codecs in use today.

o H.264: Also known as MPEG-4 Part 10, Advanced Video Coding (MPEG-4 AVC).

Higher CPU overhead but results in smaller output size.

o MJPEG: Each video frame compressed separately as a JPEG image. Low CPU

overhead but larger output size.

Network Video Recorder (NVR): Network Video Recorder which is a hardware device

that a set of cameras connect to and runs some component of a Video Management

Software solution. It typically has local storage to hold some video streams and can be

either a custom piece of hardware or an off-the-shelf server.

Recording Strategy: how often to record.

o Continuous - most conservative strategy - record all the time.

o Time-based - record only during specific hours e.g. Business Hours o Basic image analysis - record only when motion is detected, etc.

Retention period: Time period for which content needs to be retained.

Video Management System (VMS): Application software that handles recording,

viewing, archiving and management of video streams. Examples include: Genetec,

Milestone Systems, Lenel.