Sorcerer's Tower

Project:Photon

Project:Photon is an attempt to build a small and silent device to fulfill two main requirements. The first is for a reliable high-capacity storage device for my photographs and other valuable data, with integrated backup routines to help protect against unintended deletions. The second is for a personal web development server, which will be used for testing websites and hosting personal web applications on my home network.

Whilst it is possible to buy commercial products which allow you to attach hard-drives via a network, and also have an integrated web server, none of the NAS devices on offer managed to work in precisely the way I want. So I figured I'd make my own.

So, what are my exact requirements?

  1. A high-capacity, reliable network-attached storage system.
  2. Universal compatibility with Mac OS and Windows.
  3. Integrated backup routines that remember every change.
  4. A web server capable of serving CFML through Railo.
  5. A small and compact form-factor, ideally book-shaped.
  6. Silent idling, and as quiet as possible during use.


So, how do I get it quiet? Well, there are generally two things which cause noise in most computers: fans and disk-drives.

Fan noise can be eliminated by using passive cooling - that is, not having any fans, and relying on other methods to dissipate heat. In high-power games machines this is a difficult task - the intensive tasks their powerful components perform mean that a lot of heat is generated. However, the machine I intend to build will be low-power, and thus I hope to rely on just the heat-sinks.

The noise from disk-drives can be eliminated by using solid-state storage (like a USB pen drive or CompactFlash card). However, these are currently very low capacity and relatively expensive, which rules them out. The next solution is 2.5" drives. Again, these are very expensive and not available at sufficient capacities, thus they are also ruled out. Which leaves us with regular 3.5" drives. These certainly have the capacity, and prices are continuously coming down, but how do we ensure the noise is kept as low as possible? Simple: use Western Digital drives with WhisperDrive and SoftSeek technologies. For whatever reason, WD are one of the only companies to make reducing drive sound a priority, and according to a couple of reviews I read, they have done well with their latest range of drives. Which is why I have ordered a pair of 500GB Western Digital WD5000KS drives, that I will run in RAID-1 configuration (meaning I have the exact same data on both drives, so if one drive fails, all is not lost).


Using a pair of 3.5" drives obviously limits how small I can make my device, so I need to make extra effort in keeping the other components small.

The next thing to consider is the motherboard. Regular MOBOs use the ATX form-factor, and tend to be around 12"-squared (30cm�). That's bigger than I want to go, if I can help it, so I need to look at smaller form-factors, and see how small I can go, whilst still retaining important features like SATA2 support and so on. It wasn't too difficult to find the Mini-ITX form-factor, at a size of 17cm� (6.7"), but deciding on an actual board took a little longer - there is a fair amount of variety in the selection of boards available, some of the motherboards even offering a selection of daughterboards (small modules that can be plugged in to extend functionality).
In the end, I settled on the Jetway J7F2 1.2GHz Eden Fanless motherboard, plus a three-port gigabit LAN daughterboard.

After this, the next thing to consider is the PSU - that's the big fat cube with the large fan in the top left of most desktop cases. How am I going to find a small silent one of those? Well, fortunately somebody thought of that, and created the picoPSU - a device approximately the size of two AA batteries, that can supply 120 watts at 12 volts, which should be plenty for a machine like mine, and obviously is not going to have a significant impact on size.
Unfortunately, it accepts DC power, which means you need an AC to DC adapter to supply 12 volts and 10 amps. Now 12V at 1A, easy. 12V at 3A, fine. 15V at 8.5A, not a problem. But 12V at 10A? Oh dear. The closest I've found is 12V at 8.5A, which will give 102 watts - probably sufficient, but why build a PSU that wants 10A if nobody produces a device which supplies it?!


Anyway, that's all the size stuff out of the way. The remaining components are all relatively small and shouldn't have much impact on the overall size.

So, the next things to consider are software issues, including which Operating System I am going to run. The choice here is essentially between Linux, BSD, or another *nix platform. An important consideration here is how I am going to be running the OS. I don't want it on my main data drive, so I'm going to be using a 512MB CompactFlash card connected via a CF->IDE adapter for OS storage, and loading it into a RAM-DISK (both for better performance, and to extend the life of the CF card).

This is actually quite a trivial thing to do, as there are plenty of Linux distributions that are designed precisely for the purpose of running from a half gig solid-state drive. With my relatively minimal OS feature requirements, there should be no problem fitting everything on.

However, a key factor in which OS I use is availability of backup software. As mentioned in my requirements, I need something that will essentially remember every change to every file, forever. I don't yet know what my options are in this area, but it may well limit my OS choice if suitable software is only available on limited platforms. Worst case scenario is that I have to figure out how to write low-level Linux software and create something myself - I do hope I don't need to do that.


Okay, now that covers all my requirements, but the more astute readers might have noticed something I haven't mentioned - something that many people would consider the starting point for a system like this: the case. I am deliberately ignoring the case, because I don't know how I'm going to arrange everything, and I don't want any restrictions. Deciding on a case means that I'm then trying to fit everything into a certain size and shape, and thus may not be able to use a more convenient or efficient arrangement. So I'm leaving that until last, and will either buy or build whatever case best suits how I organise my components.


For those of you interested, here is a complete list of the components I will be using to build the machine:

If you're interested in the actual build process, you'll have to wait. Some of the components have already arrived, and more should come tomorrow, but it will be at least next Thursday before I might have enough time to start putting things together.


In the meantime, if anyone would like to offer name suggestions for this new machine, please do.

For reference, my desktop is called Midnight (because it's black), my MacBook Pro is Silver (guess why), and my PDA is called Deekin (after the annoying yet helpful Kobold from the Neverwinter Nights series).


Posted:
07 December 2006, 22:12
Tags:
Miscellaneous
Photography
Projects
Web Development

There have been 11 comments.

DDS @ 2006-Dec-08 10:32
Probably should name it after someone with an excellent memory. Can't really think of anything at the moment other than Marvin with his brain the size of a planet or something lame like memoryman.

Max, Starman, Jones? From Heinlein's Starman Jones he has a photographic memory. Is that too geeky?

Winter after teh characater in Star Wars.

Doh A obvious one Mentat.

PDA called Deekin love that:)
Peter @ 2006-Dec-08 13:38
Oooh, I like Mentat!

Never heard of Starman Jones before. Is it worth adding to my books-to-read list?
Peter @ 2006-Dec-11 13:43
Another name idea I've had: TARDIS.

Can't decide if I like that or not. :S
Kola @ 2006-Dec-11 14:35
Wow thats a lot of disk space - you're not trying to back up the "whole internet" are you? ;-)
James Netherton @ 2006-Dec-11 14:37
Interesting project Peter!

Please post some pics as you progress through your build :)
Peter @ 2006-Dec-11 15:00
Yep, I'll definitely post some pictures.

Kola: I figure if I just exclude all the porn and spam then it'll fit easily. :)
Gert Franz @ 2006-Dec-14 11:22
Hi Peter,

do you need any help regarding Railo 1.1? Or a beta? Since Railo 1.1 supports virtual file systems (ie. RAM). I will launch the Railo Blog somewhen theese days and there I will describe the new features of Railo 1.1.

Cheers from Switzerland
Peter @ 2006-Dec-14 18:19
Assuming it connects with Tomcat the same way as 1.0 then I should be fine, but a beta could be good to play with. :)

The virtual file system stuff sounds very interesting.
dmce @ 2007-Jan-01 14:41
Hi there. Im about to do pretty much the exact same thing and stumbled upon your site while looking for info on the Jetway board.

Would be interested in seeing how you get on.

Best of luck
Patrick Keane @ 2007-Jan-17 16:22
Hi,

I am building a very similar NAS. I am using a Jetway 7F2 1.5Ghz.

Regarding the two 500Gbit 3.5in hard drives in Raid 1.... I thought about this, and I decided to go for ONE drive on the NAS and ONE drive in a Esata ext expansion box. (
Peter @ 2007-Feb-24 14:37
Hmmm, I'm sure I replied to this before. :S

Unfortunately my data won't be changing only in discrete chunks - I can save files several times a minute when doing web dev stuff.
I've been recommended Gamin to use for continuous data protection side of things, although haven't been able to find much about how to use that yet.

Can't I avoid the CF card being hammered by having the system running in RAM, and only writing to the card when it needs to shutdown/restart (which will hopefully be very rare)?
Registered Members
If unregistered, leave blank.
If unregistered, leave blank.
Unregistered Guests
Identifies your comment
Not displayed publically. Allows new comment notifications, or for the blog owner to contact you.
Link your name back to your personal website.
Comment