HOWTO Build your own provisioning server
From Consultancy.EdVoncken.NET
For medium- to large-sized environments, a provisioning server is essential. It helps you:
- Save time by speeding up installations
- Improve consistency by guaranteeing identical installations
- 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
- Profile
- Distro
- Site
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
- HOWTO Build your own provisioning server