FreeBSD

snapshot ; ls ; destroy; dataset is busy – WTF?

I have found this bizarre situation where a FreeBSD 12.2 snapshot cannot be destroyed. This is the simple example, which works: [dan@pkg01:~] $ sudo zfs snapshot tank_fast/poudriere@snapshot-for-backup [dan@pkg01:~] $ sudo zfs destroy tank_fast/poudriere@snapshot-for-backup [dan@pkg01:~] $ This is the simple example, which fails: [dan@pkg01:~] $ sudo zfs snapshot tank_fast/poudriere@snapshot-for-backup [dan@pkg01:~] $ ls /usr/local/poudriere/.zfs/snapshot/snapshot-for-backup cache data jails ports [dan@pkg01:~] $ sudo zfs destroy tank_fast/poudriere@snapshot-for-backup cannot destroy snapshot tank_fast/poudriere@snapshot-for-backup: dataset is busy [dan@pkg01:~] $ EDIT: we […]

snapshot ; ls ; destroy; dataset is busy – WTF? Read More »

Converting an iocage vnet jail to a vnet jail

In this post I will be creating a ‘new’ jail which uses vnet. I say ‘new’ because I am actually Converting an iocage jail to a vanilla jail which happens to use vnet. NOTE: I originally failed to get this to work. You can read about it. I’m going to repost this article soon with a working solution. I won’t describe the process of creating the jail. Sorry. For the record: FreeBSD 12.2

Converting an iocage vnet jail to a vnet jail Read More »

Deleting old FreeBSD boot environments

I like boot environments (BE) on FreeBSD. They were especially handy when building the AWS host for FreshPorts, since I had no serial console. I would create a BE saving the current status, then make some changes. I’d mark the current BE as boot once, so I could boot back in the known good BE. Worst case, I could mount the storage onto a rescue EC2 instance and adjust the bootfs value of

Deleting old FreeBSD boot environments Read More »

net-mgmt/net-snmp wants /snmp/snmpd.conf

NOTE: If you are looking to configure net-mgmt/net-snmp for the first time, the latest article is Configuration of net-mgmt/net-snmp on FreeBSD. snmpd can be royal pain to configure. I got my hints from Ryan Steinmetz, the maintainer for the FreeBSD port. Lately, net-snmpd has changed how net-snmp-config works. In this post: FreeBSD 12.2 net-snmp-5.9_3,1 Compare my hints with the following, run today with net-snmp-5.9_3,1: [dan@nginx01:~] $ sudo net-snmp-config –create-snmpv3-user -ro -x AES -a

net-mgmt/net-snmp wants /snmp/snmpd.conf Read More »

Moving some ZFS filesystems to the ‘trash’ and removing all their snapshots – sanoid

I recently discovered that you can delete all snapshot from a ZFS filesystem with a single command. It came to me via fortune: You can delete a range of ZFS snapshots (a-z) in multiple ways. The following will delete d and all earlier snapshots: zfs destroy mypool/data@%d To delete d and all later snapshots: zfs destroy mypool/data@d% To delete all dataset snapshots: zfs destroy mypool/data@% Make sure to let ZFS perform a dry

Moving some ZFS filesystems to the ‘trash’ and removing all their snapshots – sanoid Read More »

Converting an iocage jail to a vanilla jail

Tonight I got blocked by iocage and handling a ZFS filesystem from within an iocage jail. These are the steps I followed to convert that jail from iocage to a vanilla jail. The variable To make this solution easier to use, at least for me, on future jail migrations, I have these variables: For example, my devgit-nginx01 jail is at: [dan@knew:~] $ zfs list system/iocage/jails/mysql56 NAME USED AVAIL REFER MOUNTPOINT system/iocage/jails/mysql56 11.5G 20.6T

Converting an iocage jail to a vanilla jail Read More »

Preventing a given package from being installed

I have a few development jails dedicated to my work on FreshPorts. It’s been a hobby of mine since the late 1990s. The code I create gets packaged, ready to deploy onto the test, stage, and production hosts. EDIT 2025-12-23 Since writing this post pkg-2.5.0 has a feature for this very goal. See this reddit post. In short: pkg install -U –register-only FreeBSD-vi FreeBSD-vi-dbg I haven’t used it. What I absolutely do not

Preventing a given package from being installed Read More »

The replacement – a followup

Yesterday, I started a zpool replace. It finished overnight, and dropped the suspect drive out of the vdev. The resilver finished in the middle of the night: As you can see, da22p1 has taken the place of da17p1. The resilver took As the new drive is being resilvered, I started looking at metrics. Here is gstat. Look at how da22, the replacement drive is getting all the writes, compared to the others. LibreNMS

The replacement – a followup Read More »

smartctl output TOSHIBA MD04ACA500 653AK2MXFS9A

It is time to replace /dev/da17 in knew. The replacement drive is also documented. The replacement procedure has also been documented. An upcoming blog post will document the replacement. I’m seeing these messages: Dec 12 09:23:03 knew smartd[2124]: Device: /dev/da17 [SAT], 40 Currently unreadable (pending) sectors Dec 12 09:53:04 knew syslogd: last message repeated 1 times Dec 12 10:23:03 knew syslogd: last message repeated 1 times Dec 12 10:53:04 knew syslogd: last message

smartctl output TOSHIBA MD04ACA500 653AK2MXFS9A Read More »

Hosting multiple web servers behind a single IP address

Virtual hosts for a website are a thing. One webserver can host multiple websites. They can all be on the same IP address, different IP addresses, different ports, etc. This post is about using a proxy service. Before I started with this solution, at home I hosted every website on the same server. My firewall would redirect incoming ports 80 and 443 to my webserver, and Nginx/Apache would take care of the rest.

Hosting multiple web servers behind a single IP address Read More »

Scroll to Top