Matt Connolly's Blog

my brain dumps here…

Tag Archives: low power

Goodbye OpenSolaris, Hello OpenIndiana

After the demise of OpenSolaris no thanks to Oracle, there’s finally a community fork available: OpenIndiana. I did the upgrade from OpenSolaris, following the instructions here, and it all seemed pretty straight forward. There were a few things that I’d installed (eg wordpress) which had dependencies on the older OpenSolaris packages, but apart from those few things, it appears like everything’s moved over to the new OpenIndiana package server nicely.

Netatalk (for my Time Machine backup) still runs perfectly.

It certainly will be interesting to see what comes from the community fork!

Western Digital Green Lemon

I have an OpenSolaris backup machine with 2 x 1.5 TB drives mirrored. One is a Samsung Silencer, the other is a Western Digital Green drive. The silencer is, ironically, the noisier of the two, but way outperforms the WD drive.

I’ve done some failure tests on the mirror by unplugging one drive while copying files to/from the backup server from my laptop.

First, I was copying from the server, onto a single FW drive, writing at a solid 30MB/s. I disconnected the Samsung drive while it was running and the file copy proceeded without fault at about 25MB/s of the single WD drive.

`zpool status` showed the drive was UNAVAIL and that the pool would continue to work in a degraded state. When I reconnected the drive, `cfgadm` showed it as connected by unconfigured. When I reconfigured the Samsung drive, the pool automatically resilvered any missing data. (wasn’t much because I was reading from the network) in a matter of seconds.

Failure test #2 was to remove the WD drive. I copied data to the server from the laptop, and the progress was intermittent… bursts of 30MB/s, then nothing for quite a few seconds, etc…. I disconnected the WD drive, and hey presto, the transfer rate instantly jumped up to a solid 20MB/s. This samsung drive definitely writes a whole stack faster than the WD drive. (A mirror is as fast as the slowest writing drive).

And here’s the lemon part. When I reconnected the WD drive, it showed up as disconnected. The samsung was connected, but unconfigured. To my frustration, I couldn’t reconnect the drive:

$ cfgadm
Ap_Id                          Type         Receptacle   Occupant     Condition
sata1/0                        sata-port    disconnected unconfigured failed
$ cfgadm -c connect sata1/0
cfgadm: Insufficient condition
I did a bit of searching and found this page: SolarisZfsReplaceDrive : use the -f force option:
$ pfexec cfgadm -f -c connect sata1/0
Activate the port: /devices/pci@0,0/pci8086,4f4d@1f,2:0
This operation will enable activity on the SATA port
Continue (yes/no)? yes
$ cfgadm
Ap_Id                          Type         Receptacle   Occupant     Condition
sata1/0                        disk         connected    unconfigured unknown
sata1/1::dsk/c8t1d0            disk         connected    configured   ok

So, now OpenSolaris sees the drive as connected, let’s configure it and zpool should see it straight away…

$ pfexec cfgadm -c configure sata1/0
$ cfgadm
Ap_Id                          Type         Receptacle   Occupant     Condition
sata1/0::dsk/c8t0d0            disk         connected    configured   ok
sata1/1::dsk/c8t1d0            disk         connected    configured   ok
$ zpool status -x
  pool: rpool
 state: ONLINE
status: One or more devices has experienced an unrecoverable error.  An
        attempt was made to correct the error.  Applications are unaffected.
action: Determine if the device needs to be replaced, and clear the errors
        using 'zpool clear' or replace the device with 'zpool replace'.
 scrub: resilver in progress for 0h0m, 0.00% done, 465h28m to go

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c8t0d0s0  ONLINE       0 1.14K     0  544K resilvered
            c8t1d0s0  ONLINE       0     0     0

Oh man… I have to resilver the whole drive. Why!!??! The other drive remembered it was a part of the pool and intelligently went about resilvering the differences. This drive looks like it was to resilver the whole damn thing.

After a while:

$ zpool status
  pool: rpool
 state: ONLINE
status: One or more devices is currently being resilvered.  The pool will
        continue to function, possibly in a degraded state.
action: Wait for the resilver to complete.
 scrub: resilver in progress for 0h23m, 5.05% done, 7h20m to go

        NAME          STATE     READ WRITE CKSUM
        rpool         ONLINE       0     0     0
          mirror-0    ONLINE       0     0     0
            c8t0d0s0  ONLINE       0     0     0  12.3G resilvered
            c8t1d0s0  ONLINE       0     0     0

And here’s another interesting bit… the performance of the WD drive (c8t0d0) on my machine is really poor:

$ iostat -x 5

                    extended device statistics              
    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
    0.0   61.2    0.0 1056.2  0.0  9.1    0.0  148.1   0 100 c8t0d0
   79.0    0.0  978.7    0.0  0.0  0.0    0.0    0.6   0   3 c8t1d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c9t0d0
                    extended device statistics              
    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
    0.0   72.0    0.0  178.8  0.0  7.2    0.0   99.6   0 100 c8t0d0
  111.8    0.0  361.3    0.0  0.0  0.0    0.0    0.3   0   1 c8t1d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c9t0d0
                    extended device statistics              
    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
    0.0   51.6    0.0  120.4  0.0  7.5    0.0  145.9   0 100 c8t0d0
   79.4    0.0  143.7    0.0  0.0  0.0    0.0    0.2   0   1 c8t1d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c9t0d0
                    extended device statistics              
    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
    0.0   62.2    0.0 1968.5  0.0  8.3    0.0  133.7   0 100 c8t0d0
   81.8    0.0 2616.7    0.0  0.0  0.3    0.0    3.2   0   8 c8t1d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c9t0d0
                    extended device statistics              
    r/s    w/s   kr/s   kw/s wait actv wsvc_t asvc_t  %w  %b device
    0.0   34.6    0.0 1880.2  0.0  7.1    0.0  204.9   0  79 c8t0d0
   28.4   11.6 1413.5   41.7  0.0  0.1    0.0    3.1   0   7 c8t1d0
    0.0    0.0    0.0    0.0  0.0  0.0    0.0    0.0   0   0 c9t0d0

Check it out. 100% busy use of the drive, and it’s writing less than 2MB/s. Compare that to the %b busy for the Samsun (on c8t1d0) for reading the same amount of data. And check out the average service time (asvc_t) – that’s bad like a cd-rom!! Yikes.

It doesn’t get reconnect to the system, its service time is way slow and its write performance stinks. This WD drive is a total lemon!

Installing Open Solaris on the Intel D510 motherboard

So I opted to go for the Intel D510 motherboard. It was passively cooled, and had a little better support for devices to be attached to the motherboard from what I could gather. I fitted it out with 2GB RAM and 2 x SATA drives that were left over from previous laptop upgrades for starters.

I installed OpenSolaris 2009.06 from a USB key, using the Windows USB key gen method, and that worked a treat – or so it seemed at first.

My initial reasons to go for OpenSolaris was for ZFS and because it also sounds like a very mature system to run as a server.

On the other hand, hardware support is still quite young. In particular there were two bugs that caught me by surprise:

1. Microsoft mouse not supported. What? Any other mouse works….

2. Realtek ethernet driver didn’t work with multicast (Bonjour) so I couldn’t discover the network very well. Accessing the Internet, however, was just fine.

3. No Intel Graphics driver – the system runs with a bog standard vesa driver. boring.

So I proceeded to upgrade to the latest development branch (snv_134 at present) – which also seemed like quite a buggy and difficult process.

After a few hours of research, (I documented the errors and solution here) I have #1 and #2 above sorted. I’m not too worries about #3 since I’ll mostly be using the machine as a headless server anyway.

Oh, and the power consumption with 2 drives is steady at 37 Watts. Not too bad. I’ll have Time Machine backing up to this sucka as soon as I pick up a pair (or maybe a trio) of big drives)

low-power processor and motherboard

In an effort to find the lowest power system, I’ve started looking beyond the processor, where Intel’s Atom processor’s are a clear winner.

I read somewhere (didn’t keep a link) that the power usage of the older Intel 945 chipset on motherboards with older Atom processors actually consumed more power to run the motherboard chipset than the processor itself. Surely this is not right.

But it seems that Intel are on the case. The new NM10 chipset uses only 2.1 Watts of power and should be able to provide a chipset and processor running at 15.1 Watts. Very nice.

Now… next question is, which motherboard to go for. It seems that there are 3 candidates on the market at present:

  1. Foxcon D51S
  2. Intel BOXD510MO
  3. Asus AT5NM10-I

As far as I can tell these are all very very similar components. If there’s any significant differences between these, I’d love to know. Especially if those differences relate to running operating systems like OpenSolaris or Linux….

Building a low cost, low power, home server: research

So I’ve decided to go down the path of building a low-power, low-cost, home server. We’ve got several PCs in the house now, as well as an Xbox and a LG hard disk recorder, all of which are network accessible.

My criteria for building the machine, in order of importance, are:

  1. something more powerful than an off-the-shelf NAS so that its expandable and I can run a few web apps and things on it too.
  2. low-power: If I’m going to leave this thing turned on, I want minimum power usage.
  3. low-cost: I really don’t want to spend a lot of money on it.
  4. re-use of existing parts where possible: I have an old PC and several hard drives that I’d like to use.

I’m looking at deploying open solaris, mostly for ZFS.

My initial research shows that AMD make some nice 45W processors, like the Athlon II X2 235e. This seems to be a really good balance between power consumption and processing power, but still may be total overkill for my application. What I’d like to know is, what is it’s idle power consumption.

It’s become standard comparison in cars these days to show power as well as efficiency. In this day and age when we are becoming more aware of our energy usage, shouldn’t PCs have the same thing?

But I’ve also been reading about the newer Atom processors, such as the Atom 330 and D510 which have 8W and 13W power usage respectively, the latter including an onchip graphics controller – which would suit me fine.