Top 6 Open Source Linux Server Provisioning Software

Server provisioning is nothing but installs the Linux or UNIX like operating systems automatically. One can install actual operating systems, device drivers, data, and make a server ready for network operation without any user input. Typically you select a server from a pool of available servers, load the operating systems (such as RHEL, Fedora, FreeBSD, Debian), and finally customize storage, network (IP, gateway, bounding etc), drivers, applications, users, ssh keys Open Source Linux Server Provisioning Softwareand more. Using the following tools, you can perform automated unattended operating system installation, configuration, set virtual machines and much more. The following open source Linux server provisioning Software can be used to install a lot (say thousands) of Linux and UNIX systems at the same time.

Often I need to roll out CentOS/RHEL/Suse/Ubuntu/Debian Linux to a set of the server with precisely same or different hardware configuration. I need Linux automatically roll out without any intervention from anyone.

ADVERTISEMENTS

1. Kickstart

From the official Redhat guide:

Many system administrators would prefer to use an automated installation method to install Red Hat / CentOS / Fedora Linux on their machines. To answer this need, Red Hat created the kickstart installation method. Using kickstart, a system administrator can create a single file containing the answers to all the questions that would normally be asked during a typical Red Hat Linux installation. Kickstart provides a way for users to automate a Red Hat Enterprise Linux installation.

Kickstart Configurator allows you to create or modify a kickstart file using a graphical user interface, so that you do not have to remember the correct syntax of the file.

Fig.01: RHEL - Kickstart Configurator

Fig.01: RHEL - Kickstart Configurator

2. Fully Automatic Installation (FAI)

FAI is a non-interactive system to install, customize and manage Linux systems and software configurations on computers as well as virtual machines and chroot environments, from small networks to large-scale infrastructures and clusters. It is a tool for fully automatic installation of Debian and other Linux Distributions such as Suse, Redhat, Solaris via network, custom install cd, or into a chroot environment. Some people also use it to install Windows.

FAI Features

  1. Installs and updates Debian, Ubuntu, SuSe, RHEL, CentOS, Fedora, Mandriva, Solaris, etc
  2. Centralized deployment and configuration management
  3. Integrated disaster recovery system
  4. Easy set up of software RAID and LVM
  5. Installs XEN domains, VirtualBox and Vserve
  6. Every stage can be customized via hooks
  7. Full remote control via ssh during installation

See the official project website and wiki for more information.

3. Cobbler

Cobbler is a Linux provisioning server that centralizes and simplifies control of services including DHCP, TFTP, and DNS for the purpose of performing network-based operating systems installs. It can be configured for PXE, reinstallations, and virtualized guests using Xen, KVM or VMware. Again it is mainly used by Redhat and friends, but you can configure a PXE server to boot various non-RPM boot images such as Knoppix and other flavors of Debian such as Ubuntu.

There is also a lightweight built-in configuration management system, as well as support for integrating with configuration management systems like Puppet. Cobbler has a command line interface, a web interface, and also several API access options.

Fig.02: Cobbler WebUI (image credit: Fedora project)

Fig.02: Cobbler WebUI (image credit: Fedora project)

See the official Cobbler project home page and wiki for more information.

4. Spacewalk

From the official website:

Spacewalk is an open source (GPLv2) Linux systems management solution. It is the upstream community project from which the Red Hat Network Satellite product is derived. Spacewalk manages software content updates for Red Hat derived distributions such as Fedora, CentOS, and Scientific Linux, within your firewall. You can stage software content through different environments, managing the deployment of updates to systems and allowing you to view at which update level any given system is at across your deployment. A clean central web interface allows viewing of systems and their software update status, and initiating update actions.

Features:

  1. Inventory your systems (hardware and software information)
  2. Install and update software on your systems
  3. Collect and distribute your custom software packages into manageable groups
  4. Provision (kickstart) your systems
  5. Manage and deploy configuration files to your systems
  6. Monitor your systems
  7. Provision and start/stop/configure virtual guests
  8. Distribute content across multiple geographical sites in an efficient manner.
Fig.03: Spacewalk Server Provisioning System

Fig.03: Spacewalk Server Provisioning System

See the official project website for more information.

5. OpenQRM

From the official website:

openQRM is the next generation, open-source Data-center management platform. Its fully pluggable architecture focuses on automatic, rapid- and appliance-based deployment, monitoring, high-availability, cloud computing and especially on supporting and conforming multiple virtualization technologies. openQRM is a single-management console for the complete IT-infra structure and provides a well defined API which can be used to integrate third-party tools as additional plugins.

Features

  1. Complete separation of “hardware” (physical servers and virtual machines) from “software” (server-images)
    Support for different virtualization technologies
  2. Fully automatic Nagios configuration (single click) to monitor all systems and services
  3. High-availability : “N to 1” fail-over
  4. Integrated storage management
  5. Distribution support – openQRM 4.x comes with a solid support for different linux distribution like Debian, Ubuntu, CentOS and openSuse. A single openQRM server can manage the provisioning of servers from those different linux distributions seamlessly.
Fig.04: OpenQRM Dashboard

Fig.04: OpenQRM Dashboard (image credit: OpenQRM project)

See the official project website for more information.

6. Foreman

Foreman is a free and open source software for provisioning and configuring physical and virtual servers. It gets integrated very well with configuration management software such as Puppet, Chef, Salt and other solutions through plugins. From the project home page:

Foreman is a complete lifecycle management tool for physical and virtual servers. We give system administrators the power to easily automate repetitive tasks, quickly deploy applications, and proactively manage servers, on-premise or in the cloud. Bare metal, Amazon EC2, Google Compute Engine, OpenStack, Libvirt, oVirt, VMware, and many other providers allow you to manage a hybrid cloud through Foreman.

Features

  1. RBAC and LDAP integration
  2. API
  3. CLI access
  4. Audits
  5. Manage a hybrid cloud
  6. A pluggable architecture allows you to extend Foreman in almost any direction
Fig.06: Foreman dashboard

Fig.06: Foreman dashboard

See the official project website for more information.

DIY: Provisioning Server

You can build your own server using PXE, TFTP server, and DHCP software. PXE allows you to boot up a system and have it automatically get an IP address via DHCP and start booting a kernel over the network. See the following articles for more information:

Other options

  1. AutoYaST – A system for installing one or more openSUSE Leap/Suse Linux systems automatically and without user intervention, using an AutoYaST profile that contains installation and configuration data.
  2. Crowbar – Transform your bare-metal into an OpenStack Cloud in hours. Support for CEPH, High Availability, SSL and unattended installation included.

Conclusion

There are many proprietary software solutions available to automate the provisioning of servers, services and end-user devices from vendors such as BladeLogic, IBM, or HP. But open source software gives you more freedom to automate the installation of the Linux server. Some of the above software support UNIX and Windows operating systems too.

I’m wondering if you use server Provisioning Software regularly. Drop your discussion below and share what works for you in the comments.

🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallCentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNCentOS 8 Debian 10 Firewall Ubuntu 20.04

ADVERTISEMENTS
26 comments… add one
  • John Gardner Aug 10, 2010 @ 7:23

    After spending a couple of months designing and deploying a provisioning system based on ‘DIY: Provisioning Server’ and ‘Kickstart’ methods, it was nice to see a few alternatives. I knew about Spacewalk, but not the others so it was an interesting read… even if it was a bit late for me 🙂

  • Dave Aug 10, 2010 @ 8:23

    Chef? Puppet?

  • jaysunn Aug 10, 2010 @ 17:42

    Spacewalk looks very interesting. I myself have just configured a PXE kickstart environment using a Windows DHCP server. Has anyone had a chance to use spacewalk and have some time to comment on it?

    @vivek,

    Nice article.

    jaysunn

    • dude Aug 11, 2010 @ 7:18

      Spacewalk is the best of all the mentioned software. I have used it in the form of Red Hat Satellite Server and it is a very good product.

  • Chris Cowley Aug 11, 2010 @ 11:01

    I would also put forward the combination of Kickstart and Puppet. I use that with my collection of Centos systems (virtual and physical) and works a treat.

  • korovamilk Aug 11, 2010 @ 11:35

    Cobbler is neat and very customizable.. I use it on a regular base to deploy our servers: just pick a profile (db, web server) and then input mac address, turn on the machine and you’ve done!

  • crue Aug 11, 2010 @ 13:13

    spacewalk uses cobbler which uses kickstart for provisioning so they are all really the same core technology, just the management fluff around them

  • sven Aug 13, 2010 @ 7:43

    i want to roll out many debian servers. what would you suggest?
    i’m playing with FAI right now but it don’t gets me the kick 🙂

  • Vallard Aug 14, 2010 @ 17:40

    xCAT is the one we use. We like it because it scales, supports windows, vmware, red hat flavors, suse, and partimage. The other thing that is cool about it is that it does remote hardware control like ipmi, hp blade, and IBM blade functions. Finally, you can create and deploy virtual machines (KVM and vmware), and you can install with kickstart or install ramroot or nfsroot.

  • indijan Sep 30, 2010 @ 21:32

    We’re using fog (fogproject.org) for installing disk images.

  • Thomas Lange (Mrfai) Oct 19, 2010 @ 20:14

    The FAI project has moved its $HOME. It’s now

    http://fai-project.org

    The wiki can be found be at

    http://wiki.fai-project.org

  • Philippe Petrinko Feb 13, 2011 @ 21:33

    Did anyone tried OPSI http://www.opsi.org/ ?
    Very interesting to me.

  • Steve Kawolsky Jun 15, 2011 @ 5:26

    We use KwateeSDCM. It’s very straightforward, language agnostic and support deployment on all major operating systems

  • Greq Dec 30, 2011 @ 1:28

    Clonezilla SE

  • Salim Feb 13, 2012 @ 10:09

    i configured spacewalk 1.6 with oracle 11g DB . but i cannot kickstart el5 through spacewalk (repodata 404 error) i think spacewalk still running with full of bugs ..

    🙁

    next am going to test OpenQRM it seems pretty good

  • mc0e Sep 9, 2012 @ 9:06

    Vagrant is worth a mention. It fills a different but related niche to the listed provisioning software, being for provisioning local virtual servers. It integrates with puppet or chef for configuration of those servers.

  • roeland Feb 12, 2013 @ 9:36

    autoyast is a fine tool to provision RHEL/CENTOS/FEDORA/SLES/OPENSUSE. Much more of use compared to kckstart.

  • sayber May 3, 2013 @ 15:25

    Nobody mention Foreman http://theforeman.org/

  • Shamim Akhtar Jun 29, 2013 @ 14:43

    HI korovamilk,

    I want to use cobbler with puppet integration. Please let me know that can i install windows as well with this.

    Please share with me any docs if you have

    Thanks in Advance

  • Mose Jul 16, 2014 @ 0:49

    Since Cobbler is under GPL,

  • Daniel Aug 16, 2014 @ 14:28

    With any of these tools am i able to do configuration updates, like addusers, etc… in all of my serves(60+) from the centralized tool?

    • jason Sep 30, 2015 @ 22:22

      Hello,

      Common misconception; and its mentioned here a couple times. The article confuses the point a bit; but its 2010 area; so expected.

      There is a HUGE difference between OS provisioning, hardware provisioning and configuration management; everyone keeps trying to lump this into one.

      hardware provisioning (virtual or other):
      cloudstack, vlcoud, openstack, vagrant etc…

      OS provisioning
      cobbler
      crowbar
      foreman
      kickstart
      ayast
      razor*

      Configuration management
      salt stack
      ansible
      puppet
      chef
      spacewalk

  • nugg Aug 28, 2017 @ 9:46

    stop saying open source, say free software or free and open source software

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.