Code Monkey home page Code Monkey logo

warewulf v4

Warewulf

Quick Links:

About Warewulf

History

For over two decades, Warewulf has powered HPC systems around the world. From simple “under the desk” clusters to large institutional systems at HPC centers as well as enterprises who rely on performance critical computing.

Through the evolution of Warewulf, we have seen various iterations provisioning models starting from CDROM / ISO images to Etherboot (predecessor to PXE), then PXE, and more recently iPXE, but even during these different bootloaders, Warewulf in it’s heart, has always been first and foremost a stateless provisioning system (e.g. the operating system node image is not written to any persistent storage and rather it boots from the network directly into a runtime system).

Warewulf v3 has been in production for over 6 years now as it has stabilized into a very solid and full featured solution. But over the last few years, there have been many innovations in Enterprise technologies which can (and should) be leveraged as part of Warewulf. Additionally, some of the lessons learned from Warewulf v3 architecture should be rolled into an updated architecture for provisioning management.

Warewulf v4

Leveraging this legacy of provisioning and cluster management brings us to where we are today. The next generation of Warewulf. Warewulf v4 is a complete rewrite in GoLang, taking in the legacy of what we've come to expect with Warewulf, bringing it into the present, and looking out into the future.

Warewulf v4 combines ultra scalability, flexibility, and simplicity with being light weight, non-intrusive, and a great tool for scientists and seasoned system administrators alike. Warewulf empowers you to scalably and easily manage thousands of compute resources.

Architecture

One of the design tenants of Warewulf is how to scalably administrate many thousands of compute nodes. Generally speaking, operating system state introduce a surface for potential discrepancies and version creep between nodes and thus Warewulf has always gone with the "single system image" approach to clustered operating system management. This means that you can have a single management node "image". For the last 20 years, we've been calling this a Virtual Node File System (VNFS), but in hindsight, this is a container.

At its core, Warewulf v4 focuses on what has made Warewulf so widely loved: simplicity, ultra scalable, lightweight, and an easy to manage solution built for both scientists and seasons system administrators to be able to design a highly functional yet easy to maintain cluster no matter how big or small or customized it needs to be.

iPXE

Warewulf uses iPXE for network boot. Typically iPXE is provided by the operating system; but the iPXE binaries can be built with scripts/build-ipxe.sh. This script accepts command-line arguments that are passed to the underlying make process. e.g.,

echo "#!ipxe
echo Tagging with vlan 1000
vcreate --tag 1000 net0 autoboot || shell" >vlan-1000.ipxe

sh scripts/build-ipxe.sh EMBED=$(readlink -f vlan-1000.ipxe)

By default, build-ipxe.sh will attempt to write iPXE builds to /usr/local/share/ipxe/. This path can be specified using the DESTDIR environment variable. Other supported environment variables include IPXE_BRANCH and TARGETS.

IPXE_BRANCH=master TARGETS=bin-arm64-efi/snponly.efi DESTDIR=. sh scripts/build-ipxe.sh

Update warewulf.conf to use locally-built iPXE.

tftp:
  enabled: true
  systemd name: tftp
  ipxe:
    00:09: /usr/local/share/ipxe/bin-x86_64-efi-snponly.efi
    00:00: /usr/local/share/ipxe/bin-x86_64-pcbios-undionly.kpxe
    00:0B: /usr/local/share/ipxe/bin-arm64-efi-snponly.efi
    00:07: /usr/local/share/ipxe/bin-x86_64-efi-snponly.efi

Warewulf's Projects

warewulf icon warewulf

Warewulf is a stateless and diskless container operating system provisioning system for large clusters of bare metal and/or virtual systems.

warewulf3 icon warewulf3

Warewulf is a scalable systems management suite originally developed to manage large high-performance Linux clusters.

ww-mca icon ww-mca

Warewulf cluster management and provisioning framework

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.