Field Notes
Short notes from production: gotchas, lessons, and workarounds I've earned the hard way running the Mcaster1 ecosystem. Written so the next person doesn't lose an evening to the same trap.
All notes
5 entriesBIND9 dynamic zones — why `rndc reload` lies
A `.jnl` file is all it takes
If a BIND zone has a journal file, rndc reload returns "dynamic zone" and silently rejects your edit. The fix is freeze → edit → thaw — and forgetting the thaw breaks every DDNS update silently.
When "heap corruption" is actually stale `.o` files
`0x64756f6c63` decodes to "cloud"
Mcaster1Webmail crashed with what looked like classic heap corruption. The crash address spelled "cloud" in ASCII. The fix was `make clean`. Stale object files were linking against an old class layout.
Debian 13 cloud images need UEFI on q35/i440fx
BIOS booting loops in GRUB
Debian 13 cloud images (Trixie) boot in an endless GRUB loop on KVM with BIOS firmware. Switch the VM to UEFI (`--boot uefi`) and they come up clean.
Hyper-V Linux offline root reset via qemu-nbd
When passt-fronted libguestfs fails on Hyper-V
You can't use virt-customize / libguestfs against Hyper-V .vhdx because passt networking fails. Use qemu-nbd on mc1desktop, operate on the base .vhdx (not .avhdx), btrfs Fedora needs subvol=root. id_rsa 1024-bit gets rejected by modern sshd — use ed25519.
K8s nodes forgetting swap was off
swapoff -a wears off at reboot
Kubelet refuses to start when swap is enabled. `swapoff -a` fixes it until you reboot — then `/etc/fstab` re-enables it and the cluster falls over. Check fstab before chasing IP / cert / etcd.