Monthly Archives: June 2012

Embassytown

By China Miéville

I admit defeat. I’ve been trying to present these events with a structure. I simply don’t know how everything happened. Perhaps because I didn’t pay proper attention, perhaps because it wasn’t a narrative, but for whatever reasons, it doesn’t want to be what I want to make it.

Last of the Hugo Nominee Novels! Just as well, it took me some time to read this, that I worried I’d not make much inroads into the rest of the Nominees.. It took me some time, because, well, I just didn’t enjoy it. The above quote, taken from page 144, summed it up for me rather. I admired what he did with Language (while wondering what Chris Beckett or Iain Banks would have made of it), but I just didn’t care about any of the characters. I can see why Miéville has a following, but I suspect I didn’t enjoy this for the same reasons I didn’t enjoy ‘King Rat’ by him; no sympathetic characters, trying too hard to be clever that it got in the way of the story. Then again, to quote the author (page 34);

In the lobby was an ad for a course in The Healing Power of Story, at which I made rude noises

I suspect that I’m not the target audience for the book, and I’m fine with that. One of the things I like about the Hugo Awards is it gets me reading things I wouldn’t normally. Sometimes that gets me to challenge my views, sometimes it confirms them.

Hugo Voter Packet 2012 – Fancast roundup

I listened to all the entries for the one time category ‘Fancast‘ recently, about five hours worth of audio.

Its tricky to score this.

If I score on what I think would appeal most to the demographic, then The Coode Street Podcast will win, as its an interview with Jo Walton (Hmm, another mention of her. Could it be her year? But then, if it is, should this podcast win ‘on her coattails’ as it were?).

If I score on audio quality, Starship Sofa wins hands down; the rest are varying between obviously skype, and almost unlistenable (SF Squeecast, sad to say) because the sound is so poor over headphones.

If I score on relevance to the community, or most interesting (to me) to listen to, then its a tie between StarShip Sofa and SF Signal. Starship Sofa has a range of good ‘articles’, both fiction and fact. SF Signal had the best eBook debate I’ve heard to date, in terms of viability, piracy and so forth.

I *think* I’m going to vote for StarShip Sofa again. I’ve listened to a few more SF Signal episodes since then, and they’ve not, IMHO, hit the same high water mark. I’m probably going to try the same with Starship Sofa (I find the presenters voice annoying, which is not fair to him or his podcast, but does tend to put me off the program. Also, the knowledge that it will often be well over an hour makes me pause as well, even with the different topics. Not that the other selections in this category are anything less than that, mind).

As I say, tricky to vote on, which is, I think, a sign that they’ve been well selected. I’m a bit puzzled by the Best Related Work category, though, which also includes a podcast, but I’ll discuss that when I’ve been though that category.

Amoung Others

by Jo Walton

So, this is my prediction for winning the Hugo this year. Not because its the best book (although it is very good), but because it couldn’t have been written more as a pean to the convention community. Its full of the history of 60s and 70′s SciFi, it mentions worldcon, and its all about a sci-fi geek not fitting in, and finding her spiritual home through fandom.

Or, to quote the book directly;

“So this is why you’ll find there’s no such place as the Welsh valleys, no coal under them, and no red buses running up and down them; there never was such a year as 1979, no such age as fifteen, and no such planet as Earth. The fairies are real, though.”

There are some good lines in the book, probably my favorites are;

“Welsh mutates initial consonants. Actually all languages do, but most of them take centuries, while Welsh does it while your mouth is still open”

and

It isn’t a comparison anyone could make, except to say “Compared to Tolkien at his best, this is dross.”

not to mention

Gramma liked Hardy, but I can’t. I’ve tried, but he’s too depressing and too trite at the same time.

Its so TRUE! I’d never been able to put my finger on it before!

Perhaps, most tellingly, in relation to Brunner’s ‘Stand on Zanzibar’;

I wonder what it’s like to have written your masterpiece, and to know you’ll never do it again?

I’ve picked up a number of recommendations on books to read from this book; this is certainly part of its charm. In fact, one of the Fancasts, up for nomination in their very own category this year, is an interview with Walton (another reason I think she’s tipped for the win), and this apparently came out of her series on Tor.com analysis of the Hugos from inception all the way up to 2000, which I’m intending to go back and re-read post Hugo Awards, as her perspective will be fascinating (and certainly well-informed).

Its also a timely book for the UK, as in addition to the general love letter to sci fi, its also extolling the virtues of Libraries, which the Coalition government in the UK are cutting funding to the point of desperation to.

Anyway, I think this will be a smash hit (if its not already) with fandom who read and remember 70′s Science Fiction. I do wonder what a similar book would look like covering the 90′s or even the ‘naughties’.

You may notice that I’m making a lot more reference to the text in this post; that’s because I;m taking advantage of GoodReader‘s annotation and notes feature, after I read this article on snarkmarket it got me thinking about annotations on books, and how I’d fallen out of that after A Levels. This book was just drying out for notes and highlighting the bits I liked, so thats what I did. I was able to email the annotations file to myself, and hence write a much more informed blog post. It’ll be interesting to see how I can workflow the annotated PDF’s back into my eBook library; I like the idea of loaning an eBook to someone with my notes in – they can (unlike paper books) always choose to turn the notes off! Heck, if they make their own and return it I can even compare and contrast easily – how cool is that!

I’m off to add the following to my reading list, in case you’re interested;

  • Ursula Le Guin’s The Wind’s Twelve Quarters
  • Zenna Henderson Pilgrimage
  • Brunner Shockwave Rider & Telepathist
  • Alan Garner Redshift
  • Christopher Priest A Dream of Wessex
  • One book left in my list of Novels; the Meiville. I’m most of the way through the Fancasts as well. Keeping on track!

    FreeNAS 7.2.8191 considered harmful

    About a year ago, I built a NAS system, using FreeNAS (v7 now named NAS4Free) using an cheap, but rather nice, HP Microserver I’d originally acquired for VMWare. It had four SATA drives, old, but I’d used the FreeNAS software RAID to create an RAID5 array, so I could afford a disk loss, or so I thought. I stored the system config on an internal USB stick mount, because I was planning to upgrade to V8, and my limited reading showed this might be possible if I didn’t install the system to the RAID’d drives (I was wrong, it turns out).

    I was moving things around, so I checked the event log and system health; all drives fine, so I shut the system down, cleaned the dust out and moved it to its new home.

    Where it refused to boot, with just a “|” in the top left corner (Thanks FreeBSD folks! Cos that’s not hard to google at all on failure is it?). Much mucking around with Live CD’s of both V7 and 8 to no avail; it was like the drives didn’t exist to FreeBSD. Gparted LiveCD could see them, though, and some googling brought up mention of corrupt partition tables, which I was able to find with Gparted and verify, but only on one drive out of the four.

    The LiveCD’s contained a link to the IRC channels for both NAS4Free and FreeNAS, so I went to the NAS4Free folks and explained the symptoms. An hour later the only reply was someone telling me that version was EOL.

    dlavigne (yes, that Dru Lavigne, one of the people behind FreeNAS v8) on the FreeNAS v8 IRC channel tried, but all the commands she gave me worked differently in V7, and refused to provide useful information. So, thanks to Ms. Lavigne (go buy her books), and a big rasberry to the V7 folks. I hope someone is as helpful to you in a data loss situation as you were to me.

    More checking, this time with testdisk (helpfully on the GParted liveCD) thanks to Guy at work, who reminded me of an article he’d written on extreme data recovery. GParted partition recovery errored on libc when trying to recover the partitions on the drives, but highlighted that actually one of the SATA drives had errrors and the USB stick was likely knackered.
    Testdisc allowed me to try and recover partitions, but I couldn’t find enough of the GPT partitions to recover, and again, there are no tools I can see to recover a RAID in this situation. I expect that if I had a better knowledge of BSD I might be able to use a LiveCD to get something back, but I don’t, and can’t find enough to get me started on recovery. As far as I can see, the information I needed to reconstruct the RAID died with the USB stick.

    This could be just bad luck and hardware failure, but, alas, I think FreeBSD deserves the pointer here; I used software raid because I knew the limited raid in the box wouldn’t be up to much. To have a raid implementation you can’t reconstruct from the remaining non-parity disks without another disks worth of config is unforgiveable; all that info should be on the RAID’d disks, and any system capable of speaking the RAID should be able to reconstruct. IMNSHO, anyway. Worst of all, the system didn’t alert me to the disk failures. I’d got SMART monitoring on and regularly checked the logs as well the system monitors.

    Alas, the Dev’s that did speak to me were talking V8 stuff, which the V7 doesn’t understand (and you cannot upgrade between V7 and 8 as they don’t appear to understand each other’s software RAID. Again, unforgiveable.

    So in summary, don’t use NAS4Free because when it fails you’re on your own, and their recovery tools don’t appear well tested or reliable. Given the software RAID, I’d be very nervous of using FreeNAS of any version, unless you had hardware RAID.

    I’ve moved my data (all that I could recover from other sources) onto a Ubuntu server (with hardware RAID!), and have still got the BSD box. I might have another go, but I suspect not.

    Nagios Monitoring of Nexsan

    Note; I’ve tested this on Satabeast 1.2, 2 and 2.5 as well as E60, but not all their kit. I’m also assuming you know your way around Nagios, but the core of what’s being done here (using XPath to parse an XML document) is easy to implement in other systems and languages, should you need to.

    Nexsan don’t provide an SNMP interface to get stats out of their boxes, but they *do* provide some hidden stats pages that you can access via the admin account. One of the pages is an XML document that provides, amongst other things, basic performance stats. With the help of a plugin from nagios-exchange, check_http_xpath, we can parse this for the information we need.

    Be aware that by doing this you’ll be downloading the entire XML each time you run a plugin to check, so you might swamp the management interface. The GUI has been known to crash in earlier versions of the firmware, so I’d recommend being on a later release (that’s just good practice though, right?).

    Each controller will need this information checking, of course. Yes, this is a lot of work, and it would be easier if you could get this via a management protocol or SNMP, but we have to work with whats here, so;

    Define the Nagios Check commands;

    First, CPU

    define command{
    command_name check_nexsan_cpu_c0
    command_line /usr/lib/nagios/plugins/check_http_xpath.pl -H $HOSTADDRESS$ -l ADMIN -a $ARG2$ -u /admin/opstats.asp -c '/nexsan_op_
    status/nexsan_perf_status/controller[1]/cpu_percent<=95' -w'/nexsan_op_status/nexsan_perf_status/controller[1]/cpu_percent<=80'
    }

    This is easily modified to check c1 as well;

    define command{
    command_name check_nexsan_cpu_c1
    command_line /usr/lib/nagios/plugins/check_http_xpath.pl -H $HOSTADDRESS$ -l ADMIN -a $ARG2$ -u /admin/opstats.asp -c '/nexsan_op_
    status/nexsan_perf_status/controller[2]/cpu_percent<=95' -w'/nexsan_op_status/nexsan_perf_status/controller[2]/cpu_percent<=80'
    }

    So from now on I'll only show examples for c0 and leave the rest to you..

    Now memory;
    define command{
    command_name check_nexsan_mem_c0
    command_line /usr/lib/nagios/plugins/check_http_xpath.pl -H $HOSTADDRESS$ -l ADMIN -a $ARG2$ -u /admin/opstats.asp -c '/nexsan_op_
    status/nexsan_perf_status/controller[1]/memory_percent<=90' -w'/nexsan_op_status/nexsan_perf_status/controller[1]/memory_percent<75'
    }

    Now it gets a bit tricky, as you define a command to check an RAID array's utilisation, but you don't know how many Arrays the Nexsan has. The way I've done this is with separate host-groups for array 1, 2 etc and add the appropriate host to each host-group until all of them are covered. Not ideal, but it works.

    Arrays
    define command{
    command_name check_nexsan_array_1_load
    command_line /usr/lib/nagios/plugins/check_http_xpath.pl -H $HOSTADDRESS$ -l ADMIN -a $ARG2$ -u /admin/opstats.asp -c '/nexsan_op_
    status/nexsan_perf_status/array[1]/load_percent<=90' -w'/nexsan_op_status/nexsan_perf_status/array[1]/load_percent<=75'
    }

    Again, repeat ad nauseum per number of arrays.

    Thats the most you can get out of the XML. There is a fibre channel stats page likewise hidden, but thats HTML (and not included in the XML), and it varies per controller, so I'm writing a separate Nagios plugin for each model.

    Now define your Nagios Service;

    define service{
    use generic-service ; defined in generic
    hostgroup_name nexsan-c0 ; as per hostgroup
    service_description Controller 0 CPU Utilisation ; give description
    check_command check_nexsan_cpu_c0!MySecretADMINPassword ; defined commandline
    normal_check_interval 10 ; useful time check
    servicegroups storage_performance ; which servicegroup
    notification_options c,r,w ; useful defaults
    contact_groups storageadmins ; who to call
    }

    Again, lather, rinse repeat for all your Check Commands you defined, for each controller.

    Voila! Nagios is now monitoring your Nexsan. Its helpful to also put NagVis on your Nagios setup and get the output being graphed. I'm going to add this to our Cacti installation at work, so will put the code for that up when I write it as well.