ZFS

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 »

Renaming and replacing zroot filesystems using mfsBSD

I am replacing one zroot with another because of missing binaries and suspect layout. The existing zroot is an old system predating current zroot layouts. This work is being performed on a test system (that link is not safe for young eyes). In this post: FreeBSD 12.1 mfsBSD 12.1 The failed attempt I tried once, and failed, with with old zroot_old and new zroot_new mounted. zroot_new became unusable and I started again. This

Renaming and replacing zroot filesystems using mfsBSD Read More »

ZFS: adding a drive back into the zpool

Today I was updating some servers. One of them was rebooted three times. On the third time, one of the drives went missing. This is how I tracked down which drive, and which slot in the server, and fixed it. I’m writing it mostly so I can remember how to flash the light on the drive. There is also an off-by-one issue to avoid. In this post: FreeBSD 12.1 sesutil ZFS Supermicro 846

ZFS: adding a drive back into the zpool Read More »

Scroll to Top