Running debian squeeze home server, and hosting POP3/IMAP/SMB/HTTP/HTTPS/Bittorrent.
It uses hardly any power, and has excellent uptime (only when we get a power cut).
How do you make the electricity bill for your home computing disappear? I decided to try to find out. Historically computer kit had been responsible for about 90 per cent of our electricity bill at my home office for my ISP and consultancy business. I ran one of the UK’s first ISPs, and even in my new, smaller home, I was …
Running debian squeeze home server, and hosting POP3/IMAP/SMB/HTTP/HTTPS/Bittorrent.
It uses hardly any power, and has excellent uptime (only when we get a power cut).
The 11.6" MacBook Air uses ~4.5W when idle (20W when maxed out). I would have expected this little plug computer to use much less. Although I suppose it does cost much less. But the author did have to jump through a bunch of hoops due to limited memory/storage.
Sounds pretty amazing.
Congrats on making crazy 'leccy savings!
It does make you realise that a lot of 'servers' are indeed overkill, with power consumption not normally thought about until the leccy bill comes in.
I built my homeserver on a pinetrail atom board, 4 disks for storage and a solid state for OS (open solaris), but the usage is still 60w, but with further optimisations might be able to get that down.
any kind of delayed file system commit is dangerous with respect to powercuts, but if your UPS'd up its a nice way to save some power.
I thought about using a seperate array of USB sticks as a temp buffer and commit its contents to disk at designated disk spin up times, but was quite happy with 60w in the end. ZFS makes errors on flash storage ok (got about 10 sticks lol)
what i wasnt happy with was 15w for a vodafone sure signal (even when not in use) and another 12w for an ADSL 2 router...
Kudos for downsizing though!
Same architecture as the SheevaPlug, but with less memory. I've wiped the PogoPlug custom firmware off mine and am now running the PlugBox flavour of ArchLinux on it.
I also encountered occasional errors with USB storage - usually it'd produce a handful of USB-related error messages in the system log, then pretty much lock up all access to the drive 'til I either pulled the USB cable or reset the box. However, since kernel 2.6.35 (where there were some patches to the orion-ehci USB driver that the sheeva platform uses), I've had no trouble whatsoever with the USB storage.
Also running PlugBox Linux (Arch), and running mail, SFTP, Web server, and BitTorrent.
Boots off an 8Gig Flash drive, with 300Gig spinny glass for main storage. Completely silent, draws about 5 Watts under load, and cost £53 brand new in a box off Fleabay.
Except it's PINK!
buy some black spray paint and paint it black, if you mind the colour ;)
Puts my sub 40W mini atom based home server to shame...
I've consolidated all of the servers I use (about four) down to a single CentOS/VMware server v1 box, which has three WDC green disks (one for backup VM) and typicall pulls about 30W. I am currently in the process of converting it to ESXi 4.1 running from a USB stick. The UI for ESXi is much nicer and it's a load faster, also with running it from a USB stick, the WDC Green drives will be able to use even less power as they intelligently spin down.
I have considered using solar PV and batteries to power my MythDora box, which is solid state with mass storage provided by a VM, but I just can't get the numbers to add up. It looks like I won't even be able to use the amount of energy embedded in the creation of the PV cells in their lifetime, I'm hoping that the next generation of PV will remedy that.
Furthermore, I'm probably going to virtualise the mythdora back end if the USB passthrough on ESXi works better than previous versions.
I have been doing similar stuff for 7+ years now. Though my personal preference till this day stays with VIA EPIA and Crusoe. Marvell, PPC and other more esoteric CPUs may be all fine for most server tasks, but they will immediately run out of grunt if you try to do something like an AES256 encrypted backup on it (yes I am mad to do that for home machines and I know it).
An old Crusoe (or Geode) based HP thin client can have up to 512M (1G for Geode) and run off any 2.5 in laptop drive (or off the shelf 44 pin flash module) once you have applied some bolt cutters to the case to allow fixing the drive (or moved the motherboard to an ATX case). The Crusoe eats 8W (measured at the plug and accounting for the inefficient dead rat so probably less), the GeoDe 14W. Via depending on the model eats 8 to 20W (again measured at the plug) and can do AES on the fly without even noticing. Recent AMD is also quite good (funnily enough). If you enable Cool-n-Quiet, a fully blown Athlon 3200+ system eats around 30W (at the plug) once it has down-clocked to the lowest setting in idle.
As far as the power draw from the "big network disks" - MAID is your salvation. While I cannot spin-down or put on flash the $HOMEs in my house as some of them contain 9G+ of mail I have put all the non-critical data like media, backups, photos, etc onto a separate big JBOD which powers down when not in use. So the total power draw for around 5-6TB of storage including an always-on 1TB RAID 1, two servers and a firewall is around 60-80W depending on load.
Also, using laptops for anything is a BAD IDEA (TM). They always have something that overheats and their MTBF in always-on mode is abyssmal. Most thin clients use the same components in much more accessible cases, on reasonably standard motherboards with much better cooling. They are also much easier to vandalise to hook up proper networking and storage if needed.
In addition to laptopmode, /tmp and /var/tmp on tmpfs there is one more setting in recent Debian (and probably ubuntu as it takes from there) which is very useful to keep power down and disks spun-down when idle. It is the "lock on tmpfs" and "run on tmpfs" setting in rcS.
Yeah - I've stuck with Via for my home server - the router and server run at about 20 - 24w, and you don't have to do too much creative with cutting back on $FAVOURITE app. It's important to me as we're off grid, so ALL our power comes from the wind and a tiny bit from solar.
Oddly, when I wrote up my installation on the Tectonic website a while ago, mostly about the importance if sensible software options, most comments were asking about how I set up the power side - turbine, batteries, inverter etc.
I've run a home file server for years. Now that 4 bay NAS boxes are becoming affordable, and taking on a raft of additional features, it seems that one day soon I will be able to ditch the server for something under half the size with less than half the energy consumption. Which as a bonus would cause a significant increase in UPS backup time.
"This brought up a feature of excessive write to storage in particular: such writes might prematurely wear out the SD card."
I have done a fair amount of work on this very same thing for my machines with SSDs. I submitted a SSD saver patch on RH bugzilla here:
In general, booting up produces several MB of write. I have reduced this to essentially zero by putting things that don't need to be persisted to tmpfs, e.g.:
/var/log (only on laptops)
There are a lot of additional things that are on tmpfs, depending on the application of the machine (e.g. browser caches).
I also disable swap in favour of compressed RAM as swap:
Other things you may want to check out for lowering CPU power consumption is undervolting via PHC. Intel chips have a LOT of margin for error in them, and I have generally achieved peak TDP drops of up to 25% on Core2 class CPUs with no loss of stability (verified by days of OCCT and other testing). Have a look here:
All the functionality is already built into Intel processors since the Pentium M, you just have to leverage it properly.
You also mentioned CPU governors and on-demand one specifically. Conservative CPU governor generally yields much better results in my experience.
The sheevaplug CPU is Marvell, not Intel. By default, the sheevaplug does not have a tmpfs area, and with only 512Mb of memory, care would be needed in setting one up. It also does not have any swap by default. On my desktop PC, I put the firefox cache into tmpfs for performance, but I don't know if it made any difference.
If you upgrade the Sheevaplug SD card to class 10, it can read+write very fast. Not sure how that impacts overall performance though. Most sheevaplug apps are not read/write intensive, and most files are cached I guess.
Only understood about 1/3rd of the tech stuff, but interest certainly piqued in this sheevaplug malarchy, for home media streaming etc.
Another Debian-based sheevaplug system, in this case running lenny. And running a similar set if services to AC above. I'm using a Seagate 'FreeAgent' USB disk which goes to a reduced power setting if not accessed for a while - from 8W to about 2.5 according to my metering.
Re the consolidation, you have not given any details of what you migrated from, which is a bit frustrating for the reader. If you migrated a rack of Sun boxes and a NAS into one sheevaplug and a flash drive, clearly there was a lot of redundancy there.
Well done on the energy conservation, the lengths you have gone to to minimize it, and the detail in your account. If the sheevaplug is internet facing, I would upgrade the OS in order to keep getting security updates. The NewIT site has pre-built Debian images for download.
Not sure about the USB problem. My own sheevaplug, running Wordpress and a couple of webcams, has the SD card formatted as ext2, as I read that the ext3 journal is bad for SD cards.
So what were the actual savings, when you take hardware purchased, and your time (yes time has a cost if you're running a business) into account?
"mkfs -t ext3"
This is sub-optimal in terms of flash wear. To minimize wear, you should drop the journalling, too. Either use ext2, or better, try ext4 with ^has_journal. You don't really need journalling - fsck on a SSD is really fast anyway on the rare occassion you actually need it. For metadata-heavy operations, omitting the journal saves a LOT of writes - up to 55% on metadata-heavy operations:
you should use the "noatime" directive in fstab to stop the FS from writing the timestamp for every time the file is *read*
Although the energy-saving tech might look cool, your biggest no-brainer was replacing 600W of various unnecessary equipment with a laptop. The biggest advantage of that is, of course, battery backup but if you have 600W of equipment doing what a bog-standard laptop could do in the first place it means you weren't keeping a check on your servers anyway. You admit yourself that most of them sat idle which suggests that, at the point of purchase, these machines were unnecessary and probably quite expensive. If your previous equipment had been strung out, then sure - upgrading to a more powerful but more energy efficient machine makes sense but you could have *always* done this.
You don't have computers to sit idle unless they are there purely for redundancy purposes, at which point you HOPE they never do anything else but sit idle and you can't gain that redundancy any other way.
The rest of the article seems a bit pointless - 30W is more than low enough to come into the "electrical noise" or even "cable loss" category of any modern home (£3 a month-ish? £30 a year?) and every optimisation you made after that was actually costing MORE in terms of materials, production, configuration, shipping, etc. The K8055 is also overkill for a simple monitoring task though I have used them a lot myself.
And, at the end of the day, you could have done this in 2001 for the same saving. Mini-ITX VIA EPIA pull only a handful of watts (an in-car PC I built takes only 7W in full operation, including a K8055, internal drive and various USB gadgets) and does 600MHz (or 1Ghz) on x86 even on the older models - the model I use was actually one of the original boards that a school I work for was throwing out, originally specced as a Linux thin-client. They don't need fans, last forever, take standard PC hardware, are compact and pull about the same as the SheevaPlug - they also benefit from having LOTS of ports including good old fashioned RS232. Sure, the Sheeva's a nice gadget but it's nothing spectacular. Go look at the latest GumStix, for instance.
Personally, I think you'd have been better off with a couple of mini-ITX's (lot cheaper and more standardised to replace in the long run, and you could even move down to nano-ITX etc. as they start to pack more in), or possibly just a decent laptop from the start. In the long run, the prices you spend on things would have been better diverted to basic hardware and more power generation - a couple of 60W panels would happily run a bog-standard mini-ITX board with a normal laptop hard drive for ages and no having to worry about tuning the system.
I think it's just a "boy's toy" project rather than something practical. If you want "zero energy", there are much better ways of doing it without having to buy new, state-of-the-art hardware and tweaking incessantly.
"Sure, the Sheeva's a nice gadget but it's nothing spectacular. Go look at the latest GumStix, for instance."
The Gumstix isn't generally a plug-and-go piece of kit, unless they've revived the Waysmall stuff very recently. One might also have some reservations about how well supported the OMAP stuff is compared to some of the other ARM variants.
"I think it's just a "boy's toy" project rather than something practical. If you want "zero energy", there are much better ways of doing it without having to buy new, state-of-the-art hardware and tweaking incessantly."
Well, sure, you could even buy carbon offsets and pretend that the problem is completely solved without anyone doing anything. Personally, I think it's interesting to see how far people want to go, even if there isn't a convincing argument for them to have gone quite as far as they have.
I think you're being a bit harsh there mate. The OP is just sharing his experience. Yes, the article is imperfect, but this is El Reg, not the proceedings of the IEE.
"30W is more than low enough to come into the "electrical noise" or even "cable loss" category of any modern home (£3 a month-ish? £30 a year?)"
Rubbish - if you regard this as research. One person finding out how to save 30W now can become 30MW if a million people do. the same. That's quite possible if the know-how is spread and the technology becomes mainstream.
But before it happens, we need better micro-power servers than a ShevaPlug. Something like a MATX board with all the connectors one would expect to find on it, but an ARM processor.
The energy-wasting villain of the piece is Microsoft, doing everything it can to prevent any Windows-incompatible hardware being made available to the masses.
You can get a few Shiva plugs for the cost of a gumstik. The cheapest gumstik is more than a Shiva and doesn't have networking, USB, or a case. When include expansion boards, you can get 4 Shivas for that price. The newer guruplug has dual ethernet. A quick check on mini-ITX prices show them about twice the price of a Shiva without case, RAM, or power supply.
I got my Shiva for $100 and picked up a pogo last week for half that.
There are a lot of people with huge redundancies in the server farm this is allowing the growth of virtualization as they combine all the under utilized severs onto a single physical machine.
I agree with your sentiment however let's not get carried away. The UK's energy consumption is measured in TW and getting 1 million people to save 30W is a drop in the bucket.
1kW raises 1kg (~ 1litre) of water by 1 degree celsius. 1 bath ~ 80 litre of water raised say 12.5 degree celsius = 1MW
I fewer bath/year by 1 million people = 1GW
The Sheevaplug can push the USB to 750mA, above the 500mA per-spec. I run a 500GB Toshiba bus-powered disk directly on mine. I understand it's the startup current which is usually the issue, rather than normal running.
I get the odd glitch (all clear for ~5 months now) which I'd always put down to brownouts. Disk momentarily disconnects and reconnects.
However, many people report PSU issues (the melty or magic-smoke types) with these, and bus-powered drives are implicated.
So someone who needs the computing power of a small ARM-based device previously running a server farm. That's hardly a hard case for consumption reduction.
However it's a nice run down of what one can do in certain conditions. :)
Out of interest, what sort of services are you guys running on SheevaPlugs (or equivalent), and what sort of load does it sensibly handle?
I don't run a commerical site from my home server, and I can see the benefits of downscaling for the image-sharing (mostly family) stuff I do.
Whats wrong with a hotmail account? you get 25G of online storage FREE
Come to think of it my buffalo nas can do all that with a dynamicDNS name, I think thats about 15W
Hotmail? Have I missed something? Do they now offer photo-sharing services for non-Hotmail addresses?
I currently use Flickr for public photos and my NAS for stuff that's generally just for family.
The advantage I can see of this box is a dedicated external server, adding an extra layer of security to my NAS and being more hackable for custom services.
Nice article, I have a few ALIX systems which are also pretty good on power consumption. The models I have are the alix2d13, GEODE chipset, 500MHz, 256MB RAM, 1G CF Card for main disk, 4-6W power (9-18v input range), running NanoBSD (can be found in FreeBSD /usr/src/tools/tools/nanobsd <- yes, tools twice, don't ask me why). I have one running on a site with no mains from a solar panel and batteries (the panels charge more than is consumed overnight). It uses a USB stick for /var/logs and other modifiable content. Connects up to the net via a 3G dongle. I have a bunch of apps on mine, including lighttpd and openvpn. Very good if you need a server/firewall and have a low power budget.
My home CPU needs are much lower than yours, so I run a Linksys NSLU2 with OpenSlug embedded Linux, with flash for boot but a real spinning disk for data (MP3s etc.). It serves files via NFS & Samba & does some routing/DHCP/Bind/SSH/etc. Sits in a cupboard with ADSL, switches and some TV & Sat gear, all powered via a UPS, so total draw is ~90W. I'm sure a chunk of that is due to inefficiencies of the UPS.
The cupboard is under the eaves & faces almost west, so does get hot in summer. No A/C yet, just a powered fan to vent the space, but it's been close sometimes. Since the heat comes from Sun falling on the roof I've also considered putting PV panels on that part of the roof, to 'intercept' the sun's rays and do something useful with them instead. Not sure how to handle the winter snow, though!
I'd be interested to see a followup with details on your (or anyone else's!) PV power arrangements.
I have a Core i3-530, 4GB of RAM, and 1TB disk. On this, I'm running for virtual machines under Proxmox VE. And all for a tad under 25W at the plug, when everything is idle.
Oh, and I forgot to mention it's bloomin' fast when it needs to be. Much faster at virus scanning email, for example, than my previous Via C7 setup.
has a maximum TDP of 73W.
Yes, I realise you included the caveat "when idle" but does it really drop back to single digit watts when idle? (assuming mobo, RAM, disk and other gubbins are using at least 15W at idle)
I have an atom based server myself and I have been considering going to the i3 but I am having trouble finding data on power use other than the max TDP figure mentioned above. Any info regarding idle you have would be appreciated.
The trouble with the current Atom CPU design is that it doesn't use very much less power when it's idle. Something like 20W busy, 17W idle. And it's not really quite fast enough if you want to use it as your everyday graphics station rather than just as a no-display server.
The Core i3 drawback is that with 73W to dissipate when it's busy you'll need active cooling.
Intel should get as much of the Core's energy usage optimisation into an Atom asap. 20W peak, 5W idle ought to be do-able. Maybe 30-40W peak better, just as long as the thing has thermal throttling done in such a way that the CPU restricts itself to 20W and still offers decent performance once it's heated a passive 20W sink to the maximum acceptable temperature. 5W plus 40W bursts would average under 20W for many usage patterns most of the time.
(Why do I like passive heatsinks so much? Silence, reliability, and another minor waste of energy eliminated)
@Nigel 11: "The trouble with the current Atom CPU design is that it doesn't use very much less power when it's idle. Something like 20W busy, 17W idle."
I suspect you'll find these figures come from a system with broken power management. I have had two Atom N450 devices so far and both have had fundamentally broken EIST. EIST drops the voltage as well as the clock speed when the CPU is idle, and this is done by the CPU setting it's VID to a lower value. Motherboard is supposed to notice this and reduce the voltage to the CPU. Unfortunately, on a lot of manufacturers are too useless and incompetent to read the documentation and implement such things properly in their motherboards. They also tend to over-volt the CPUs to boot, which causes overheating problems. I will name names:
1) Dell - Mini 1012.
Completely ignores the CPU VID (tested with Linux PHC). You can drop the VID from maximum to minimum (the limits are hard-set in the CPU) while the CPU us running under full load at full speed, and the thermal output doesn't change, nor does the power draw, and the machine doesn't destabilize during a stress test. Sensors also show 85C CPU temperature and I measured over 60C on the underside of the machine using an IR probe. Needless to say, it got sent back as unfit for purpose and dangerous to use. A number of reviews also mention the machine gets unreasonably hot (keyboard gets too hot to type after 2 hours of kernel compiling!). This tallies up with 2 hours battery life in light use compared to 6-7 hours from a very similar Asus eee 1005PR.
2) Advantech AIMB-212N-S6A1E motherboard. Same effect as the Dell Mini 1012, but this one has BIOS bugs to boot where manual memory timings get completely ignored. I even had a reply from their tech support confirming that:
- Yes, there is an issue.
- No, they have no plans to fix it.
- They argued EIST is an overclocking feature (they did not respond to my pointing out that EIST a part of the standard spec for Atom N450 with appropriate links to Intel's own documentation on the subject, datasheets, etc.)
In the latter case, this leads to a machine that should have a TDP of < 9W (CPU+SB on the N450) having a power draw (checked from a Class 4 PoE switch that I run it off) of about 20W idle and 24W at full load.
The quality of hardware implementations these days is _dire_.
You are running full blown servers out of something smaller than a shoe box, and consuming less energy than... pretty much anything, as far as I could understand.
Now you have PLENTY of room to UPGRADE if you wish to run it out of a single notebook-size case. Embedded PSU, keyboard, screen... a notebook even looks roomy and overkill now.
Please proceed with this no-nonsense at flank speed.
I only run an email and media server at home but my solution was to switch to a Fit-PC2. It only has an Intel Atom and 1GB of memory (might have been better to go for more RAM in hindsight) it manages to run Win7+VPop3+TVersity+Squeezebox without problems(*). In use it's a bit sluggish if you try and multi-task and MMC under Win7 is painful but by and large it trogs along without intervention by me. Typically it consumes less than 10w with another 15w for my ADSL router.
So - not likely suitable for what the author needs but anyone else running a simple home server might want to look into it. It's also small and light enough to attach to the back of your TV.
(*)Although on the fly video transcoding is not practical :)
Yes, i did something similar with a NanoITX board. (It draws a massive 10W though as i use a 32GB SATA SSD and a 16Gb USB stick where everything gets mirrored on a nightly basis) and a Pogoplug is on the horizon for me. (I run a few websites, an instance of TorrentFlux, an FTP server, a Mail server, MySQL, DNS and few other things on a Debian setup. Still spends most of its time doing nothing. )
As for not surviving the winter, One thing worth noting is that most solar cells seem to be more sensitive in the Infrared, and they dont get charged much after late autumn. (And of course Lead-acid batteries have ridiculous self-discharge rates, so you cant really store the power from the summer for long periods alas.)
I noticed this myself when i rigged a solar panel with a motorcycle battery, to use as a netbook charger when i'm camping. Despite the fact the solar panel was out all winter, the battery was almost totally dead when easter came around.
If your main server keeps hanging and crapping all over your filesystem, I'd call that a deal-breaker, to be honest, regardless of how many watts you might save. Still good to see some extolling the virtues of non-x86/x64 architectures...
I also consolidated my hardware at home to a sheevaplug, i used to run an old sun ultra-2 and a generic x86 box 24/7.
Now i have a sheevaplug running apache, asterisk, dnscache, cups, cacti, syslog (collects logs from the router) and openvpn.
BTW, to the guy who mentioned that doing an AES256 backup would cripple a sheeva, these processors have a hardware SSL engine integrated and should have no trouble with AES256 when properly configured.
That said, the marvell kernel is quite old but has all the drivers and performs well, the mainline kernel has a rather poor driver for the crypto engine... It would be interesting to see someone perform benchmarks between the stock kernel and the mainline kernels because the marvell kernel seems to have various additional options for offloading to the ethernet controller and such.
may as well just turn your heating off and buy a big jacket - far easier way to save cash and a million times less dull. get a girlfriend
the author has a wife, and kids. trundle back to your troll-bridge.
For anyone who cares about their personal CO2 output, pullovers all round and turning the central heating down to 18C is a good way to proceed. (I'm assuming their home is insulated to the maximum practical extent). Obviously one's partner has to be on the same wavelength. Kids won't even notice, it's always grown-ups that notice chilly extremities first.
And there's a case for spreading this know-how, just as much as the know-how for micropower servers. Trouble is, us geeks are the last people who'd be listened to. Imagine how much energy would be saved if the fashionistas made chunky knitwear de rigeur!
Better still, disable write caching altogether if you are not using an UPS... But you ARE using an UPS, right? Right?
You could have saved another few microwatts there.
I use a Sheevaplug, too; it's plugged into a home-made SSD built of four 16GB USB keys (achieving about 20-30MB/s). I run Debian, which works beautifully, and use lighttpd rather than apache and postfix rather than sendmail. It's great.
There are a few minor issues: the USB chipset is a bit dodgy, meaning that I'd get occasional I/O errors on some combinations of hardware; the uboot USB support is very poor, meaning that I had to apply the scary uboot upgrade patch to boot from SD card instead; and it is *extremely* limited on ports. I have far too much stuff hanging off the single USB port.
I'm thinking of upgrading to a GuruPlug Server (twin 100 megabit ethernet, more USB ports, and eSATA! I could finally use a real SSD!), but there appear to be heat dissipation issues with it, so I'm leaving it be for a while until they get that sorted out.