Kickstart Appliance
Use to provision virtual and physical Linux systems through Kickstart
Description
Appliance Function: a convenient appliance that allows the user to rapidly
provision Linux machines (whether physical or virtual) on their network.
(see Introduction below for more information). Note that this appliance
was started before "PXE Virtual Appliance" was released. I have not used
PXE Virtual Appliance but I do think that the tight integration with
Kickstart and the additional management features of the Kickstart Appliance
makes it a compelling improvement for installing Linux.
How was it built? Fedora Core 4 (minimal) was installed and pruned down. On
top of this my KickstartWeb code was installed, and some custom configuration
scripts were written. I then imported a nearly complete Fedora Core 4 image
for quick deployment.
What are the major components? Fedora Core 4 as the OS and KickstartWeb for
the web interface. See License Terms at the end of this document, or the
LICENSE file in /root on the appliance.
Uncompressed Size: 4.8GB (contains nearly an entire Fedoca Core installation,
and perhaps it is so large due to the maximum virtual drive capacity of 150GB
provided to allow the upload of numerous Linux distributions).
== Introduction ==
This Kickstart Appliance allows the user to quickly provision Linux systems
using a convenient web interface. It comes pre-loaded with the Fedora Core 4
image ready for installation, however all languages besides US English had to
be removed to keep the size of the appliance below 2GB.
Although this appliance can conveniently be used to install Linux on physical
hardware, it particularly compliments VMware (Workstation, GSX, and ESX) since
it makes it very easy to create a new virtual machine and install it from this
appliance over the network.
Although Fedora Core 4 is included, you can upload ISOs from other Linux
distributions to allow you to install any recent Anaconda-based Linux. It has
been tested with Fedora Core 4 and Red Hat Enterprise Linux 4, but should work
with all versions of Red Hat Enterprise Linux and Fedora, as well as other
derivative Linux distributions.
You can define one or more profiles which define how the system should be
installed (i.e. how it should be configured and what package groups should be
installed). You can set one profile up as a default for unknown clients,
and you can link other profiles to install specific hosts in a certain way.
For example, you could create a profile for a web server, another for a MySQL
server, etc. You can then create VMware virtual machines and create entries
for them in the web interface using their MAC address. The systems will then
PXE boot when you start them for the first time and install the OS and profile
you assigned to each virtual machine.
Note that the size of the appliance would be below 500MB if it was not for the
fact that I have included almost a complete Fedora Core 4 image for
convenience.
== Terms: Quick Reference ==
PXE: Stands for Preboot eXecution Environment. This a widely supported boot
method that allows a system to get its boot image over the network instead of
from a local hard drive, CDROM, or floppy. This boot image can be used to
install a new OS, among other things.
Anaconda: this is Red Hat's installation program for Red Hat Linux and, later,
Fedora Linux, and used by numerous other Linux distributions as well.
Kickstart: a kickstart file is a set of installation instructions that can
optionally be provided to Anaconda to allow for a fully-automated or
partially-automated installation.
DHCP: Dynamic Host Configuration Protocol. A client can send a DHCP request
on the network for an IP address and a DHCP server, if available, will respond
with the proper network configuration for the client. This is an alternative
to static IP address assignment (although a DHCP server can also be configured
to always give specific IPs to specific hosts). Hosts are tracked and
identified using their MAC addresses.
MAC: Media Access Control. Each Ethernet adapter in the world has a unique
MAC address, including VMware virtual machines. This MAC address is visible
to other machines on the local network and is used by the DHCP server to
identify each system. It is also used by the PXE booter to provide a
system-specific boot file, if necessary. Note that in VMware, changing the
path or name of a machine may change its MAC address, and it is possible for a
MAC address conflict to occur between different VMware instances on the same
bridged network.
Profile: A profile is a specific set of Kickstart settings that you may use to
install one or more hosts through the Kickstart Appliance.
== Quick Start ==
The Kickstart Appliance is initially configured such that it will run properly
under a default host-only network mode on VMware Workstation. The appliance
is configured with an IP address of 192.168.0.2 and its internal DHCP server
is configured to give out IPs in the range 192.168.0.128 through
192.168.0.254.
YOU MUST TURN OFF VMWARE'S DHCP SERVER TO USE THIS APPLIANCE. To do so, go to
Edit -> Virtual Network Settings... and choose the DHCP tab, hit Stop, and hit
OK.
Once the VMware DHCP server is off, start the Kickstart Appliance and wait for
it to boot. Now, create a new virtual machine within the same Workstation as
the running Kickstart Appliance. Configure it as "Linux, Other 2.6.X Kernel"
and at least 5GB of maximum disk space.
Start your new virtual machine. It should PXE boot by default which should
cause it to boot off of the Kickstart Appliance. It will then perform a fully
automated minimal installation of Fedora Core 4 on your new virtual machine.
Once the installation is complete, log in to the new virtual machine with
username of 'root' and password of 'root'. You may now use the
'vm_tools_install.sh' shell script in root's home directory to install VMWare
tools (after starting VMware Tools Install from the VM menu):
/root/vm_tools_install.sh
Be warned that any virtual machine that you PXE boot while this appliance is
running will, as it is configured by default, be completely wiped out with
Linux. Any virtual machine that is already installed will boot of its virtual
hard drive unless F12 is pressed during bootup.
If your host-only network uses a different IP range, or if you want to use the
appliance in bridged network mode to install physical or virtual machines
outside of your local VM instance, you must reconfigure the network settings.
Simply log in as 'root' on the appliance console (no password) and it will
guide you through the configuration process.
Basic network configuration of this appliance is accomplished by logging in as
'root' on the console with no password. All other use of the appliance should
be done through its comprehensive web interface available on port 80 at
whatever its IP address is. If you log in as root at the console it will tell
you your current IP address. The default is 192.168.0.2.
== Overall Structure ==
The ultimate goal of the Kickstart Appliance is to define a DEFAULT host and
optionally any number of other hosts. The DEFAULT host is applied to any
unknown host PXE booting on the network. The other hosts are associated with
a specific MAC address.
Each host is associated with a profile. Each profile is associated with a
Linux distribution. When a host PXE boots from the network, it is matched
against the host list to find its profile, or assigned the default profile.
If the profile is set for PXE installs, it will then start the installation of
the associated Linux distribution using a Kickstart file generated from the
associated profile.
You may also choose to assign static IPs to certain hosts. This means that
they will be assigned a static IP address during installation so that when
they reboot afterwards they no longer require DHCP. In this case you must
choose which network that host is to be configured for (if you have more than
one).
Here is an attempt at graphical representation of these associations:
/-- Network (optional)
Host --
\-- Profile --
\-- Distribution
== Kickstart Profiles ==
You can create any number of profiles to be assigned to any number of hosts,
although only one profile can be assigned to the DEFAULT host at any given
time. You may, however, assign a profile to the DEFAULT host, install a
system, then assign another profile to the DEFAULT host, and install another
system.
Each profile can control all of the installation choices provided by the
Anaconda installer, including disk partitioning, package selection, and X
configuration. There is comprehensive pop-up help to explain the various
settings.
Note that it is possible to create Kickstart profiles that contain internal
errors and cause the installation to fail or require manual intervention. If
this happens, consider using the "Interactive" option on the Advanced tab to
debug your Kickstart profile.
Whenever you install an Anaconda-based Linux distribution, it creates the
Kickstart file /root/anaconda-ks.cfg. You may edit this file and then import
it into a profile on the web interface. Importing a Kickstart file will wipe
out all profile information except for the Linux Distribution associated with
it. You may alter the Kickstart data online after importing, and you may see
the Kickstart file output at any time from the web interface.
== Advanced: Running in Bridged Network Mode ==
You can run this appliance in bridged network mode by modifying its properties
and changing it to bridged networking. Boot the virtual machine and log in as
'root' (no password). You will need to manually configure your network
settings after logging in (it will prompt you automatically).
You will need to decide between two options:
1) Use the DHCP server on the appliance, in which case you need to
configure it to give out the correct network settings, and you need to
temporarily shut down any existing DHCP server on your network. You will
need to know your network address, subnet mask, default gateway, DNS server,
and valid dynamic IP address range. You need to pick a range, ideally,
that was not used by your existing DHCP server. Some example DHCP ranges
might be:
Network: 192.168.0.0 Netmask: 255.255.255.0 Router: 192.168.0.1
IP Range: 192.168.0.2 through 192.168.0.254
Network: 10.10.0.0 Netmask: 255.255.0.0 Router: 10.10.1.1
IP Range: 10.10.2.2 through 10.10.2.254
2) Reconfigure your existing DHCP server to allow PXE booting off of this
Kickstart Appliance. If your DHCP server is Linux-based, adding the
following lines to /etc/dhcpd.conf should work:
allow bootp;
allow booting;
option ip-forwarding false;
option mask-supplier false;
next-server 10.2.1.1; # IP of your Kickstart Appliance
filename "pxelinux.0";
== License Terms ==
The bulk of the software in this virtual machine appliance is Fedora Linux
Core 4, which is freely redistributable
(http://www.fedoraproject.org/wiki/Distribution). Other software was written
by me (Kirk Bauer ). The web interface has been explicitly
released under the BSD license
(http://www.opensource.org/licenses/bsd-license.php), and a other small
portions written specifically for this appliance, are hereby released under
the same BSD license terms such that it is free to use and redistribute as you
wish.
Last updated: 06/05/2006
Operating system:
Fedora Core 4
Applications installed:
Fedora Core 4 with Perl/Mason and a few other required Perl modules added.
KickstartWeb Version 1.5
VMware Tools installed:
Yes
Size:
1848 MB
Torrent available:
Yes
(What is BitTorrent?)
Primary account
Username: root
Password: (no password)
Submitted by: kirkbauer
Download link provided by the submitter, not VMware. Report broken downloads here.
« BACK...