Pages - Menu

February 13, 2011

How To Decide The Nos Of Disk on The NAS Or Storage Server Should Have

After working for a Year and studying the various method used by SI to Size a NAS and also noticing the problems they face. I have documented the following
The parameters that are essential for Selecting the NAS or Storage server
The normal process is to use the storage calc and find the total TB for total Nos of Camera and then study the spec of the NAS for the TB of storage.. The difficulty with this approach is that some NAS perform as required and most do not.. We end up blaming the NAS for non Performance but fail to understand that we have sized the NAS incorrectly..
The important param which is very very clear from the various post on the Internet on storage calculations is IOPS.. Unfortunately there is no documentation on this for Video surveillance.
I shall attempt to do so.. pls kindly note I am not an expert in Storage and have no great experience with the various NAS available in the Market.
All expert on storage are welcome to point out any error or technical issues with my documentations



1. The IOPS of each disk

Each disk has different IOPS (Input Output Per Sec). This is calculated from the following parameters

For 4 Nos of HDD 7200 RPM


HDD Used
7200
RPM
From Datasheet of HDD Used
Full Rotation
8.33
mSec
=RMP/60000
Rotational Latency
4.17
mSec
=(RPM/60000)/2
Average Seek Time
4.45
mSec
From Datasheet of the HDD Used
IO Time
8.62
mSec
=IOTime+Avg Seek
IOPS
116
IO per Sec
=(1/IO Time)*1000
No of Disks Used
4
Nos
from NAS
Segment Size (Block Size)
4
KB
Configure in NAS or OS
MBPS
1.81
MBPS
=(IOPS*NoOfDisk*IO Size)/1024


For 8 Nos of HDD 7200 RPM


HDD Used
7200
RPM
From Datasheet of HDD Used
Full Rotation
8.33
mSec
=RMP/60000
Rotational Latency
4.17
mSec
=(RPM/60000)/2
Average Seek Time
4.45
mSec
From Datasheet of the HDD Used
IO Time
8.62
mSec
=IOTime+Avg Seek
IOPS
116
IO per Sec
=(1/IO Time)*1000
No of Disks Used
8
Nos
from NAS
Segment Size (Block Size)
4
KB
Configure in NAS or OS
MBPS
3.62
MBPS
=(IOPS*NoOfDisk*IO Size)/1024



Pls note the just by increasing the Nos of HDD the Throughput is 3.62MegaBytes Per Second. The throughput is for Read Only and is not calculated for the NAS which is Writing the data in RAID Configurations.

The Read throughput is very much depended on the spindle speed and block size, hence pls do calc the above for the HDD used in your NAS.. 

2. Some times its not easy to get these data from HDD OEM's you can use the following values

HARD Disk IOPS from Internet

RPM
SATA II

5400
50
IOPS
7200
75
IOPS
10000
100
IOPS
15000
150
IOPS

btw Some Reading from the various post on the different head used in the data-sheets

1. Hardware block size= "sector size"
2. Filesystem block size= "block size"
3. Kernel buffer cache block size= "block size"
4. Partition table block size= "cylinder size"

  1. IPOS of the NAS


Calculate the IOPS for the NAS Used

IOPS=d*dIOPS/(%r+(F*%w))



%r
100
%

%w
100
%

RAID
5


F
4


dIOPS
75


No of DISK in NAS
4
NOS

IOPS Calculated
60
For the NAS/SAN

Block Size
4
KBytes

Read/ Write Speed
0.94
MBPS



Calculate the IOPS for the NAS Used

IOPS=d*dIOPS/(%r+(F*%w))



%r
100
%

%w
100
%

RAID
0


F
1


dIOPS
75


No of DISK in NAS
4
NOS

IOPS Calculated
150
For the NAS/SAN

Block Size
4
KBytes

Read/ Write Speed
2.34
MBPS

We can now understand that RAID0 has higher IOPS than RAID5. Hence NAS performance in RAID0 is Better than RAID5.

Now let us compare the NAS with More No of Disk..


Calculate the IOPS for the NAS Used with 4 Disk

IOPS=d*dIOPS/(%r+(F*%w))



%r
100
%

%w
100
%

RAID
5


F
4


dIOPS
75


No of DISK in NAS
4
NOS

IOPS Calculated
60
For the NAS/SAN

Block Size
4
KBytes

Read/ Write Speed
0.94
MBPS



Calculate the IOPS for the NAS Used with 7 Disk

IOPS=d*dIOPS/(%r+(F*%w))



%r
100
%

%w
100
%

RAID
5


F
4


dIOPS
75


No of DISK in NAS
7
NOS

IOPS Calculated
105
For the NAS/SAN

Block Size
4
KBytes

Read/ Write Speed
2.87
MBPS


Its Clear when we use more no of disk the throughput of the NAS is Increased. 

Its quite a task to work this out.. Its not easy but its with the formula you can play with different value of r% = 10, 25, 50 & 75.. You will notice that the throughput is better when the r% is lower.


Calculate the IOPS for the NAS Used with r% = 25%

IOPS=d*dIOPS/(%r+(F*%w))



%r
25
%

%w
100
%

RAID
5


F
4


dIOPS
75


No of DISK in NAS
7
NOS

IOPS Calculated
124
For the NAS/SAN

Block Size
4
KBytes

Read/ Write Speed
3.39
MBPS


We can get better throughput is the simultaneous Read Write is Lower

  1. Changing the BLOCK SIZE from 4K to 64K

I am not sure if this is possible on NAS.. This Block size is created when the HDD is formatted when the RAID is created. 

I have checked a few NAS and its noticed that some do.. Also Its noticed that ReadyNAS has a block size of 16K which makes the HDD not readable on other systems.

I honestly would like others to post there comments on these aspects.


Calculate the IOPS for the NAS Used with 64K Block Size
IOPS=d*dIOPS/(%r+(F*%w))



%r
25
%

%w
100
%

RAID
5


F
4


dIOPS
75


No of DISK in NAS
7
NOS

IOPS Calculated
124
For the NAS/SAN

Block Size
64
KBytes

Read/ Write Speed
54.25
MBPS



Calculate the IOPS for the NAS Used with r% = 25%

IOPS=d*dIOPS/(%r+(F*%w))



%r
25
%

%w
100
%

RAID
5


F
4


dIOPS
75


No of DISK in NAS
7
NOS

IOPS Calculated
124
For the NAS/SAN

Block Size
4
KBytes

Read/ Write Speed
3.39
MBPS


The Throughput is now 54MBPS when compared to 3.39MBPS, it an increase which will make the "QUALITY of Experience" (QoE) for the customer very very good.

This Blog is just a guideline and requires more verification.. I shall update this whenever I get time and learn from experiences 

Regards

Srikanth Kamath