I mentioned giving up on OpenSolaris after Oracle’s hijinks.
FreeNAS, based on FreeBSD, works GREAT! I have a FreeNAS server up and running, and it fills all the needs I have.
I’ve also unwittingly had a few tests of its error tolerance. I had a new 1.5TB drive fail right in the middle of a several-Gb transfer. FreeNAS noted the problem, sent me an email to note that a disk drive was off-line, and DIDN’T EVEN STOP THE TRANSFER!
The transfer completed without a hitch. I know, I know, that’s how it’s supposed to work. But I’m always impressed when a reliability/error tolerance feature works as advertised in the real world.
Hats off to FreeNAS!
OK, I got a few requests for the parts list, so here it is:
Tr1 = wall-wart, 8Vac to 12Vac, or 10Vdc to 15Vdc output; this is very non-critical, as the other parts are designed to work with a wide range here.
DB1 = 1A/100V Diode Bridge Example: DF01S (Fairchild); this replaces the four diodes in the full wave bridge.
IC1 = 78L05 5V 100ma regulator
C1 =470uF/25V capacitor
C2 = 0.1uF 25V (or more) ceramic capacitor
D1 = 1A/100V (or more) diode
R1 = 1/4W 2.2K
IC2 = Microchips Technology TC54VN2702EMB713 (2.7V trip point, open drain)
R3 = 220 ohms 1/4W
ISO1 = transistor output optoisolator: example Fairchild FOD852
Notice that the specified TC54 part is an OPEN DRAIN output, so the schematic must be rearranged so that R3 attaches to the +5V supply to the TC54, and the cathode side of the LED in the optoisolator attaches to the output pin of the TC54. This is slightly different from the more generic schematic shown in the first posting.
The usual cautions apply here: you’re messing with AC power issues (although the wall wart keeps you out of the worst of it) and also messing with the power system on your computer. Don’t even try this unless you know and accept the risks of doing this, and have the skills to do this right. I have built one of these, and mine works. I may have made mistakes or omissions here; I don’t think so, but it’s always possible. You take responsibility for how your unit turns out if you build this.
I’ve always intended to get to shrink the boot and OS part of my server to as small as is practical. I bought an IDE to Compact Flash adapter to try this out. This was a Crest I/O branded Syba SY-IDE2CF-DU adapter. (US$13, newegg.com).
It was intended to plug into the IDE port on a motherboard, and present two compact flash cards as IDE disks. I picked up two Transcend 2GB CF cards, intending to experiment with an EON server setup. This should boot handily within 2GB, and probably much less.
Feeling cocky from my main server just working, I unwrapped the adapter card, poppled in the CF cards, and … found I didn’t have a machine with a spare IDE port to plug it into. All my recent motherboards have only one, and I have the boot disk on that one. Some creative descriptive language and about 45 minutes later I had a non-essential machine reconfigured with one SATA boot disk and the dual compact flash card inserted into the IDE port on the motherboard.
It not only would not boot, it didn’t recognize any of the disks. OK, read the manual.
Try one CF card at at time. The BIOS then saw only the card in the slave side of the adapter. Ahah! Bad CF card; swapping the CF cards produced – yep, the same thing. Both cards were recognized when in the slave CF slot, and both refused to be recognized by the OS for any further work.
Must be BIOS. I duly squirrel around in the bias for an hour. No breaks. Hmmm. Jumpers on the cards! One is a Master/Slave swap jumper, the other is a voltage selector, 3.3V to 5V. Both the adapter “manual” (1.5 sides of a single folded sheet) and the adapter note that it does not care whether it gets 3.3 or 5V, works both ways. The CF cards likeways insist they don’t care.
OK, gotta be that Master/Slave jumper. Again I go through all combinations of jumper and CF cards, and find that now only the master slot works.
This goes on for hours until I’m sure that the card is bad, so I spend two more hours on google looking for what I missed. I don’t find it. Two hours after I sent the nasty note off to the manufacturer, I decided that it won’t hurt to move the power supply jumper from the default 5V position to the 3.3V position. What the heck.
Except the jumper, right out of the package sits in the 3.3V position. But that doesn’t matter, both the card and the CF cards don’t care, it says so right here.
But they do care. Or maybe the motherboard cares. Move the jumper to 5V, and now it behaves perfectly. The adapter plugs into the motherboard IDE cable connector and gives me two 2gb disks, one master and one slave, both of which work perfectly.
I don’t know that there’s a moral to this, other than learning that
(a) IDE to Compact Flast adapters *can* work.
(b) They’re tricky and sneaky.
But the Syba SY-IDE2CF-DU and Transcend 2GB 133x compact flash cards do work – as long as you set the voltage jumper to 5V.
I want my hours back.
[Note: as of 5-23-2011 I have decided to ditch OpenSolaris entirely based on Oracle's new directions for Solaris and OpenSolaris. My data is too important to depend on what I perceive from Oracle. In terms of this post, both FreeBSD and FreeNAS installed and ran from the same compact flash hardware I was using for OpenSolaris.]
Power is an issue for all non-trivial servers. It’s also tied up with location and remote management.
An ideal server would use zero power and be totally silent. If that was possible, remote management would be a much smaller issue, because there would be less need to put it somewhere else, but not where it will annoy people.
It’s a truism that all the electricity that goes into your box eventually becomes heat that has to get out of your box. That’s why machines have fans. The parts inside heat the air inside, and the fans move the hot air out and fresh, cool air in. The fans also make noise, annoy people, and being mechanical, fail, which lets your box overheat and maybe die.
So there is a premium to be placed on not generating the heat to start with so fans are smaller, quieter, and perhaps unnecessary. Some great links for background reading on this issue is to google “quiet PC” or “silent PC” and “home theater PC”, which address the issues of not generating heat, dealing with the heat by fans, and dealing with the noise fans generate.
Electrically generated heat is also a money issue. In the engineering sense, energy is money. Electricity at my house costs US$0.12 per kilowatt-hour. A 100W PC running for ten hours costs one kW-Hr, or $0.12. Left on continuously for a year, that cost becomes 365*24 = 8760 hours, and that costs 876 kW-hours, or US$105.00.
If I could design a server which used less power, say 50W instead, then the cost per year for electricity would be US$52.50, and I would be economically justified in paying $52.50 more for the parts. And the second year, I’d be US$52.50 ahead by doing this.
Not only that, the 50W version might be cool-able with a smaller, quieter fan, and therefore less annoying to be near.
There is a whole subculture of enthusiasts for low-power, low noise computers. Often this niche can be found by searching for mini-ITX form factor PC motherboards. Some of these can be entirely cooled by natural convection, which is a way of saying “no fan needed”.
I’ll expand on this later, but some useful things to consider are:
Watch the “TDP” power rating of your processor. You can get CPUs with much lower power. These are lower performance, but high speed CPUs are NOT needed for most home servers.
Watch the power rating of your disk drives. In general, desktop 3.5″ drives are 6W, and 2.5″ laptop drives are 1W – 2W; however, desktop drives have about 2:1 bigger storage than 2.5″ drives, and cost less per GB. The tradeoff gets complex, and so you need to know how much storage you need, versus what power it takes to provide that many bits, and how much you’re willing to spend on electricity, and how much noise you will tolerate.
In my quest to build a home NAS, I wound up building an Opensolaris based server that will do a lot more than NAS. Along the way, some of the people I pestered for information and help came back and pestered me to blog about my experiences.
So here you are. Enjoy.
[Note: as of 5-23-2011 I have decided to ditch OpenSolaris entirely based on Oracle's new directions for Solaris and OpenSolaris. My data is too important to depend on what I perceive from Oracle.]