Truenas scale cctv build

I have a friend who want’s to install a surveillance system on his company and he asked me if we can do it with Truenas. We already have Truenas for data protection and sharing.

His new place will have around 90 IP Camera, and we are now at the research part how to implement this.

I want to ask you guys if there is any software that I can install on Truenas to do this surveillance. (I saw that there is frigate included as a container. is it good?)
He want’s to have 2-3 displays that show all camera’s and zoon on any if he desire.

My second problem is how many hdd’s I will need to sustain the recording traffic, what nic’s will be used (I am thinking 10Gb). I am thinking a Z1 maybe Z2 depending on how many drives we will have room in the chassis. (maybe a 2U 12drive chase). We will use 4MP camera’s for the initial calculations and a 30 days recording period.

All camera’s will be POE and between switches we will do fiber/copper so traffic will not be a problem.

We are from Romania, so if any of you want to make us a visit just send a message and we will organize something.

I am not aware of any good software for TrueNAS that handle NVR. This is why I recommend Synology Surveillance Station so often.

We will analyze also the market for classic nvr’s. I will post my findings for others when we will chose out solution.

So we decided to go ahead with chassis with drives and install an surveillance software.
My next question is how should I arrange the drives so I can have the write speed needed by the system.

I used to make the first estimates:

and the result was 252 Tb space and 0.8Gbps throughput for 50x8Mp + 20x5Mp + 30x2Mp camera’s 25fps 30 days 24h at H.265.

So from what I see I have to sustain 800 Mbps (100MBps) write speed for 100 users. I think I will make files at each 15 min.

Assuming I will have drives that can write more then 250MBps (now they are faster~290MBps) I have more then enough speed to write this data on one drive, but I do not have only one stream, I will have 100 streams so this mean’s one VDEV/drive will bottleneck.

I have tested my Supermicro Server CSE-829U 2x 6C Xeon E5-2620 v3 2,4GHz 64GB with 12 drives WD Red Plus CMR WDC_WD40EFZX that are 180MBps rated arranged in 2xZ1 6 drives each with a dataset with standard settings only record size modified at 1M and I get with your script from [FIO Bash Script For Linux Storage Testing] :
I modified NUMJOBS to100 NUMFILES to 100 FILESIZE to 1300M perform_test write. CPU’s were mostly at 100% (spiking down to 50% from time to time) time for task completion 25min →
Running write test with block size 1M, ioengine libaio, iodepth 16, direct 1, numjobs 100, fsync 0, using 100 files of size 1300M on test1Mb
Average Write IOPS: 8428.97
Average Write Bandwidth (MB/s): 8428.97

I modified NUMJOBS to 100 NUMFILES to 100 FILESIZE to 130M perform_test write. CPU’s were mostly at 100% (spiking down to 50% from time to time) time for task completion 4min->
Running write test with block size 1M, ioengine libaio, iodepth 16, direct 1, numjobs 100, fsync 0, using 100 files of size 130M on test1Mb
Average Write IOPS: 8503.97
Average Write Bandwidth (MB/s): 8503.97

I saw that the script is making 100 files, I do not know how to simulate writing 100 files at once of 1300MB for 100 times (I have space in my current nas)

Anyway according to these tests I can write ~8.5GBps so even with this old system I am fine. (or I have misunderstood the measurements)
Also will the new build be fine with a Ryzen 7700 or should I go to a EPYC 7232 both with 64Gb ram and a LSI HBA 9305-16i/9305-24i

RAID will handle it no problem with enough disks. Take a disk throughput rate and multiply by number of disks in the raid array. 8 disks should give you around 10 Gbps with quality drives.

An update.
I settled on building a intel silver 4310 with 64Gb ram and start with a 24bay 3.5" case.
I will put a LSI 9305-24i, I know it is an old model but I use only sata so it should be fine (I hope).
for nics I will pus an intel 2xSFP+ and link one of them with an 3m DAC cable to the main switch.
Will put for the first part of the project 8 20Tb seagate exos ST20000NM007D. Should I arrange them in 2xZ1 or 1xZ1, I do not mind losing a drive for 2xZ1, or 1xZ2. I will increase storage later when I need it and I will do it with 8 drives each time (I have 24bay’s to fill).

I want to install truenas for storage management but I have not settled on what should I do for DVR software yet. I see there is frigate in truenas charts, or I will install a VM and pass the storage from truenas to VM via samba/nfs depending on os required for the software.

Will create a new topic today for building a hyperconverged server that will reflect also to this build.