Warewulf

From Leo's Notes
Last edited on 7 October 2025, at 22:13.

Warewulf is an open-source Linux cluster provisioning system. It is typically used for HPC cluster applications, but can also be used for managing environments that need to boot multiple nodes (such as a VM infrastructure environment). Warewulf provides a lightweight and flexible way to boot diskless nodes via PXE and manage node images centrally from a head node.

Common Commands

Purpose Command
Check Warewulf node status wwcctl node status
View node details wwcctl node show <nodename>
Create a new node wwcctl node add <nodename> --ipaddr <ip> --hwaddr <mac>
Set boot image for a node wwcctl node set <nodename> --vnfs <image>
Build VNFS (node image) wwcctl overlay build
Import container image wwcctl import docker://rockylinux:9 --name rocky9
Push configuration to nodes wwcctl overlay build

Common Tasks

Install and Configure Warewulf

# wget https://github.com/warewulf/warewulf/releases/download/v4.6.4/warewulf-4.6.4-1.el9.x86_64.rpm
# dnf -y install warewulf-4.6.4-1.el9.x86_64.rpm

## Configure warewulf in /etc/warewulf/warewulf.conf
## Ensure that the IP addresses are set to something that works for your network.
# vi /etc/warewulf/warewulf.conf

## Set up the first boot image and configure the first node
# wwctl image import docker://ghcr.io/warewulf/warewulf-rockylinux:9 rockylinux-9 --build
# systemctl enable --now warewulfd
# wwctl profile set default --image rockylinux-9
# wwctl node add node01  --ipaddr=172.19.0.101 --hwaddr=02:01:01:58:00:06
# wwctl configure --all

At this point, you should have a DHCP and TFTP running on the system. NFS server should also be working if that is something you enabled in the configuration file.

Verify the state of warewulf by running:

# warewulf status