Fixing FreeBSD ZFS Boot Environments That Consume Unexpected Pool Space
How to attribute ZFS space to boot environments, snapshots and clones, identify holds and origins, prune safely, and keep rollback capacity measurable.
tag
33 posts
How to attribute ZFS space to boot environments, snapshots and clones, identify holds and origins, prune safely, and keep rollback capacity measurable.
A layer-by-layer GEOM investigation for mounted filesystems, swap, labels, encryption, mirrors, open consumers, stale metadata, and safe teardown.
How to observe devd events, match stable properties, call a constrained helper, control concurrency, test detach paths, and preserve boot reliability.
A safe FreeBSD swap-encryption procedure using a fresh GELI key each boot, verified device identity, fstab integration, crash-dump tradeoffs, and tests.
A method for classifying FreeBSD settings by lifecycle so boot tunables, runtime sysctls, service variables, and device hints live in the right file.
How kqueue registrations, filters, receipts, one-shot and edge-like behavior, descriptor lifetime, signals, timers, and process events actually work.
How FreeBSD's TrustedBSD MAC framework composes policy modules, labels and access checks, plus a safe path for selecting, testing, and auditing policy.
A practical model of netgraph nodes, hooks, control messages, data paths, ngctl inspection, socket integration, and safe teardown on FreeBSD.
How UFS Soft Updates, SU+J, fsck, and GEOM journaling differ, including crash guarantees, stable-write semantics, inspection, and safe changes.
A recovery-oriented ZFS replication workflow covering recursive snapshots, incremental ancestry, receive safety, resumable streams, holds, and audits.
FreeBSD 2.0's November 22, 1994 release rebuilt the system on 4.4BSD-Lite, cleared its inherited legal uncertainty, and reset installation and compatibility.
FreeBSD default shells did not evolve from the Bourne lineage behind Bash and Zsh — tcsh descends from a separate design built to feel more like C.
How bhyve combines FreeBSD's vmm kernel support, explicit virtual devices, UEFI firmware, networking, and lifecycle controls.
A forensic walkthrough of FreeBSD startup from BIOS or UEFI firmware through loader, kernel initialization, init, and ordered rc services.
How to diagnose FreeBSD's mountroot prompt by separating missing storage, stale root specifications, filesystem damage, and ZFS boot issues.
How to isolate FreeBSD repository, ABI, lock, dependency, options, distfile, and ports-build failures without damaging package state.
A write-minimizing FreeBSD ZFS import workflow for missing devices, host ownership, damaged transactions, read-only recovery, and backups.
How FreeBSD GEOM builds storage graphs from providers, consumers, and classes for partitioning, labels, RAID, encryption, and diagnosis.
How FreeBSD grew from the 386BSD Patchkit, survived the Net/2 transition, and built the release, ports, and governance model used today.
A current vm-bhyve workflow for verified firmware, ZFS storage, virtual switches, guest templates, installation media, consoles, and backups.
A rollback-safe FreeBSD static-network workflow for interface identity, IPv4 and IPv6 addressing, routes, resolver ownership, staged activation, and validation.
A method-aware FreeBSD major-upgrade runbook covering release eligibility, boot environments, external backup, staged installation, bootcode, packages, and rollback.
A verified FreeBSD zfs-periodic setup for explicit datasets, hourly through monthly schedules, retention testing, capacity alerts, consistent data, and recovery.
How FreeBSD jails isolate processes, filesystems, identities, networking, and resources without pretending a shared kernel is a VM.
How to match FreeBSD source to the running system, derive a custom kernel from GENERIC, build it safely, and preserve rollback paths.
How FreeBSD exposes interfaces, addresses, routes, FIBs, bridges, VLANs, link aggregation, sockets, and packet-level evidence.
FreeBSD 12.0 arrived with UEFI+GELI installation, bectl boot environments, LLVM 6.0.1, VIMAGE by default, netdump, and newer bhyve.
FreeBSD 13.0 put Auto ZFS first in bsdinstall, integrated OpenZFS, promoted arm64 to Tier 1, and completed the base LLVM migration.
FreeBSD 14.0 shipped OpenZFS 2.2, OpenSSL 3, CUBIC TCP, larger SMP systems, new bhyve features, safer UFS checks, and cloud images.
How FreeBSD PF evaluates rules, creates state, uses tables and anchors, performs NAT, logs decisions, and supports safe remote changes.
How FreeBSD Ports recipes, official pkg repositories, custom options, branches, locks, audits, and poudriere fit into one package workflow.
How FreeBSD moves changes through CURRENT, STABLE, releng branches, freezes, release candidates, and supported production releases.
How FreeBSD ZFS pools, vdevs, datasets, snapshots, replication, scrubs, ARC, and boot environments behave in real operations.