HOWTO Build your own provisioning server

HOWTO Build your own provisioning server

From Consultancy.EdVoncken.NET

Jump to: navigation, search

For medium- to large-sized environments, a provisioning server is essential. It helps you:

  1. Save time by speeding up installations
  2. Improve consistency by guaranteeing identical installations
  3. Manage system lifecycle through integration with configuration management

For large organizations, Red Hat Network Satellite is probably the best option, but in some cases a different solution is still preferred.

Contents

[edit] Design

The following components are used in the provisioning server:

  • Cobbler / Koan for managing the provisioning server
  • DHCP and TFTP for PXE-boot
  • Apache for delivering installation media, post-installation scripts and configuration files
  • Subversion with mod_dav_svn and ViewVC for managing the configuration files
  • Yum for installing extra software

You may also want to look at Spacewalk, the upstream project for Red Hat Satellite.

[edit] How does it work?

  • Cobbler generates a PXE-boot menu. A new host can either use PXE or Koan to start installation.
  • The new host is kickstarted using Anaconda
  • The new host is configured during %pre and %post
    • As part of the %pre and %post sections, we run various Pre-Install and Post-Install scripts
    • Additional software is retrieved from remote or local Yum repositories
    • Configuration files are either modified locally or obtained from a Subversion repository
    • Optionally, the new host is connected to a cfengine or Puppet server for policy-based configuration
  • The new host reboots and is ready for use

[edit] Cobbler

Basic Cobbler installation and configuration is described here.

By default, Cobbler offers a "Distro/Profile/System" hierarchy. I have extended this with a "Customer" and "Site" hierarchy so the provisioning server can be used across organizations and sites:

  • Customer
    • Site
      • Distro
        • Profile
          • System

For example:

  • Each Customer (organization) may have their own Red Hat installation key
  • On each Site (datacenter), proxy and authentication settings may be different

As with the Cobbler Distro/Profile/System hierarchy, settings are inherited and applied in least-to-most specific order. For example, the proxy-setting may be defined on the Site-level but overridden on the System-level.

[edit] Navigation