Posted on 2. April 2010 00:23 by jr
Going green
I've recently swapped my old server in the attic for a brand new Intel D510MO setup and wanted to share the experience. Since these are green times and electricity is damn expensive here in Denmark I decided that it was time to go green. Some years ago I ran my server on a Via mini-itx board back when they first showed up. I remember it being quite slow, but doable. After a year or so I went for an AMD64 3500 setup, which I underclocked to save power. Still with two hard disks it used around 100 watts an hour, which is somewhere along 870 Kwh a year - in Denmark that amounts to 1500 Dkkr or roughly 300 dollars a year.
Queue the Intel D510MO
Then one day I stumbled upon this board in the news. The Intel D510MO. With a dual core 1,66 Ghz brand new CPU and everything you would need for a server rig, all built into a tiny motherboard in the mini-itx form factor. Reviews were quite good, power consumption almost rediculously low and the price equally so. I had seveal disks laying around and some DDR2 memory as well. All I needed was the board. Since my old server casing was a huge pile of iron I went for a small footprint instead and ordered the M350 and an external PSU to go.
The M350 casing only takes up 6.2 cm (H) x 19.2 cm (W) x 21 cm (D) which is damn small. Inside you can fit the motherboard, a 2.5" harddisk and a small fan.

You can check out more images here: http://www.mini-itx.com/store/?c=54
For power I added the picoPSU90 with a 80 watt universal AC/DC adapter.
The Intel D510MO uses so little power that it's passively cooled. If you threw in an SSD disk you would make a completely silent rig - how sweet would that be? I ended up installing a small fan to keep the air flowing inside the case. Since my attic runs quite hot in the summer I thought it was better to be safe than sorry. Besides since it's sitting up there all alone, noise from the fan won't bother anyone (you should have heard the old server :-)
Alzheimers for PC's
So now I had a server and was ready to go. Since I've been building my own computers for 15-20 years, then by now I should know that building computers your self never goes exactly the way you want it to.
First it was the memory. I had 2 x 2Gb and 2 x 1Gb of speedy Corsair DDR2 ram sticks just sitting on my desk (I had recently upgraded my own computer with 16Gb of memory). All looked good, except the damn board would only boot with either a 2Gb and a 1Gb stick in the two slots, or two 1Gb sticks. I just couldn't get the stupid thing to boot with 2 x 2Gb. Later I learned that it was because the ram sticks were rated for 2.1 volts, but the board only supplies 1.8 volts. The board tries to change the timings, but the 2 x 2Gb option was simply out of it's league.
With my luck it came as no surprise that the 2Gb sticks wouldn't fit into the tiny casing either. I ended up using only the 2 x 1Gb sticks (and breaking one of my 2Gb sticks in the process... stupid damn ¤%&"#/&).
Harddisk troubles
I had a 320Gb Seagate Momentus.4 2.5" harddisk in my drawer. This harddisk is the fastest 2.5" inch sata disk around according to www.tomshardware.com, however once I started configuring all the software for the server it simply didn't cut it. Besides I wanted loads of gigabytes for storing files, so I ended up using a 1.5Tb samsung EcoGreen instead. Now, this harddisk was a 3.5" so it wouldn't fit in the case. I had to place it in a 5.25" to 3.5" converter, drill a few holes in the converter as well as the M350 case and screw both together using rubber dampened screws (dual headed screws with a rubber seal between to absorb the vibrations). I then made a small hole on the side of the case and ran the sata wire and the 4 pin molex power plug outside the case and into the 1.5Tb disk. It isn't pretty but it gets the job done and the server is going to sit in my attic so who cares.
Software
The old server ran Windows 2003 server with a single virtual Windows 2003 machine inside Vmware Server. Why this odd setup? The virtual server runs my mail-server and I wouldn't risk contaminating it with all the stuff that the host server ran. Besides - whenever I reinstalled the host server, I wouldn't have to reinstall the mailserver as well.
Since the new server would be running everything the old server did, as well as the mailserver I figured it was time to try Ubuntu server as the host OS and then go for a dual windows 2003 guest os setup. I hoped the Intel D510MO had enough juice for it.
Installing ubuntu server was so damn easy. I tried it 3-4 times since I was experimenting with different disks, but each time went fast. I had used Linux before, but not for some time so google ended up helping me again and again when I needed to figure out how to partition and format drives, change start-up configs, install SSH etc.
A trip to Copa Cabana (for a bit of Samba)
I knew the rig would have to work as a large file depository as well and since I didn't wanted the guest OS to handle that load because storing all my files on a large virtual disk simply posed too much risk (what if that single virtual disk became corrupted - hell would break loose). I knew Samba file sharing worked great so I went for that. I had partitioned my disk into a 50Gb partition for the Ubuntu server files, a 120Gb partition for the virtual machines to be stored in, 10Gb for swap space and the rest for one large partition for all my files. The idea was the one of the guest windows 2003 servers would access the files through a samba share. The same would go for my ordinary computers around the house.
At first I tried formatting the large partition as NTFS so I could recover my files should ubuntu one day die on me. Formatting it like this took forever. I mean forever! 14-16 hours at least. What was even worse after all that waiting, was the fact that the system slowed to a crawl when ever someone was reading or writing to that partition. A quick glance at the "top" command (shows cpu load) revealed that the CPU was almost constantly waiting for I/O to finish. I.e. NTFS was sucking too much juice out of the box.
I then went for FAT32. Eventhough it would limit the max file size at 4Gb I had to try. The format was quick this time (thank god for that), but the end result was the same: Slow, slow, slow!
I was slowing beginning to think that the Intel D510MO wasn't up for the job, when I decided to format the large partition in the Linux ext3 format. The format was snappy and bam! Robert is your mothers brother! (or Bob's your uncle :-) All of a sudden my file transfers were fast and the CPU wasn't waiting for I/O anymore.
I was pleased!
A few words about vmware
At first I wanted to let both guest machines store all their virtual memory in the physical memory, but a late night crash made me switch over to letting some of the virtual machines memory be placed into swap memory. I don't know if the crash was because of a bug in Vmware or the fact that Ubuntu server then had too little memory for it self, but at least it is stable now and the performance is still acceptable.
So, how fast and how much?
Speed? Well, it stands to reason that it is not a speed monster, but it gets the job done and the lag inside the guest machines is somewhere between quite tolerable and almost unnoticable. The file transfers between guest os and the samba share is around 25Mbyte/s, which is quite good considering it's all happening on the same physical harddisk. The file transfers between my own computer (running windows 7) and the samba share is around 60Mbyte/s, which is quite satisfactory.
The whole shebang uses around 20-23 watts/h under load. This means I just cut down the power drain with 75%-80% and saved around 225 to 240 dollars a year.
The grand finale
My final hardware look like this
Intel D510MO motheboard with 2x1 Gb corsair ram and one 3.5" 1.5Tb samsung Ecogreen drive. All stored inside and outside a case that would make Dr. Frankenstein jealous.
My final software choices were
Host OS: Ubuntu server 9.0.4 running Vmware server 2.0.2 and Samba for file sharing.
Guest OS 1: Windows 2003 standard server on a 50Gb virtual disk, 768 Mb ram, and two virtual CPU's. Running IIS, DNS, DHCP and IAS as well as my torrent app (utorrent).
Guest OS 2: Windows 2003 standard server on a 40Gb virtual disk, 768 Mb ram, and two virtual CPU's. Running IIS with SSL (for webmail) and Exchange 2003.
Would I change anything?
Perhaps throw in 2 x 2 Gb 1.8 volt memory some day when the prices on DDR2 ram is back down where they belong (right now, the prices are way to steep). Then I could retry the option to store all the virtual memory for each guest OS in physical memory. I could even increase virtual memory for both machines or perhaps run a third guest machine for test purposes.