Howdy - yes, there should be backups, and my excuse is it's a home server and I very often start some project on it and then get called off to finish some actual paying project. So somewhere between "let's move everything that's not media or backups of other hosts to this new SSD boot drive that's just standard MBR and UFS2, including this billing stuff for a side project - after all this billing jail w/pgsql will be much faster on the SSD" and "what good tools are there to help me manage zfs snapshots" I obviously got distracted and never setup a cron job to dump the actual boot drive contents into the zfs pool where it would get backed-up and rotated off as needed.
So - power outage today and the UPS shut the host down. When I powered it back up, a message that my zfs pool was version "5000" but my loader was "28". Right there I should have stopped. I boot off UFS2 on this little SSD drive. ZFS is not in the picture at boot-time. This HP server can be weird about finding the USB-connected boot drive, and another SSD drive that did have ZFS and was just there for testing was on another USB port.
But I don't stop and think, I google around for how to update boot blocks, not even remembering the fact that a) there should not be ZFS bootblocks, this is not a root-on-ZFS anymore b) I should really run
So I ran something like
So, currently waiting on another run of
So - power outage today and the UPS shut the host down. When I powered it back up, a message that my zfs pool was version "5000" but my loader was "28". Right there I should have stopped. I boot off UFS2 on this little SSD drive. ZFS is not in the picture at boot-time. This HP server can be weird about finding the USB-connected boot drive, and another SSD drive that did have ZFS and was just there for testing was on another USB port.
But I don't stop and think, I google around for how to update boot blocks, not even remembering the fact that a) there should not be ZFS bootblocks, this is not a root-on-ZFS anymore b) I should really run
gpart show da0
first to see what the hell I'm writing to c) to boot off the USB port on this SATA<>USB bridge, GPT is not an option, so why am I even screwing with gpart?So I ran something like
gpart bootcode -b /boot/pmbr -p /boot/gptzfsboot -i 1 da0
and rebooted with the extra drive unplugged. And rebooted again, and then realized the box is not booting off this disk. I get on the remote console and feed it an 11.1 ISO and drop to the shell. Oh. I slowly realize what has happened. Where previously I (think) I had at least a /, /var and /usr/local partition, I now have gpart show da0
listing but two partitions - one is "freebsd-ufs", one is "swap". Also after importing the zfs pools, it hits me that I have zero backups, and stuff I was thinking was on the zfs pools is not, it's on the boot drive.So, currently waiting on another run of
scan_ffs
on the drive I want to recover after doing a clean install onto a larger drive. And then going to look at how I can image the drive off to this new drive to have a backup. While I do that, any ideas on recovery? I mean, I know everything I need is on there, it's just a totally trashed partition table. But this is not my core skillset. Maybe in the early 2000's or so I'd be keen on the math and all, but these days - spread way too thin. Open to any ideas...