Diskless Linux boot using ZFS, iSCSI and PXE

· systems gaming · Source ↗

TLDR

  • Boot a gaming PC into Debian from a Proxmox-hosted ZFS zvol over iSCSI, using netboot.xyz and PXE, leaving Windows and local NVMe untouched.

Key Takeaways

  • Stack: netboot.xyz compiled locally, tftpd-hpa, DNSMasq on Asus Merlin router, targetcli-fb for iSCSI, ZFS zvol (32G) on Proxmox.
  • GRUB lives on the remote drive; no local bootloader entries to maintain across kernel updates or Windows patches.
  • Mutual CHAP auth is configured per-initiator IQN; demo_mode_write_protect=1 protects unauthenticated clients.
  • Performance bottleneck is network, not CPU; local NVMe still used for model weights (Qwen3, Gemma4 via llama.cpp).
  • ZFS is server-side only for zvol storage; the booted Debian guest sees a plain iSCSI block device, not a ZFS filesystem.

Hacker News Comment Review

  • Commenters pushed back on GRUB pain as motivation: rEFInd or systemd-boot eliminate the moving-parts problem without network infrastructure, and efibootmgr hooks handle kernel updates automatically.
  • iSCSI reliability concerns were prominent: packet loss and incast congestion on shared switches can make iSCSI unstable; QoS/priority VLANs, hardware iSCSI NICs (Chelsio, Mellanox CX4+), or high-buffer switches are cited mitigations.
  • NBD vs iSCSI debate surfaced: NBD has a simpler URI format and lower setup friction; iSCSI wins on cross-platform compatibility (Windows, non-Linux OSes).

Notable Comments

  • @tehlike: Used iPXE plus iSCSI for a robotics cluster where every robot booted identically, with Kubernetes handling workloads on top.
  • @a96: Notes ZFS is only a server-side backing store here; the Debian installer itself does not use or see ZFS, making the ZFS angle less novel than the title implies.

Original | Discuss on HN