How to Build a Server
This article was made to show you how the current OCTools server was built from scratch a while back. Look and see how to build a server. The server was made using parts coming from different sources. Most parts were used in some tests for the articles in the site. This proves that you can make great things with so called “salvaged parts”. The parts are listed below:
2 x 30Gb HDD
1 x 20Gb HDD
1 x CD-RW Drive
1 x ASUS P4T
4 x 256Mb RDRAM 800
1 x Intel P4 1800 Mhz
2 x IDE 133 cables
1 x Chieftec Black tower case
1 x old PCI Graphics card
1 x CD of Debian GNU/Linux
1 x Thermaltake Dragon cooler
1 x Qtec 400W PSU
When I received the parts, the cooler was glued to the CPU, but transport made the heatsink loose. So I decided to really unglue it and redo it properly. This left me with a CPU that looked like the one in the picture below.
Not very nice as you can see. The leftover glue on the CPU wouldn’t let me get a good contact with the cooler. Now that’s not really good. So what next? Well, out comes my trusty sandpaper. I chose not to lap it too much, just enough to get a flat surface. So began the hard work. Large grit then smaller grit, then even smaller one.. Ok that’s enough, no more glue on the CPU. Now for the finish product.
Hey, where’s the mirror finish? I really don’t need the super smooth look. After all there is no extreme overclocking happening with this system, just server reliability. I just needed to be sure that there are no wide gaps between the CPU and the cooler. Anyway you can tell for sure that it really looks nicer than the one with the glue. However, by doing this, you will lose the Pentium4 markings and all at the cpu core. Who cares? I don’t.
Now, the cooler’s turn. As you can see, it also had its dose of leftover glue. Here you can assume that the CPU wasn’t glued to the center of the heatsink. This can really be bad as there are hot zones and cold zones on the CPU. Placing a thermal probe won’t give you an accurate temperature reading as well.
There is still some blue paint in the center of the heatsink, but since no extreme cooling is needed here, this should be sufficient for my purposes. After all, when you look at a server heatsink, it’s even worse than this one, so no problem here.
With that sorted, I started setting up the other components by placing the memory and the CPU on the motherboard. Note that I haven’t got the retention mechanism for the socket as this board was used on one of our watercooling test rigs. That’s why the heatsink was glued in the first place to the processor as Ramil couldn’t find the retention mechanism when the watercooling gear was removed from this board.
So how will I attach the cooler to the CPU this time? Hmm, since it was glued in the past, so why not glue it again? As you can see from the previous pics, the cooler was glued using arctic silver epoxy, but this glue was not evenly applied on all the surface of the cooler. That’s probably why they didn’t bind together that well. This time I’ll try to apply an even layer of arctic silver ceramique epoxy on all the CPU surface (well, at least on the core
OK, the heatsink seemed pretty secured to the CPU now. But I wasn’t very confident in a glue only solution. Call me paranoïd if you want, but as precaution, I used two plastic straps to tighten the cooler a little bit more. So even if gets loose, the cooler would still stay on the CPU (or at least I hope so.. If sometimes you don’t see the site, that means its really loose
After sorting the motherboard and all its components, everything was installed in the Chieftec tower. It is quite a really handy tower, with four places for fans, racks for the hard disks, and gliding slots for 5.25 bays. The server door and panel can even be closed by a key for security.
Not bad, huh? Even the golden Qtec PSU looks great. Of course it’s a stock case, without windows. But who needs windows (pun included) in a server environment.
You’re probably wondering where the 3rd hard disk is when you can only see two of them. Well, the third one is kept to only make the backups everyday. The two other disks are configured to make a mirror raid array.
Now it comes to the OS install. Why pay for an unstable OS which you have to reboot every time a patch comes? No I really want the server to be stable. My first thought was to install the server with OpenBSD, which is very secure by design. But after some thought, I decided that it was better to install linux as I wanted a fast, efficient, and journalled filesystem, and I was not aware of one such thing under OpenBSD. Forgive my ignorance, but I don’t know if one could actually run OpenBSD on different filesystems. After reading many benchmarks, I found that the most appropriate filesystem was SGI’s xfs. But, well, xfs is not supported on a vanilla 2.4 linux kernel, so I had to patch it. I also wanted to make it more secure than a default linux install, so I also opted for a grsec patch. I must admit both patches didn’t go very well together, but after some messing in the source code, I was able to solve all the .rej files.
So that’s my plan. Now I had to find which distro I would run. Obviously, the best would be the one with an easy to update package system, which is kept relatively up to date with security fixes. Also, why do I need to install all the unnecessary files on most distros. So my mind went back to a Debian GNU/Linux system. I must admit it’s the one I use on all my machines, so I know it relatively well. You can even download some of the patches I made here.
After installing the OS, I configured the MTA (exim), to use an antivirus scanner (not that I need one, but it’s for general safety), and of course spamassassin.
Hey we are an overclockers’ site. So the computer has to be overclocked Well, not too much, because it has to be stable. So jack up the FSB a bit and whoala, instant 90mhz extra from the P4 1.8 Ghz processor. This server is now running at a rock solid speed of 1.89 Ghz.
Then I had to negotiate the hosting of the server. That’s probably the hardest part. Finding someone to host your dedicated server at a good price. I found Codenet was the best one for this job. Some contacts in the inside helped me get the deal. Finally, here’s some pics of the OCTools server in its rack.
In conclusion, you can see that it’s not too hard to build a server. Honestly, the hardest part in building one is to secure the OS and find the best place to host the machine.