After just a few hours of my server being up and running, I spotted the appalling performance that zfs-fuse appeared to be giving me.
Massive pauses during write operations, not very good at all…
So I’ve been thinking all afternoon of possible alternatives. I’d been attracted to zfs due to it’s awesome ease of use and the fact I’ve been using it on my home server for months now. Yet I realise now that my home server is a file server, simply serving up files and any performance hit I may be experiencing is missable as it doesn’t impact on streaming media files to a media player and I don’t notice any problem when writing files to it either.
But.. my home server is not booting from a USB pen drive and not forming the basis for a virtual environment. My new server of course, is.
So again the question, problem with the USB or problem with ZFS-fuse?
I could do a full reinstall and install to disk this time… or I could alter my raid. Afterall the reason I put the OS on the USB in the first place was to leave the disks untouched and fully available for storage. A perfect opportunity therefore to simply wipe the zfs zpool and start the RAIDing again.
So… first problem. I want to be able to test vaguely accuratley if the change in RAID helps, so to keep the VM currently stored on it…. Nicely enough the VM gzips down to a managable 650MB so I could easily download it. However I had a minor brainwave and remembered that /tmp was a tmpfs drive and not actually on the USB key, so threw it in there, win!
Bonza! Next issue, I don’t know any other raid type stuff other than zfs, you know because it’s easy and I try to keep away from complicated. I’ve heard ‘md’ spoken around the office and more importantly by people I trust to know a thing or two about this sort of thing, so deep into google I went and started to learn about mdadm, more win.
After sifting through rather a large amount of twoddle, I’ve picked up that which I think I need to know… the basics appear clear enough.
Create a suitable partition on each drive in question, run the relevant mdadm command, make a filesystem and mount it. Simples.
Actually, it was simple
I even went as far as to make the filesystem ext4 cos I’m just like that.
A couple of commands later and we have our VM restored and running. A few commands more and the VM is working away at writing data to the RAID, raid 5 I should probably mention.
And so far, for the last 20 mins at time of writing, all is very well. There have been no ‘obvious’ signs of crappy performance. I is pleased.
Based on this I’m forced to take another look at my original design for this server. Do I still want this to run from USB? I see now that it’s a pretty serious single point of failure. Sure, my redundancy plan of a 2nd identical USB stick, would still work. But rejigging my disks and partitions a touch would leave me with redundancy that would have no downtime on single disk failure. Definately more thought needed, but soon since I want to start working on this server now.