Difference between revisions of "Cobbler installation on CentOS/RHEL"

From Define Wiki
Jump to navigation Jump to search
Line 187: Line 187:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
== Check the profile settings ==
+
== Change the installation settings ==
 +
View the profile (which will include kickstart files
 
<syntaxhighlight>
 
<syntaxhighlight>
root@ubuntu1204-cobbler:~# cobbler profile report --name=centos62-x86_64
+
root@ubuntu1204-cobbler:~$ cobbler profile report --name=centos62-x86_64
Name                          : centos62-x86_64
+
<snip>
TFTP Boot Files                : {}
 
Comment                        :
 
DHCP Tag                      : default
 
Distribution                  : centos62-x86_64
 
Enable PXE Menu?              : 1
 
Fetchable Files                : {}
 
Kernel Options                : {}
 
Kernel Options (Post Install)  : {}
 
 
Kickstart                      : /var/lib/cobbler/kickstarts/sample.ks
 
Kickstart                      : /var/lib/cobbler/kickstarts/sample.ks
Kickstart Metadata            : {}
+
</snip>
Management Classes            : []
+
</syntaxhighlight>
Management Parameters          : <<inherit>>
+
 
Name Servers                  : []
+
Change the kickstart file
Name Servers Search Path      : []
+
<syntaxhighlight>
Owners                        : ['admin']
+
cobbler profile edit --name=centos62-x86_64 --kickstart=/var/lib/cobbler/kickstarts/kickstart-sdaonly.ks
Parent Profile                :
 
Proxy                          :
 
Red Hat Management Key        : <<inherit>>
 
Red Hat Management Server      : <<inherit>>
 
Repos                          : []
 
Server Override                : <<inherit>>
 
Template Files                : {}
 
Virt Auto Boot                : 1
 
Virt Bridge                    : virbr0
 
Virt CPUs                      : 1
 
Virt Disk Driver Type          : raw
 
Virt File Size(GB)            : 5
 
Virt Path                      :
 
Virt RAM (MB)                  : 512
 
Virt Type                      : qemu
 
 
</syntaxhighlight>
 
</syntaxhighlight>

Revision as of 15:37, 3 October 2012

Pre-Requisits

For this installation, we will need to have the following services installed: dhcp, bind & apache.

Install with the following yum command:

yum install httpd dhcp bind

If necessary, the dhcpd service can be restricted to servicing dhcp requests on just one port. To do this, edit the /etc/sysconfig/dhcpd file and set the following line:

DHCPDARGS=eth1

Adding the EPEL Repo to get cobbler

Download http://mirrors.coreix.net/fedora-epel/5/i386/epel-release-5-4.noarch.rpm (or whatever is suitable for the installed OS):

wget http://mirrors.coreix.net/fedora-epel/5/i386/epel-release-5-4.noarch.rpm

And install:

rpm -ivh epel-release-5-4.noarch.rpm

Install cobbler

Install using yum:

yum install cobbler cobbler-web

Check apache is working

Restart httpd:

service httpd restart

The following error might occur:

Starting httpd: Syntax error on line 10 of /etc/httpd/conf.d/cobbler.conf:
Invalid command 'WSGIScriptAliasMatch', perhaps misspelled or defined by a module not included in the server configuration
[FAILED]

If this error occurs, firstly remove mod_python:

rpm -e mod_python

Then, create a mod_wsgi config file:

cat > /etc/httpd/conf.d/05-load-wsgi.conf
LoadModule wsgi_module modules/mod_wsgi.so

And finally restart apache:

service httpd restart

Add a few more packages to satisfy some cobbler requirements

Install debmirror with yum (needed to manage debian deployments):

yum install debmirror

Install pykickstart with yum (A python library for manipulating kickstart files):

yum install pykickstart

Edit xinet.d/rsync file

Edit /etc/xinetd.d/rsync and change disable to no:

service rsync
{
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

Edit /etc/debmirror.conf for proper Debian support

Edit /etc/debmirror.conf and comment dists and arches lines:

# Download options
$host="ftp.debian.org";
$user="anonymous";
$passwd="anonymous@";
$remoteroot="/debian";
$download_method="ftp";
# @dists="sid";
@sections="main,main/debian-installer,contrib,non-free";
# @arches="i386";
# @extra_dirs="";
# @ignores="";
. . . . .

Configure cobbler

Get cobbler to manage dhcp and dns by setting the following in /etc/cobbler/settings:

manage_dhcp: 1
manage_dns: 1

Set server ip addresses in /etc/cobbler/settings:

next_server: 172.28.0.100
server: 172.28.0.100

Confirm the following are set in /etc/cobbler/modules.conf:

[dns]
module = manage_bind

[dhcp]
module = manage_isc

Edit /etc/cobbler/dhcp.template with relevant network information (for example):

# ******************************************************************
# Cobbler managed dhcpd.conf file
#
# generated from cobbler dhcp.conf template ($date)
# Do NOT make changes to /etc/dhcpd.conf. Instead, make your changes
# in /etc/cobbler/dhcp.template, as /etc/dhcpd.conf will be
# overwritten.
#
# ******************************************************************
	
ddns-update-style interim;
	
allow booting;
allow bootp;
	
ignore client-updates;
set vendorclass = option vendor-class-identifier;
	
subnet 172.28.0.0 netmask 255.255.0.0 {
     option routers             172.28.0.100;
     option domain-name-servers 10.0.0.1;
     option subnet-mask         255.255.0.0;
     range dynamic-bootp        172.28.0.101 172.28.0.200;
     filename                   "/pxelinux.0";
     default-lease-time         604800;
     max-lease-time             604800;
     next-server                172.28.0.100;
}
. . . . .

Attempt to start dhcpd:

service dhcpd restart

NB: if the dhcpd service isn't running and it fails to start, it may be because the default /etc/dhcpd.conf file is blank. Enter the above information and start the dhcpd service (it needs to be running for cobbler sync (below) to complete fully). The content of /etc/dhcpd.conf will be overwritten with the contents of /etc/cobbler/dhcp.template once cobbler sync has been performed.

Run cobbler check:

cobbler check

Run cobbler sync:

cobbler sync

Import a CentOS ISO for deployment

Mount a the CentOS ISO file to a local folder, for example:

mount -o loop ./CentOS-5.7-x86_64-bin-DVD-1of2.iso /mnt

Import the ISO into cobbler:

cobbler import --name=CentOS_5.7_X86_64 --path=/mnt/ --breed=redhat --arch=x86_64

Finish with a cobbler sync:

cobbler sync

Change the installation settings

View the profile (which will include kickstart files

root@ubuntu1204-cobbler:~$ cobbler profile report --name=centos62-x86_64
<snip>
Kickstart                      : /var/lib/cobbler/kickstarts/sample.ks
</snip>

Change the kickstart file

cobbler profile edit --name=centos62-x86_64 --kickstart=/var/lib/cobbler/kickstarts/kickstart-sdaonly.ks