Q & A: What's the Hardware Difference
Between a Server and a Workstation?

Q: I'm looking to upgrade my server box. Do I need to know or do anything different to build a server vs. a regular desktop? I look at computers from Dell and HP, and it seems like their servers have very scaled-down specs as compared to their desktop systems, and they cost a heckuva lot more. Why is that? Is there some component a sever has that I'd miss if I built a regular desktop system?

Answer by FOSUG member Drew Baker
Differences between servers and workstations.

True servers from Dell, HP, Etc, cost much more for several reasons.

Quality of parts, Server grade hardware is designed to run in high stress enviornment much longer before failure. Hardware is generally built to be redundant. Redundant drives, memory, cpus, power, etc. This way a failure of a component will not bring server down. It may affect performance, but server will not be left dead in the water. Also Server hardware is generally designed to be hot swapped, power supplies, hard drives, backup etc can be removed and replaced without ever shutting down server.

Most servers use Server grade SCSI hard drives. These can easily cost up to 10x their IDE counterpart. Server grade hard drives can handle massive transfers much faster then standard IDE drives. SCSI drives are also designed with a much longer lifespan. Most home drives are rated at about 2 years of 6-8 hour of use a day. Most server drives are rated at 3 to 5 years of 24/7 usage.

As for what you will use your server for will determine how you will build it.

File Server - Hard drive space, network card speed are much more a concern then memory and cpu speed. Granted you need enough memory and cpu speed to handle requests, your harddrive storage capacity and speed will become a bottle neck before CPU and memory.

Web server - If you are hosting a large or complicated or popular web page, Memory and CPU speed become more of a concern. Especially if you use PHP or python or some scripting languages, The more people using page the more memory and CPU you will be using. The hard drive only needs to be the size of your data. Since this won't grow much you don't need to worry about massive space.

Application server - This is all about horse power. CPU and Memory are key.

Email server - Highly filtered email systems can eat up memory, but are not extremely CPU intensive.

Building A server from "non-server" grade components can be done, if a budget is a concern.

My recommendations:

CPU - Stick with Intel. Intel chips tend to run a bit cooler, and you will never run into a problem having to cross compile something for another chip type. I PERSONALLY prefer AMD myself, but always recommend Intel to prevent any possible problem in future.

RAM - Gig or more, depending on what you will be doing. Buy high quality ram. If $$$ is a concern off the bad. Buy good memory and get less. Then add later. don't buy cheap ram.

NIC - Intel or 3Com. Avoid Realtek, sis, via, dlink, etc. Although I do not have any problems with these for workstations, they work very well, they use a much higher CPU usage to transmit data. If a clone card MUST be used, stick with Realtek. Since Realtek has wonderful support under linux, you can't loose.

Hard drive controllers - Adaptec, LSI, Promise. Tho I'm fairly certain they are actually the same company now. I think Adaptec acquired LSI, and I know promise bought Adaptec. Good raid/drive controllers. With good linux support

Hard drives - If you can afford SCSI, GREAT, but most often this is not an option. Next option is SATA. SATA tho not having a much faster transfer rate then PATA (the old 40 pin IDE standard) does support Command Queueing. This greatly improves speed when many people, or services are trying to access the same drive at once. You will get a significant speed boost without paying much more to jump to SATA. If your planning on using a 2.4 kernel vs the new 2.6. Avoid SATA, you will go nuts trying to make a SATA drive your boot drive. 2.6 simply will see and treat a SATA drive as SCSI.

Video - Who cares. Your server should be running Text Only. If you need a GUI, Run vesa driver, Intel graphics work well.

Kernel - Although this is a HUGE debate, 2.4 vs 2.6. the basic Idea is 2.4 is better for servers because it's been around longer and is more secure. Although this is true it's hard to prove. A properly secured firewall should allow you to run 2.6 with little problems if any. Heck, even the beta 2.7 kernel has to be more secure then a windows server. ;)

As for converting system. Tho I have never done this with Ubuntu (no reason to my knowledge why it would be different). A stage4 backup can be preformed and moved to the new machine. ASSUMING that the current setup is not over optimized for your exact hardware, you should be able to get it running with little trouble.

Here is the configuration we use for cheap web/email servers for our clients that want to go cheap:

Intel Desktop Mainboard (intel gigabit nic on board, along with 810 video)
1gb Crucial memory
2 80gb WD harddrives using software raid