Towards the Family Mainframe (by )

Last September, I posted progress on the construction of our domestic mainframe. To recap, the intent is to build a dedicated home server that's as awesome as possible - meaning it's reliable, safe, and easy to maintain. That rules out "desktop tower PC in a cupboard" (accumulates dust bunnies, gets too hot, easily stolen, prone to children poking it); "put a 19" rack somewhere in your house" is better, but consumes a lot of floor footprint and doesn't fix the dust bunny problem. So I've made my own custom steel chassis; fed cold air at pressure via a filter, incorporating a dedicated battery backup system, locked and anchored to the wall, and with lots of room inside for expansion and maintenance.

Since that blog post, I've finished the metalwork, painted it with automotive paint using a spray gun (which was a massive job in itself!), fixed it to the wall, and fitted nearly all of the electronics into it.

A significant delay was caused by the motherboard not working. I sent it back to the shop, and they said it was fine; so I sent the CPU back, and they said THAT was fine; so I sent both back together and it turned out that the two of them weren't compatible in some way that was solved by the motherboard manufacturer re-flashing my BIOS. That's now up and running; I was able to use the HDMI and USB ports on the outside of the chassis to connect up and install NetBSD from a USB stick, then connected it to the network and installed Xen so I can run all my services in virtual machines. It's now running fine and everything else can be done via SSH, but the HDMI and USB ports are there so I can do console administration in future without having to open the case (unless I need to press the reset button, which is inside).

The one thing it's lacking is the management microprocessor. I've prototype this thing on a breadboard and written the software, but need to finish off the PCB and cabling: but it will have an AVR controlling three 10mm RGB LEDs on the front panel, and three temperature/humidity sensors in the inlet and outlet air (and one spare for more advanced air management in future). But the idea is that the three LEDs on the front panel will display useful system status, and the environment sensor data will be logged.

Here's what it looks like from the outside; note the air inlet hose at the top left:

Family mainframe

The socket panel on the left hand side worked out pretty well - 240v inlet at the bottom, then on the aluminium panel, three Ethernets, HDMI, and USB (my console cable is still plugged into the HDMI and USB in the photo, which won't usually be the case):

I/O sockets panel and the power inlet

And here's the inside, with lots of space for more disks or other extra hardware; the big black box at the bottom is the battery backup system:

Innards of the family mainframe

Now I have Xen installed, I'm working on a means of building VMs from scripts, so any VM's disk image can be rebuilt on demand. This will make it easy for me to upgrade; any data that needs keeping will be mounted from a separate disk partition, so the boot disk images of the VMs themselves are "disposable" and entirely created by the script (the one slightly tricky thing being the password file in /etc/). This will make upgrades safe and easy - I can tinker with a build script for a new version of a VM, testing it out and destroying the VMs when I'm done, and then when it's good, remount the live data partition onto it and then point the relevant IP address at it. If the upgrade goes bad, I can roll it back by resurrecting the old VM, which I'll only delete when I'm happy with its replacement. This is the kind of thing NixOS does; but that's for Linux rather than NetBSD, so I'm rolling my own that's a little more basic (in that it builds entire VM filesystems from a script, rather than individual packages, with all the complexities of coupling them together nicely).

I'm using NetBSD's excellent logical volume manager to make it easy to manage those partitions across the four disks. There are two volume groups, each containing two physical disks, so I can arrange for important data to be mirrored across different physical disks (not in the RAID sense, which the LVM can do for me, but in the sense of having a live nightly snapshot of things on separate disks, ready to be hot-swapped in if required). I still have SATA ports and physical bays free for more disks, and the LVM will allow me to add them to the volume groups as required, so I can expand the disk space without major downtime.

So for now it's just a matter of making VMs and migrating existing services onto them, then I can take down the noisy, struggling, cranky old servers in the lounge! This project has been a lot of work - but when I ssh into it from inside the house (over the cabling I put in between the house and the workshop) and see all that disk space free in the LVM and all the RAM waiting to be assigned to domU VMs that I can migrate my current services to, it's all worth it!

Kids in my workshop (by )

Kids are fascinated by my workshop. It's a separate building, at the end of the garden. Through the window, you can make out the shape of shelves full of strange tools. Half-finished projects loom on the workbench (and all over the floor, alas). It's clearly a place where something happens.

But it's also a place of danger; our kids are firmly instructed never to go into it without an adult. Even Mary, who has little respect for boundaries and rules, lurks nervously on the threshold and calls out to me if she needs me while I'm in there. She has been in here, but usually only when carried in my arms. Jean gets to come in on her own two feet, but only when accompanied, and she asks if it's safe first, if I'm already in there and she comes to join me.

But kids love the process of making things (and the related process of taking things apart to fix or improve them). They love seeing inside things that are normally firmly in one piece with No User Servicable Parts. My welding, nailing, screwing, brazing and gluing is a much more awesome form of them making stuff out of Lego.

I've been teaching Jean TIG welding. Many years ago, I promised her I'd teach her to solder when she was seven, and to weld when she was ten (both conditional on her being responsible enough to be trusted with the tools involved by that stage). She did some soldering, and enjoyed making electronic circuits work, but it didn't seem to really grab her that seriously. Welding, however, has been a different matter; after I taught her the basics, she got her own welding gloves and mask for Christmas (thanks to a really lovely local welding supplies company who were inspired by seeing her in my oversized gear on Twitter). So far, she's made a shoe rack for her school and made two boot scrapers out of horseshoes; we're really limited on me having time to sit and help her design and implement stuff (she's a bit scared of the angle grinder, plasma cutter and chop saw, so I need to do all the cutting for her to weld together), as she has plans for things to do with the rest of the big box of horseshoes she has under the workbench...

I consider it my workshop, because I am responsible for it, and I am the biggest user of it. It's set out the way I like with the tools I want in it, but the rest of my family is in no way excluded from using it. I made a little footstool for the TIG welder's control pedal so it's at a good height for Jean; I was fine with it on the floor because I have long legs, but it's set up so that we can both use it, because that's a part of the workshop that she shares (along with the space her box of horseshoes sits in, and the section of shelf set aside for her welding equipment). And I really love that I share part of it with her. She's a lot neater at welding than I was at her stage (and I couldn't weld at all at her AGE); combined with the kinds of interests she has, I think she has a future in making sculptures and practical things that look nice, the kinds of things a modern blacksmith does. Mary, at age 5 as I write this, is far too young to have an argon plasma hotter than the Sun at her fingertips, but she's really enthusiastic about building things out of Lego, and she's obsessed with tools and "fixing things". From her interests and mentality, I have a hunch she's going to be quite interested in mechanical engineering; cogs, pistons, motors, that sort of thing. I wish I had a metal lathe I could teach her how to use (not that we have space for one); I'll just have to hope that Cheltenham Hackspace manages to get one at some point, because I think turning metal will blow her mind. I'm hoping electronics might catch that complex-system-building spark I see within her, because that's something I do have the tools and skills to help her with.

But do you know what breaks my heart? People saying it's a shame I don't have a son to share the workshop stuff with. As if Jean's enthusiasm for fusing metal into interesting and useful shapes is somehow insufficient, a pale imitation of the true appreciation of metalwork that somebody with a penis could have. How do the people saying things like that think it makes my daughters or my wife feel about their interests in technology?

I'm sick of the sexism about this kind of thing. I've never seen one shred of evidence that gender differences in interests are anything other than people reflecting what they've been told they should like; in my experience (as a parent and as a Cub leader), kids' interests have little to do with their gender, but they're very sensitive to social pressures, and end up denying their interests (or trying to turn them into "gender-approved" forms in some way). That's such a waste, and I've seen it cause a lot of pain.

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales