ZFS

Adjusting my ZFS filesystems to conform with standard FreeBSD boot environments

Get FreeBSD 12.2 mfsBSD (because that matches the OS on slocum), burn it to a thumb drive using OSX. NOTE: the following didn’t work. I wound up not having the right values in /lib and /var/db/ I don’t know what I did wrong, but I did manage to fix them up afterwards. I suspect that I still had zroot/usr mounted and did not notice. I will keep my notes here for future reference […]

Adjusting my ZFS filesystems to conform with standard FreeBSD boot environments Read More »

Moving zroot/usr/local to zroot/usr

Today I was updating a FreeBSD server from 12.2 to 13.0 – I was using a new approach for my upgrades. This was my second host to upgrade like this. The first went smoothly. This one, not so much. NOTE: this turned out to be insufficient because /usr was mounted: [dan@slocum:~] $ zfs get canmount zroot/usr NAME PROPERTY VALUE SOURCE zroot/usr canmount on received This system was manually converted, poorly, to a BE

Moving zroot/usr/local to zroot/usr Read More »

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 »

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 »

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 »

Replacing a failing drive in a ZFS zpool

In this post I will replace a working, but suspect, drive with another drive. No down time. The server is knew. In this post: FreeBSD 12.2 ZFS TOSHIBA MD04ACA500 5TB drive – the suspect drive: da17 TOSHIBA HDWE150 5TB drive – the replacement: da22 None of these drives are under warranty What drives are in this server? I have had good luck with Toshiba DT01ACA300 3TB drives (presenting as Hitachi HDS723030BLE640), starting a

Replacing a failing drive in a ZFS zpool 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 »

Duplicating a zpool

I have these boot drives, I want to copy them to another. They both happen to be zroot and bootable. I booted from mfsBSD and imported both new and old zroot, using the pool ID shown by zpool import -N. root@mfsbsd:~ # zpool import -N pool: data01 id: 2668514456528412656 state: ONLINE action: The pool can be imported using its name or numeric identifier. config: data01 ONLINE mirror-0 ONLINE gpt/S59VNS0N809087J_S00 ONLINE gpt/S59VNJ0N631973D_S01 ONLINE mirror-1

Duplicating a zpool Read More »

Creating a 4 drive ZFS zpool: stripe over mirrors

In this post, I am creating a 4 drive ZFS pool consisting of two mirror. In this post: I’m booting from mfsBSD 12.1 ZFS Creating partitions On FreeBSD, it is convention to create partitions. It is not necessary, but I don’t use all the space in case a future replacement drive is slightly smaller than these drives. NOTE: I am not, but have not confirmed that this is no longer a problem in

Creating a 4 drive ZFS zpool: stripe over mirrors Read More »

Changing from one dataset to another within a FreeBSD [iocage] jail

ZFS has a the ability to share itself within a jail. That gives the jail some autonomy, and I like that. I’ve written briefly about that, specifically for iocage. More recently, I started using a zfs snapshot for caching clearing. The purpose of this post is to document the existing configuration of the production FreshPorts webserver and outline the plan on how to modify it for more zfs-snapshot-based cache clearing. The current configuration

Changing from one dataset to another within a FreeBSD [iocage] jail Read More »