Table of Contents |
---|
Introduction
...
For large enterprises, it may make sense to use custom-configured server hardware to host the 3VR VisionPoint systems. While we do not intend this guide to replace or override the recommendations of IT professionals, we can offer some general guide lines guidelines of best practices for managing storage that will give our customers the best possible experience with our software solutions. Note that this document will make extensive reference to different types of RAID (Redundant Array of Inexpensive Disks) configurations and partitions.
- For a quick background primer on RAID, we recommend this short article on Wikipedia: https://en.wikipedia.org/wiki/Standard_RAID_levels.
- For a quick background primer on disk partitioning we also recommend Wikipedia: https://en.wikipedia.org/wiki/Disk_partitioning.
Table 1 - Minimum Recommended Storage Summary
...
The bare minimum HDD storage configuration must be four enterprise class HDD's. In this scenario, the four drives must be divided into two independent RAID 1 pairs. The first RAID 1 pair can be small enough to hold just the Windows operating system along with at least 50% additional free space. The second RAID 1 pair must be as large as possible to hold both the video information and the database file. Please see the table below:
Role | Disk Drives | Configuration | Settings | Partition(s) |
---|---|---|---|---|
Boot Volume | Two Enterprise Class HDD's any RPM/Cache | RAID 1 (Mirror) | N/A | Recommend single partition with NTFS or ReFS to hold Windows Operating System |
Video/DB Volume(s) | Two Enterprise Class HDD's, 7200 RPM/256MB Cache | RAID 1 (Mirror) | N/A | Recommend single partition for both video and database |
Table 2: Ideal Storage Summary
...
In the ideal scenario, there are separate RAID arrays backing the boot volume, video application volume and the SQL storage volume. Again, only enterprise class HDD's should be considered. This scenario presumes that the database will be stored locally instead of a dedicated Database Server. If you are using an external Database Server, you can ignore the Database Volume row.
Role | Disk Drives | Configuration | Settings | Partition(s) |
---|---|---|---|---|
Boot Volume | Two Enterprise Class HDD's any RPM/Cache | RAID 1 (Mirror) | N/A | Recommend single partition with NTFS or ReFS to hold Windows Operating System |
Video Volume | Two Enterprise Class HDD's any RPM/Cache | RAID 1 or RAID 5 | If RAID 5, default larger stripe block sizesizes (i.e. 64K) tend to give best performance. | Recommend single partition |
Database Volume | Two Enterprise Class HDD's, 7200 RPM/256MB Cache | RAID 1 or RAID 10 | if RAID 10, consider minimal stripe block sizes to improve IOPS | Recommend single partition |
RAID Options Detail
...
It is beyond the scope of this document to try and illustrate every possible hardware/software RAID configuration. Instead, Identiv offers the following general recommendations that the above tables are based upon.
...
To setup an optimal, dedicated RAID system to store video, you should consider RAID 5. RAID 5 strikes a great balance between streaming read/write performance and reliability. However, RAID 5 requires at least 3 dedicated HDD's and is best suited for between 4 and 6 HDD's. Using only 3 drives is inefficient and more than six drives can be too risky because you only have a singe drive failure tolerance. If you require more than 6 drives, consider RAID 6. However, if you only have 2 drives to store your video your only reliable option is RAID 1. For RAID 5, Identiv recommends a relatively large stripe block size like 64K.
Database Volume RAID Options
To setup and optimal, dedicated RAID system to store your SQL database locally, you should choose either RAID 1 or RAID 10. RAID 0 is not recommended because a single drive failure will cause loss of the entire database. If you choose RAID 1, there are no options to consider. But if you choose RAID 10, there is the additional consideration of stripe block size. Because SQL transactions tend to be smaller in nature, it is important to optimize as much as possible for smaller transfer sizes in order to see a performance improvement. It is not possible to specify a perfect size, but Identiv recommends starting with smaller stripe block sizes rather than larger ones to get the best performance.
Performance Tuning
Some additional Windows settings have some significant performance improvement potential.
Data Compression
Turn this setting off.
File Indexing
Turn this setting off.
File Defragmenting
Severe file fragmenting can seriously degrade storage performance. Identiv recommends setting up file defragmentation to run once a week (preferably at low system load times)
File System Allocation Block Sizes
Internal Identiv testing has not shown any performance gains by choosing a non-default file system allocation block size. Your experience may differ, but at the current time we do not recommend any changes to the default Windows file system allocation block size settings.
Volume Cache Flushing Option
...
Once the RAID volumes have been created and a file system created on a RAID volume, there is one last setting which can dramatically improve performance on the volume: disabling the file system write buffer flushing. This setting controls whether Windows aggressively tries to keep file system related information synchronized between what is stored in the relatively fast RAM and what is stored in the relatively slower permanent storage system. To keep the data between the two in sync, the data in RAM needs to be written out to the RAID system as often as possible in case there is a sudden and unexpected loss of power. In the case of sudden power loss, any information that was kept in RAM but not committed to the permanent storage system (i.e. the RAID drives) will be lost forever. However, this strategy to protect against potential data loss comes at the price of performance when the system is under heavy loads. But sometimes it is the cache buffer flushing which is actually contributing to the heavy system workloads. This means that one of the of the performance improving options for systems with heavy workloads is to disable this aggressive cache flushing behavior.
...