Rack Server

I know pretty much nothing about server hardware.  I am considering building a rack mount server and I am really confused. If I buy one of the server parts that slide into the rack, sorry I don't know the term, then later buy a second. Would the 2 work together or be separate? Sorry if I was confusing.

Well servers are standardised to a 19" rack mount. As long as the server units are designed for a 19" rack, they well always fit into that size rack. 

Would the 2 work together or be separate?

They will remain separate if you put them on individual rails. (plus metal doesn't magically fuse when put in close proximity to other bits of metal.

Is there any way to connect them. If there isn't then what is the point of rack mount? Why not just use a regular computer case?

What do you mean by joining them? Physically? The case are technically bolted together via the rack but not to each other.

The Rackmount system is to increase computational power in a given space, so Computation density. The Rackmount form factor is really compact. Plus when you have 42 servers in one rack and one unit needs maintenance, your gunna have a HUGE problem if they are connected to each other. 

I mean like crossfire but with servers.

Clusters

Yes, distribution of load. This is extremely common practice for everything from web serving to scientific compute clusters. (hell look at Tianhe 2 with 16000 nodes/servers)

Are there specific things that one needs to look for to know if it will support this?

Clustering is done (99.9% of the time) via software. But there are some requirements for the best performance. Like machines are best if they are of identical specs. Unless you plan to use a load-balanced cluster (usually for web hosting) where you can use a load distribution method called weighted round-robin (basically round robin scheduling but it takes into account the servers computational power)

Plus there are only certain applications that benefit from being run on clusters.

Allright, so could you recommend some hardware to run a website a network file server and a minecraft server for like 30 people. Preferable as cheap as possible. I could host less people on the server too. Also what bike is on your profile page?

Minecraft is one of those odd-ball applications. It only uses a single CPU thread, but it wants as fast a CPU as possible with LOTS of RAM. Also web hosting (for example Apache) also likes sitting in RAM. Meanwhile file servers don't really require much, unless your using ZFS.

So look for a fast i3 or i5 (the faster the better). The i5-4570 is a nice fast chip, alternatively you could look at an AMD chip and overclock it to compete.

I'd get a motherboard with 4 dimm slots, dont cheap out on a 2 dimm slot board, as if you buy 2x8GB memory dimms, and you need more RAM, you only need more RAM not a new mobo as well.

Memory, choose something you trust. Unless you use a Xeon you can't use ECC and for your application you won't benefit from it either (unless using ZFS on storage)

Storage get the HDD capacity you require. As for boot, you can use an SSD (but I wouldn't say its needed), Minecraft also does like a faster storage device for when it does have to pull data from a drive.

http://pcpartpicker.com/p/2fImG

This is just an example, choose a case you want and a CPU cooler if you don't want to use the stock one.

 

That particular bike is a Saracen Myst 2011 model. Now on a Myst X from 2012.

Is there any benefit for using Xenon or Opteron cpus?

What sort of upgrades could allow for more people on the same minecraft server?  If it only uses one thread and a load of ram.  Would clusters allow for that sort of thing? I want to start with just some friends then grow. Also is  any special cooling required? 

No you wouldn't see any benefit from using Xeons or Opterons.

That is what I meant by "Plus there are only certain applications that benefit from being run on clusters." Minecraft is NOT one of them, forcing to run on a cluster would just degrade performance.

Large server (like hypixel for example) may actually use multiple instances of a server running and actually be passing you from world to world on the servers. Custom servers, like bukkit, can allow for utilization of multiple threads by off-loading plugins to them. To truly understand, you will need to know a good chunk about Java and Minecraft itself.

A different cooler isn't required, but if the CPU is running near capacity it will keep the temps down and/or be quieter than the stock one.

I think the limiting factor you will find for a Minecraft server, other than the machine, is you Upload speed. To provide a good experience for each player, you need around 300-400Kbps upload. anything lower and you will start to get missing chunks and slow loading when players move to new chunks.

300-400Kbps? Seems low.  I intend to run tekkit or Ftb. Which to my knowledge could be run on bukkit. Do you know how much storage is required for bukkit servers? 

Nevermind the speed question I miss read it. 

Storage depends entirely on how large the map becomes, but a healthy map size is usually under 1-2GB.

I believe FTB can be run in Forge. Which is another API thingy for minecraft

Okay what would be a good cheap operating system. 

Linux = Free. Uses the least system resources especially when you use the CLI only.

Is Ubuntu server a reasonable choice? 

Yea, its the easiest to work with, especially if you've never used Linux before