Sign in with
Sign up | Sign in
Your question

Odd Budget Server Task

Tags:
  • CPUs
  • Servers
Last response: in CPUs
Share
July 1, 2006 11:38:04 PM

I've been faced with the task of building a file server for my floor at my dorm, issue is funds are very limited. I just wanted to run these ideas by ya'lls and maybe get some input/ improvements. Note that I plan to buy all parts towards the end of the summer when Conroe and all will be out, kind of in hopes of riding the price wars that'll ensue.

Firstly, price shouldn't exceed ~$1600 for now, and I anticipate around 20 users using it, possibly more, so worst case scenario the server has to deal with 20 people (I doubt this'll actually happen often). I already have the case and psu, so factor those out of price. Storage goal is ~4TB.

CPU: Pentium D 805 to be oced to 3.6Ghz with Zalman air cooler. Up time will be 24/7, so I hope this holds haha (again, if by the end of the summer there is something with better price/ performance ratio that won't necessitate ocing, I'll go for that).

RAM: 1GB DDR2, may be upped to 2GB as necessary. We won't be executing very many tasks on this server, more that it has to manage all the file transfers.

Right now I have 4 200GB Maxtor 7200 RPM PATA drives, and I will get another @ $40. I'm going to keep following deals/ try get a price reduction from a hard drive company.
The drives will be set up in sets of 5 hard drives, each set being in RAID 5 so that we actually can only use 4x200GB = 800GB/ set. The rest of the hard drives I hope to get as SATA drives, so using SATA 2 channels and multipliers for each channel, we can hook up 5 hard drives/ channel. Given a motherboard with 4 sata 2 slots, that gives us a total of 5 sets of 5 hard drives (25 hdd's in total - 5 = 20 * 200 ~= 4 TB).
My concern is can that processor handle all of these hard drives, I know the sata channels will be clogged, but as far as bandwith is concerned it seems OK. I mean even 100MB/s /20 = 5MB/s per user, which is more than fine for streaming and file transfers (and sata 2 is supposed to give me a max of 300, so 100 would be being lenient). The overhead is scaring me...

The way this all comes together btw, is I am writing a windows service (right now in C# cause it's easy, but C++ may be the way to go as far as speed is concerned) . The user gets a client program which downloads a list of all files so that sorting, searching, etc. is done on the user end- server doesn't have to deal with that. It only sends updates when a user uploads a file and can be queried for number of users connected, connections using each set of hard drives, etc. Files ar distributed randomly among the sets, this way we should get a pretty even distribution of usage among the sets of hard drives. Note that I chose storing files randomly so that if a set of hdd's fails, we won't lose a systematically sorted set of files. The server obviously manages knowing where files are, and when a user requests a file, the server sends it or streams it, acorrding to options selected/ type of file. Uploads are sent over the fserv and it then sends out an update to all connected clients.


Anyways, does this all seem doable with a measly P4D 805 @ 3.6Ghz and the given setup? Will it be able to handle all of this. Connections to the file server btw, will be hardwired to each room using a gigabit switch.

Thanks for any input!

More about : odd budget server task

July 2, 2006 12:14:36 AM

Quote:
I've been faced with the task of building a file server for my floor at my dorm, issue is funds are very limited. I just wanted to run these ideas by ya'lls and maybe get some input/ improvements. Note that I plan to buy all parts towards the end of the summer when Conroe and all will be out, kind of in hopes of riding the price wars that'll ensue.

Firstly, price shouldn't exceed ~$1600 for now, and I anticipate around 20 users using it, possibly more, so worst case scenario the server has to deal with 20 people (I doubt this'll actually happen often). I already have the case and psu, so factor those out of price. Storage goal is ~4TB.

CPU: Pentium D 805 to be oced to 3.6Ghz with Zalman air cooler. Up time will be 24/7, so I hope this holds haha (again, if by the end of the summer there is something with better price/ performance ratio that won't necessitate ocing, I'll go for that).

RAM: 1GB DDR2, may be upped to 2GB as necessary. We won't be executing very many tasks on this server, more that it has to manage all the file transfers.

Right now I have 4 200GB Maxtor 7200 RPM PATA drives, and I will get another @ $40. I'm going to keep following deals/ try get a price reduction from a hard drive company.
The drives will be set up in sets of 5 hard drives, each set being in RAID 5 so that we actually can only use 4x200GB = 800GB/ set. The rest of the hard drives I hope to get as SATA drives, so using SATA 2 channels and multipliers for each channel, we can hook up 5 hard drives/ channel. Given a motherboard with 4 sata 2 slots, that gives us a total of 5 sets of 5 hard drives (25 hdd's in total - 5 = 20 * 200 ~= 4 TB).
My concern is can that processor handle all of these hard drives, I know the sata channels will be clogged, but as far as bandwith is concerned it seems OK. I mean even 100MB/s /20 = 5MB/s per user, which is more than fine for streaming and file transfers (and sata 2 is supposed to give me a max of 300, so 100 would be being lenient). The overhead is scaring me...

The way this all comes together btw, is I am writing a windows service (right now in C# cause it's easy, but C++ may be the way to go as far as speed is concerned) . The user gets a client program which downloads a list of all files so that sorting, searching, etc. is done on the user end- server doesn't have to deal with that. It only sends updates when a user uploads a file and can be queried for number of users connected, connections using each set of hard drives, etc. Files ar distributed randomly among the sets, this way we should get a pretty even distribution of usage among the sets of hard drives. Note that I chose storing files randomly so that if a set of hdd's fails, we won't lose a systematically sorted set of files. The server obviously manages knowing where files are, and when a user requests a file, the server sends it or streams it, acorrding to options selected/ type of file. Uploads are sent over the fserv and it then sends out an update to all connected clients.


Anyways, does this all seem doable with a measly P4D 805 @ 3.6Ghz and the given setup? Will it be able to handle all of this. Connections to the file server btw, will be hardwired to each room using a gigabit switch.

Thanks for any input!



Though there are small servers with Celerons, I woul dadvise getting something a little beefier if you can. The Celeron is good but not for file servers. The HDs are important but the CPU still has to work to copy the files. WIth 5 people downloading it will drag to a halt.
July 2, 2006 12:42:18 AM

I don't really agree. A file server isn't going to be hitting the CPU unless you have a software raid setup.

But, since a raid 5 might be used, and if it is a MB based raid controller of a cheap raid controller card, then the CPU is going to be doing the raid. Sooo, with that said, I still think the CPU isn't going to be a big issue, honestly cause most of the access is probably going to be reads.

I think if this was an older machine like a 1G processor you might notice a software raid getting bogged down. Newer processors, just as a file server, probably won't notice under most circumstances.

If it were stickly a file server, a gig of ram would be plenty. Heck, even 512 would be plenty. Add in your custom app, and then only you know what kind of resources you are going to need, and that included what CPU you need.
July 2, 2006 10:18:57 PM

Note that this is not a Celeron I'll be using, and raid 5 will be used. You can assume the app is efficient and is not going to be resource intensive- the main processing issue will be up to Windows Server 2003 to handle the file transfers. Mapping files to their specific hard drive sets will be done very quickly using simple hash algorithms, so not much processing there at all, and I can even make the client app do that....
!