vulcanridr

Moving on...Thoughts, plans, and ideas...

Well, the Jellyfin project is effectively complete. I am now fixing the metadata in my music files. I have learned more in the last several days about mp3 metadata than I ever wanted to know. For instance, I just learned that you can embed multiple jpgs into an mp3 file, e.g. front cover, back conver, etc. You can probably add liner notes...

So I am treating the process of fixing all of the metadata like transcoding. A little bit at a time until I look up one day and it is done.

But in the mean time...FreeBSD 15 is out. I am starting to think through an upgrade strategy. Physical servers on my homelab include a desktop and laptop, a RPi 3B, 2 jail mini-servers, a bhyve mini-server, and a TVPC/HTPC mini-server (on the way). All of the existing boxes are currently running 14.3. For th HTPC, I will probably jump straight to 15 out of the box.

One of the great things about FreeBSD is that upgrades are slipstreamed in to operations. You snapshot the current boot environment, then do a freebsd-update, or a pkg upgrade. freebsd-update does it on its own since about 2019. (David Fullard and I collaborated and got it pushed through at the final vBSDcon). I also have a pkg upgrade script that has morphed into an ansible playbook that creates a BE named before_pkgUpgrade. That way, if an upgrade goes sideways, I can roll back as good as new with two commands:

# bectl activate before_pkgUpgrade
# sync; sync; shutdown -r now

Note: yes, I have been a Unix sysadmin for a little over 30 years and a Unix user for 45, so I remember when the sync; sync was necessary to make sure the disk buffers were flushed before firing the reboot. I also ordinarily don't do "reboot" because muscle memory. :)

The abillity to roll back a bad upgrade has been a feature I have wanted since I started working with linux back in 1995. But alas, it took FreeBSD + ZFS to make it come true.

So back to my upgrade strategy. As I said, I have two primary jail servers, equinox and erebus. Each runs a handful of jails on bastille. I also have bastille set up on both my desktop, defiant, and my bhyve server, aurora. So the initial plan is to migrate all of the jails off of either erebus or equinox, then upgrade it, give it a soak test on 15.0-RELEASE, then upgrade the other jail server. If things go awry, I still have my 14.3 boot environments. I may go ahead and write a playbook to automate the upgrades. If those two go well, I will probably proceed to danube, my laptop, then defiant, then aurora. Finally, I will upgrade koraga, my Pi3B (slave DNS). koraga is a bit of a special snowflake. Not only is it an ARM chip, but it is an old pi3, and running off of a UFS filesystem on an SD card.

I will be making notes on how things work out as I proceed. Fortunately step 1 is done, and I have multiple snapshot/replicas (ZFS) and/or traditional backups of everything, in case the worst occurs.

Once that is done, I will upgrade the bastille jails.

Thoughts? Leave a comment