Bridlewood Software Testers Guild


Testing
 Tools
 Problem Reports
 Techniques

Software
 VAX patches
 SIMH scripts

Test Bed
 Micro PDP 11/23
 Micro PDP 11/53
 Micro VAX
 SIMH VAX 11/780
 
 free stuff
 terminals
 cabinets

Miscellaneous
 Apiary Tour
 Vegetarian Recipes

Blogs
 ba23.org
 kirk
 all

2010/01/10 blog rss.gif

Sun, 10 Jan 2010

[20100110] ITX-220 ZFS FreeNAS project

My existing home file server is now 10 years old. It has grown organically through the years. The original configuration used noisy SCSI drives with DAT tape backup. The household was happy when I retired my original SCSI drives -- they sounded like a jet airplane taking off. Today's configuration uses ATA/100 drives with rsync'ed backups to an external USB drive.

The usage cases have changed. Originally the server was expected to provide email services for the household. Later, I added support to netboot my vaxen. Now, the household wants file sharing, timemachine backups, samba shares. I was spending too much time trying to fix the old server. Time to start over again. I decided that using one server for all services might not be a good idea anymore. I am already using another box for the firewall -- time to continue this trend. The server becomes a collection of servers that I can individually change, instead of a one big monolithic server. I will start with a new box for serving files and for backups -- a NAS device.

I reviewed some of the NAS consumer devices that are available today. I decided to avoid them. My existing server lasted for so many years because I was able to make changes to the hardware and software. I was not convinced that a consumer device would be so flexible. So, I am going to make my own NAS -- what do I want it do?

What services would be required for the household?
  • daapd server support
  • timemachine backup server support
  • samba/NFS/AFP/tftp server support
  • backup files using ssh/rsync interface
What OS features are required?
  • software RAID support
  • fast snapshots
  • detect and recover from disk data corruptions
Hardware requirements?
  • SATA drives
  • intel x86 CPU
  • low power footprint
  • just needs to be fast enough to serve files
  • PCI slot
  • use existing parts, if possible

I discovered the Asus ITX-220 motherboard while searching an online catalog. I will purchase it with 2G of RAM. I can use an existing ATX case. The motherboard only supports 2 SATA drives -- I already have a SATA PCI card with two more SATA ports. I figure that 4 SATA drives should be enough for now -- 3 for the RAID and 1 for a rsync'ed backup.

ZFS would be a match for my requirements, but this will limit my OS choices. This was a worry, until I heard about the FreeNAS project. Using FreeNAS with ZFS is a perfect match. I should be able to boot the new box off an old USB key.

At first, I considered my ITX-220 ZFS FreeNAS project to have a low chance of success. I would divide the project into a number of milestones and evaluate the project when one of the milestones failed:

hardware install
I put the new motherboard, in the old case. I needed a new cable to allow my new motherboard to work with the my older ATX power supply. It booted without problems.
software install
I put the lastest FreeNAS image on an old USB key. It took a couple of attempts to get FreeNAS to boot of the USB key. During last attempt, I copied the raw image to the beginning of the key and ignored the parition table.
ZFS
I put in two SATA drives. I have never used ZFS before. I read an online example and configure the two drives into a big raidz pool. This step took the longest amount of time. I tried using "compression=gzip" and the box started to run too slow -- the "lzjb" compression scheme seems to work better.
backup
I copied files to the NAS. Just in time -- I saw this error on my existing older server:

    wd1a: error reading fsbn 236276797 of 236276768-236276799 (wd1 bn 236276860; cn 234401 tn 10 sn 22)wd1: (uncorrectable data error)
    
servers
I used the FreeNAS GUI to enable AFP. I followed the steps on a blog to setup time-machine backups. I setup daapd and samba shares. The tricky part was testing that the new server works, as expected, with the existing clients. The speed of the NAS appears to be fast enough for the existing clients.
increase size of raidz pool
Not supported by ZFS. In the future, I will make a backup and re-create the raidz pool with three drives.

In summary, it all just works. In about 9+ hours, I had a working NAS.

References:

Ads by PARSE

Irish Vax Wanted!

Are you looking for a good home for your Irish Vax or PDP11?

Old PDP Computers?

Are you looking for a good home for your old PDP8 computer?



www.ba23.org     web                

(Contact me) View Kirk Russell's profile on LinkedIn Copyright © 2007 Kirk J. Russell
ALL RIGHTS RESERVED.