Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I am developing a video surveillance system that records and streams back many video streams from many remote IP cameras.

One server would be run on one machine that handles around 500 video streams (250kbps per video stream). One server would be a part of large server farm which is controlled by one simple server (unimportant here).

Now, I am an software engineer, and they have put me in charge of finding the right hardware to run my servers... And I'm clueless at what do I need!

  1. Can I install linux and configure a couple of fast HDDs in RAID and can I have the same performances as some expensive storage solution?

  2. How many CPUs do I need, motherboard, other?

  3. What is the best brand of HDDs for this?

  4. Does water cooling exist for HDDs?

Sorry for asking stupid questions, but I'm into writing software, I use the PC and that's the all the hardware details I need to know at my job... :)

share|improve this question

closed as not a real question by Shane Madden, Sven, mdpc, MadHatter, Khaled Jan 22 '13 at 7:50

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers 4

up vote 2 down vote accepted

1.Can I install linux and configure a couple of fast HDDs in RAID and can I have the same performances as some expensive storage solution?

No. I would at least go with a decent hardware raid controller (Adaptec is my bet). The mai nreason is that your Linux install sucks in tuning simply because it lacks optimized hardware. Namely: you can not safely use write back caching because if the power fails the discs may be bonkers. You CAN do so in an Adaptec 5805Z or a 5805 with BBU becasue if the power fails, the on board cache is safe (for some or longer time - the BBU runs 2 days, the Z model writes the data to a flash module). Technically, btw., this i still running Linux (on the controller).

2.How many CPUs do I need, motherboard, other?

Pretty irrelevant. You are not CPU bound unless you do compression. Any CPU should be enough, even an ATOM. Again, unless you do a lot more than just pass the streams through o the disc, you are not likely to have a CPU problem.

3.What is the best brand of HDDs for this?

Western Digital. More specific: Velociraptors, if you need decent performance for a decent price. The only 10k RPM drive short of a lot more expensive SAS drive. Depending on your IO need you could get away with larger and slower drives. This has to be tested and a lot depends on your coding.

Get a server from SuperMicro - 2 rack units high, place for 24 hard disc (2.5 form factor). Plenty of space to expand. I would possibly start with 8 discs in a RAID 10 configuration. Multiple cages can be slaved to each other. Requires a SAS RAID Controller (as the above mentioned Adaptecs).

4.Does water cooling exist for HDDs?

Yes, but it is totally irrelevant for server. This is mostly for osmoen emaking a silent PC with total watercooling and wanting to get rid of the HD heat without a fan.

share|improve this answer
Damn, time has passed. Meanwhile the Adaptec 7805Q dues SSD caching (awaiting first model now) and SuperMicro has a 4U rack case with 88 discs and no mobo, or 72 with mobo. –  TomTom Jan 22 '13 at 5:16

I retract my original answer, as I confused 125 Megabit with 125 Gigabit. Shame on me.

But of course, this makes it all a little bit easier :)

So, for your questions:

  1. Sort of. You can get quite good performance which should be more than enough for this case. I would recommend to use as many disks as possible though, and possibly a hardware raid controller. This allows, among others advantages, easy hotswapping of broken disks without any problems from the OS. And BTW, get a case with hotswappable drive bays.

  2. This is mostly dependent on what you want to do. A server grade mainboard with two sockets for 4-core CPUS and appropriate CPUs should do the trick for storage only. I would recommend lot of RAM, though, to have a buffer for when for whatever reason writing to disk stalls for a short time. Think at least 16 or 24GB.

  3. Access time is important in this scenario, so you should opt for server grade HDs with at least 10k RPM or better, maybe even 15k. Capacity is dependent on how long you want to keep the data (at 125 *Mega*bit/s total for your stream you end up with around 50GB/hour).

  4. Why water cooling? I don't know about any systems that offer water cooling for hotswappable drive bays.

share|improve this answer
Sorry? I don't get you. –  Cipi Sep 7 '10 at 10:28
I originally wrote an answer where I thought about a total data rate of 125 Gigabit instead of 125 Megabit/s. This made the problem 1000 times more difficult :) –  Sven Sep 7 '10 at 10:51

How long do you have to keep the recordings?

You'll push approx 16MB per second sustained, or arround 1.25TB per day.

Your disk array will need to be large, not very fast. If your recording software buffers a bit you won't even have many iops. I can easily see a linux software raid like you mention handle this load, especially if you give it a couple GB of ram to buffer. This assumes decent software.

If you're not transcoding the video to a different format you won't need much of a CPU for this, any modern intel/amd will do. You will need gigabit netwerk.

The brand is a difficult one to answer, I'd get some redundancy (raid5) and buy cheap SATA disks from any reputable brand.

For cooling (and reliability) I'd get a sever chassis that houses your required number of disks. The chassis will provide the required airflow to keep the disks cool. With the current information I see little requirement to go to watercooling.

share|improve this answer
disagree about CPU - I'd recommend 4 cores - in addition to the context switching required to support the concurrent streams, it needs capacity to handle the RAID - particularly if you're proposing software RAID. –  symcbean Sep 7 '10 at 12:00

I suggest asking these MIT guys: http://www.media.mit.edu/cogmac/projects/hsp.html

It the Human Speechome Project they recorded 3 years with 11 high-quality cameras and 14 microphones in one house. There was a 5TB disk array in the house with a 10 node cluster. After compression 300GB accumulated each day. Periodically the data was transferred to the MIT server farm via portable drives.

You do have about 100 times more video feeds that they had, but they still could have important insight that you can most likely get via a quick email conversation. Their hardware is more than 5 and 1/2 years old.

Here is a 20 minute Ted talk about the project: http://www.ted.com/talks/deb_roy_the_birth_of_a_word.html (if short on time, scroll to the 1m 00s point and watch for a couple of minutes).

Publication: http://www.media.mit.edu/cogmac/publications/cogsci06.pdf

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.