My current drafts for the implementation of TUNGSTEN need some form of log structured file system beneath it all to efficiently and safely implement transactions.
This article looks promising:
Research results show that while Log-Structured File Systems (LFS) offer the potential for dramatically improved file system performance, the cleaner can seriously degrade performance, by as much as 40% in transaction processing workloads. Our goal is to examine trace data from live file systems and use those to derive simple heuristics that will permit the cleaner to run without interfering with normal file access. Our results show that trivial heuristics perform very well, allowing 97% of all cleaning on the most heavily loaded system we studied to be done in the background.
I won't go into the details, but a slip of the mind while juggling my partitions around to try to get the machine booting again has resulted in me accidentally laying a new root partition that overlaps my home directory partition.
After newfs-ing the new root partition, then realising my mistake, I've found that the home partition is still mountable, but a little worse for wear for having had cylinder group headers and backup superblocks and whatnot dropped all over it (but, thankfully, no file data since it's RIGHT at the end of the disk).
I've got an old backup, and I've been gingerely picking around the remnants of the filesystem (having dd-ed it to a file and mounted it via a vnode device) and picking up stuff that's changed since the backup.
Ok, I've lost my archive of files I'd downloaded. Which is bearable. I didn't keep them backed up because they're huge.
But I've also lost the accounts for Warhead.org.uk Ltd. I've got a version that's out of date, but now I've got to do a lot of cross-referencing other things to put back all the transactions that have happened since.
This will be mind-bogglingly dull. I'm not a happy bunny...
I've tried blanking the primary disk and reinstalling from scratch.
No luck - it's still not booting, with exactly the same symptoms.
Could it be a problem with the disk? My machine can boot a kernel from floppy, after all. Although the floppy kernel is one that's designed to be small enough to fit on a floppy, so it could be a memory problem prohibiting large kernels from running.
Well, for my next trick, I'll try a different hard disk. I don't think I have any as big as the current one lying around, however, so it'll have to mean running with a smaller disk. Oh, well...
Wish me luck
I fitted a nice Maxtor OneTouch 250GB USB/Firewire disk onto my fileserver - to back its contents up onto, as well as a few other machines, the USB-ness giving it the "cheap, random access" goodness of a disk with the "removeable and lockable up, moveable between machines and sites" goodness of tape.
Plugged it into the machine - which runs NetBSD - and it said it detected a USB mass storage device (umass0) and reported that the device was SCSI tunnelled over USB - but then didn't seem to detect the resulting SCSI bus, unlike as shown here.
I eventually found somebody else with the problem here, and a solution here.
So I rebooted the server... and it didn't come back up. The boot loader ran, but the kernel didn't run - I don't even get the copyright message, just DDB's message stating how many bytes big the symbol table is, then it freezes.
MUCH experimentation later has revealed:
- It can boot off a floppy, but the floppy boot loader that loads the kernel from floppy fine still can't load the kernel off of the disk, so it's not the boot loader
- Compiling a new kernel or downloading and using a GENERIC kernel don't fix it either
- Blanking the disk (don't worry, I put all the data onto a second disk first!) and reinstalling onto a totally fresh filesystem still doesn't fix it
- Unplugging the USB disk doesn't help (that's the only hardware change I've made that could have brought this on, within memory)
What I'm going to do next is to try a fresh new hard disk and install onto that, just in case there's a subtle problem with my hard disk somewhere. But if that doesn't work, then it's going to be time to boot from the install floppy and get a shell up, mount the USB disk and the local hard disks, and transfer everything across and then set up a new server from scratch, which will cost me money, but I need my NFS server back!
As one small step along the road towards my dream of becoming a Victorian gentleman scientist, I've gone part time with my employer Frontwire Ltd and am now freelancing for the other half of it under the auspices of Snell Systems.
As well as selling my services as a software engineer and technical author, I'm also doing network installations.
Wish me luck - and if you need a network installed in the London area, drop us a line!