Tag: Dracut

dracutでNFS rootfsにtmpfs upperのoverlay rootを作る

dracutでNFS rootfsにtmpfs upperのoverlay rootを作る

目的

PXE boot した Linux client で、NFS rootfs を lower とし、client 側 tmpfs を upper/work にした overlay root を作る。

rootfs の差分は reboot で破棄し、base rootfs は server 側で一元管理する。

現行構成

kernel cmdline では NFS root と overlayfs を指定する。

root=nfs4:192.0.2.1:/rootfs/20260601,vers=4.2,proto=tcp ip=dhcp rd.neednet=1 rd.overlayfs=1

192.0.2.1 は例示用である。実機の OpenWrt/PXE では外部 inventory の openwrt_gentoo_server_host から root server を決め、openwrt_lan_ipaddransible_host への暗黙 fallback に頼らない。

dracut の overlayfs module は、NFS rootfs を lower として、client 側に upper/work を作る。

Read more...

PXE GentooでNFS rootにtmpfs overlayを重ねる設計

PXE GentooでNFS rootにtmpfs overlayを重ねる設計

PXE boot の root filesystem を NFS に置くと、rootfs 更新や rollback は楽になる。一方で、各 node が rootfs に直接書き込むと、検証環境ほど状態が散らばりやすい。

そこで、NFS root を read-only lower として扱い、PXE client 側の tmpfs を upper/work にした overlayfs root にする。

この構成では、rootfs の差分は reboot で消える。永続化が必要なものだけを、用途別の volume や明示的な mount に逃がす。

本文中の 192.0.2.0/24 は説明用の documentation range である。OpenWrt 実機で NFS root / TFTP / DHCP を反映する場合は、外部 inventory の openwrt_lan_ipaddropenwrt_dhcp_ntp_serversopenwrt_gentoo_server_host を実値として明示し、documentation range が endpoint に残っていれば止める。

基本構成

flowchart TD
  A[PXE firmware<br/>DHCP + TFTP] --> B[Kernel + initramfs]
  B --> C[dracut<br/>network + nfs]
  C --> D[NFS root<br/>read-only lower]
  C --> E[tmpfs<br/>upper + work]
  D --> F[overlayfs merged root]
  E --> F
  F --> G[switch_root]
  G --> H[systemd]

root overlay の目標状態は次のような形になる。

Read more...