Sat Jan 30, 2016, 5:51 AM
~ Preface ~
So, this journal will be different than what you guys are used to but I still consider it an art regardless, and I'd like to share with you a local personal project I've been working on for the last few months!
There are pictures below!
I will try to be vague in some areas because not everyone is as enthusiastic as I am. Some things are not to electrical code as you will see; trust me, I know but all is safe.
As many of you happen to know, I'm a computer enthusiast. I love building, breaking, rebuilding, fixing, tuning, tweaking, and much more with anything that can/will run an Operating System. With this, I got a little into different server side aspects such as web hosting and IRC. I originally started with a small desktop from some company that is well out of business that I got from a neighbor for free since I was regularly over there helping with many mundane tasks. This worked for all of three days before the motherboard popped a capacitor and bit the dust, oh well. So off to internet stores where I purchased a motherboard/CPU combo for about $100 USD. It came with a Micro-ATX motherboard and a duel core Intel Celeron processor; this was nothing fancy but on the cheap, I had a working machine I could now mess around with.
That's where I basically dove in and self-taught the rest of my knowledge. I started with a copy of windows 7, installed whatever version Apache and PHP was on (To get a website online and responding), and did some other IRC (Internet Relay Chat) relay type stuff. This was nothing fancy at the time whatsoever but it also allowed me to host some light-weight FPS game servers and even a Minecraft server to some extent. Since this box was now running 24/7, I later swapped out the Power Supply Unit with something low power and energy efficient than the 8 year old beast it had (Because a Celeron puts off basically no heat). This setup lasted for probably a few years like this before I started investigating ways to virtualize the system so I could create separate services/Operating Systems on one box (Yes, all on a Duel Core Celeron Processor, lol).
~ Main Intro ~
More recently, lets say end of October 2015, I saw an amazing deal on some server hardware on Craigslist. I had been scoping out something reasonable for a while so I could expand past a cheap-o desktop and start playing with some enterprise hardware. Note: Most servers around 5 years old or so go cheap because many companies upgrade and even more consumers have no idea how to use a server grade computer. However, I am the 1% that does know how to use an actual server box and I spotted one I liked. The only stipulation? It was a 2 hour drive, but this was a deal better than what I had ever seen on Ebay or anything local. For those who want to google, I had found a Dell Poweredge R710 for $300 USD (Specs listed at end of journal). In the end, I was very much willing to make the drive, if that wasn't obvious already, and I had myself a real box that I tested fully functional. There are reasons I got it on the cheap that I will soon explain as well.
So then, I had the server, where do I put it?? Well as some may know, servers can be loud, especially when running fairly warm. In my current location, I have a small hall closet that has a half-sized door on it. This new server, however, was almost exactly the width of the door. With some 2x4 pieces of wood, the server fit almost perfectly like a wedge inside of the closet and the wood put all of the weight bearing on the floor rather than the wall (This thing weighs somewhere in the neighborhood of 40lbs). Here's the first image I'd like to show you of the completed (Current) setup and how it went in:
From here, the big metallic shiny thing is that machine I picked up. At first glance, the way I did things looks kind of funny but I have my reasons. First off, yes, the server is mounted vertically rather than the standard horizontal mounting such as in a rack mount. This is because the closet is not actually long enough for the server to be horizontal and the door to still close (We want the door to close to keep any stray fan noise within). With the server like this, unfortunately, it is basically fighting itself to exhaust heat out of the bottom seeing as heat rises. However at the very bottom is a squirrel cage fan that will help to suck the heat away from the server's heat output and put it right under the door and away from the closet. This attracts cool air in from the top and currents down to the server intake at the front. Directly above the server is an old VGA monitor which as I have running (Htop for you linux users) to on the fly, let me see what the server is doing and if it is under load. I generally only use this monitor if the network goes down or if I want to see how the server reacts live to remote commands. On the shelf is a battery backup (UPS) that will run the modem and router next to it as well as the server in the event of a power failure for about 30 minutes. Now then, lets get into the nitty gritty stuff.
~ The Nitty Gritty Stuff ~
Lets start off with more info about the fan itself.This is a smaller version squirrel cage fan used by carpenters to well, dry carpets or vent rooms. These are quiet yet very powerful utility fans and was the perfect choice for moving a lot of air without consuming too much power. There is a fairly large gap underneath the door so rather than replacing/tearing into the door, the fan is capable of moving the hot air out of the closet through the gap at the bottom of the door. The fan itself is left on its high setting and plugged into an outlet that has a fan controller switch wired to it, and I did this because not only does this leave me with 9 total fan settings combined, but also the low setting on the utility fan was still quite noisy and moved more air than necessary (The goal being to find a quiet setting that kept the room at a perfect operating temp). Thus came the dual control switch:This I got off of Amazon on the cheap where the slider lets me control the fan outlet, and the toggle switch is independent and lets me control the closet light. Side note: I did the Romex wiring to the two extra outlets and switch. Generally with the switch on its medium setting and the fan on high, the fan receives about 50% of its original power which leaves me with a nice air stream and an extremely quiet fan. Here is a temp reading from the server itself during normal operation:The server's internal fans don't start to ramp up until above 80 degrees F and is actually very quiet until then. There is an external cheap thermometer I have also displaying the general room temp and air intake as well as humidity:This is what initially helped me tune the fan and monitor the room for any heat problems. The server itself will give me remote temp readings of the internal hardware but monitoring the air intake is also important. As mentioned a few times now, being quiet is a key aspect I wanted out of this project. If the server is cooled to a reasonable working temperature, the fans internally will stay at a low RPM, and at their low RPM, isn't more than a light hum in which you could still talk to a normal person while whispering. The cage fan was now also in tune to keep the room below my goal of 80F at a noise level on par with the server or quieter.
So now, let me talk a little about why the server was cheap. From the following image, you can probably see a few reasons for yourself:When originally purchased, the server did not include any hard drives (As most used servers will not), and it was also missing the hard drive caddys which would otherwise hold the drives securely in place. The server also originally had a front bezel that was also missing. Other than that, everything else was perfectly fine and operable with no damage. This server originally came from a real data center with air filtering and such, so the insides were very clean and dust free. My closet being residential and entry level, does not have such a unique air system (Fan on the floor, heh). However in its current state, I have added four 2TB drives into the server configured in a raid 10 (Raid 10 giving me 4TB of usable space which also makes the drives 4x faster to read from and 2x faster to write data to). Using a raid configuration also allows redundancy in the event of a drive failure.
At this point, I'd like to mention the server specifics.
In addition to the list above, the server is running a copy of Debian Jessie (A free version of Linux) with virtualization software installed. The virtualizing software has a GUI (Graphical User Interface) that is accessed from a different computer for remote management. The software installed with Debian allows for multiple Operating Systems to be installed and run side by side on one machine. With this, I am able to take full usage of the server, maximize the performance of different tasks, and multi-task like a boss between multiple running instances of both Windows and different flavors of Linux.
- Dell Poweredge R710
- Dual Intel Xeon X5560's (4 cores each with hyper-threading)
- 16gb of ECC ddr3 RAM
- 4 gigabit Ethernet ports and one additional management port
- Dual vga ports
- 4 USB 2.0 ports and one internal USB 2.0 port
- Included serial card and PCI-E riser cards
- Included RAID card
- Redundant 800w power supplies
- Slim DVD drive
~ Practicality ~
So, what exactly was the point of all of this so far? For me, this opened up a world of opportunity. Currently, I have the server in operation for many tasks that the computers on my network utilize daily. My first virtual box is also running a flavor of Debian which acts as a cloud file server. This file server can be accessed within a web browser and has a separate desktop client that can be used for syncing folders and files on a PC. In my practicality, I have the cloud syncing software installed on my laptop which I frequently use for schoolwork. I take notes and do school activities with the laptop and save the files to a flash drive. As I save the files to the flash drive, the cloud server downloads a copy of any files I create and will remove them from the cloud as I delete files. This is fantastic if ever one day the flash drive fails or it breaks since it would be a simple plug in a new flash drive and image it to the cloud. This also has the added benefit of being able to access the files on my flash drive from any PC with a web browser since all of the files are synced to my cloud.
My next virtual box is a Windows box which acts as my local file server. This guy handles PC backup storage for multiple computers and does all network drive storage operations. If you have a computer with a small hard drive, you can use the Windows box on the server to assign some of that sweet 4TB of space you have to a network share, password protect it, and map it to a specific computer. In my case, I have one network drive share acting like a NAS (Network Attached Storage) that is attached to all PC's on the network so file sharing is easy. Guests on the network are unable to see any drives and once you give them the first level of authentication, they can then see the network drive but a guest would only gain read access and would be unable to delete or alter files. This is great for streaming movies in any room or sharing music and the like. With the right authentication, a PC would then be able to change files and share applications on the drive. In addition to one centrally shared drive, my main desktop has an additional drive attached with all of my steam games (Steam is a mainstream gaming client for PC users) downloaded and installed to. This offloads some of the game loading to the server so my personal PC has more horsepower for the running game itself. Being that the server has a gigabit connection, games still load just as fast as they would have otherwise if not faster for mechanical drives. Another cool feature with Steam games on the server is that one could bring another gaming capable machine onto the network, attach the Steam drive, and play the games without re downloading them. I have over 500GB of games installed and doing that more than once would be a huge pain. There is more that this Windows box does but that is the main purpose of it.
The next box generally isn't used but acts as redundancy for my network. From the bottom server pic, you can see that I only used one port on the server. However, with the third box I have running, you can attached a PC directly to one of the three other available Ethernet ports on the server itself and that PC would gain internet access. My third box is running Pf-sense or free router software. If for some reason my main router happened to stop working, I could connect the modem directly to my server and connect an outgoing cable to any other port and regain internet access to ether-netted devices. This wouldn't be permanent but would work if I needed to troubleshoot or get back online in a pinch. One might ask why I don't just use the server as a permanent router anyways and get a WiFi broadcaster. I don't have interest in doing so simply because I'm constantly tinkering with my server and sometimes it gets restarted or turned off temporarily and I'd rather keep the internet connection separate from that.
The fourth virtual box I have installed is another Windows copy acting as a work station. This is a box with a good chunk of server resources that is a very capable machine for tasks that would otherwise take long to compete. This machine can be used for fast video rendering or streaming, strong multitaskers, or heavy activity users. In this instance, not every machine in my house is super beefy or well off. In this case, you can take a slower physical computer, set it up to boot the remote workstation virtual machine, and connect to it in this case using Windows Remote Desktop. This makes it so your computer inputs go directly to the workstation which has the same network shared drive attached so everything you do can be accessed on any other physical machine and vice versa. It's like getting a new computer or a nice computer upgrade with the click of a mouse.
My last virtual box is more for testing in its current stage but none-the-less is a copy of Ubuntu. With this box, I've tested my router software and worked with secret internal network websites. This box connects to a private network managed by the running router software on virtual machine three and is set to only be accessed by devices on that network. I haven't done much with this yet but I have gotten multiple WiFi networks up with separate sub-nets for accessing such a secret website.
~ Summary ~
So to finish up, I'll go over some of the last things I haven't gone into much detail yet.In this image, you can see three things, the battery backup on the far left, the modem middle, and the consumer grade router right. On the left is an APC XS 1000 UPS which provides up to 600 watts of power upon failure. The server itself has two switching power supplies, one of which is plugged into the battery side outlets, the other which is only surge protected and no battery. The benefit of this is when the power goes out, one power supply will also turn off which the server will readily pick up on and notify me of. The battery then runs the server off of the other power supply and will also run the modem and router. The server will run for around 30 minutes and is configured to turn off before the battery gets low or about 10 minutes remaining. After that, there is enough battery to keep the internet and WiFi running for laptop users for another good hour or so.
The modem is just a standard Surfboard router provided by the ISP (Internet Service Provider). The router is a Netgear gigabit WiFi router which keeps everything connected on the main hidden network and also broadcasts a restricted guest network. The entire network uses only cat5e Ethernet cables capable of gigabit speeds but cat5e is prone to interference depending on location. However, I have had no such issues so cat5e works fine in my situation.
I also have a wrapped up 50ft cat5e Ethernet cable which is great for guests who come over with a gaming console and don't want to deal with WiFi. This extra cable is also of use for troubleshooting PC's with no WiFi card.And just so that I cover all bases, I'm also including a picture of the LED light I have mounted at the top of the entire closet:This light came out of a cabinet and had a plug on the end. When I wired the switch mentioned above, I wired it to outlets so both the light and the fan can be easily moved or replaced if needed rather than being hard wired. The LED light has the added benefit of not running hot so it's much less of a fire hazard and it won't break if it is struck or dropped somehow unlike a conventional light bulb.
If you've made it this far and actually read the entire thing then congrats! And thank you for taking the time to read all of my rambling. This is something I thoroughly enjoy doing and I hope others who are interested find inspiration to try something similar as well. I want to remind users that I do indeed have my own website that I host myself over at xrd.me which is not home hosted but is hosted on a separate server that I rent in a legit data center.
If anyone has any questions, feel free to ask me and I'd love to go into any more details I might have missed
Journal design by kunehoGod
- Listening to: Monstercat
wow Im impressed. How do you know all this stuff?
All self taught. It's amazing what other people have done and google has been a really big friend of mine for a lot of the software aspect. Physically however, I just sort of experiment until I feel everything is right.
and are you using xenserver for the virtualization?
Interesting, I've never heard of that one. I tried once to install xen on an old notebook with Ubuntu to see if it could run Windows properly. It had already VirtualBox but it run really slow. But I failed to configure the network bridge, I got frustrated and had to keep working with that broken computer.
You might be interested in how my laptop is set up. I've got three OS's on it: Ubuntu, Windows, and Debian. The first two aren't interesting but with Debian Jessie, I threw in Proxmox to make sort of a make-shift workstation. Reason being that you want to install Debian first and then Proxmox is to set up your drive partitions correctly, because normally Proxmox will take the full drive over with its own installer. From there, I've run a virtual windows box just fine. Getting the network can definitely be tricky especially being on a laptop but if you want to give it a try, I used: pve.proxmox.com/wiki/Install_P…
I have something kind of like that at home, but no blade server. That would be overkill for what I'm doing.
It's a kvm host and fileserver though. I might take a picture of it sometime.
It's a kvm host and fileserver though. I might take a picture of it sometime.