Cobbler batch installation system centos 6.4 installation Configuration

Source: Internet
Author: User
Tags rsync

Recently, I have studied the cobbler batch installation system.
The cobbler installation system is an upgraded version of kickstart earlier. It has the advantages of easy configuration and easy management on its own web interface. The disadvantage is that there are few Chinese materials.
Here we will introduce in detail the installation process I personally experienced.
At the beginning, I used the centos 5.8 system, but reported an error when installing cpbbler-web. So this time I used the centos6.4 System for installation and configuration.

Environment:
Operating System: CentOS 6.4

Ip address of the testing machine: 10.0.0.128
Disable iptables selinux first.

/Etc/init. d/iptables stop

Chkconfig iptables off

Setenforce0

And modify the configuration file/etc/sysconfig/selinux to disable it.
1. Import the yum source and install the software.

Rpm-Uvh http://mirrors.hustunique.com/epel/6/x86_64/epel-release-6-8.noarch.rpm

Yum install cobbler-web

Yum install dhcp httpd

Chkconfig cobblerd on

Chkconfig httpd on

Cobbler check

Ii. Configure the environment
1> modify the cobbler configuration file


Vi/etc/cobbler/settings

Modify the settings as follows:

Next_server: 10.0.0.128

Server: 10.0.0.128

Manage_dhcp: 1

Manage_rsync: 1

Generate password string

[Root @ puppet ~] # Openssl passwd-1-salt "cobber" "123456" # A simple example "123456"

$1 $ cobber $ yV9XfOuaaiVDvImopK7o. 1
Openssl passwd-1-salt 'any character 'Password'
You can write any character for this command. This password is the root password after the system is installed. Replace the string in the configuration file.
Vi/etc/cobbler/settings
Default_password_crypted: "$1 $ cobber $ yV9XfOuaaiVDvImopK7o. 1"
2> enable tfpt and rsync
Vim/etc/xinetd. d/tftp
Vim/etc/xinetd. d/rsync
Change the disable value to no.
Start the service
/Etc/init. d/xinetd restart
3> modify the dhcp configuration file

# Vi/etc/cobbler/dhcp. template

Ddns-update-style interim;

Allow booting;

Allow bootp;

Ignore client-updates;

Set vendorclass = option vendor-class-identifier;

Option pxe-system-type code 93 = unsigned integer 16;

Subnet 10.0.0.0 netmask 255.255.255.0 {

Option routers 10.0.0.1;

Option domain-name-servers 8.8.8.8;

Option subnet-mask limit 255.0;

Range dynamic-bootp 10.0.0.2 10.0.0.100;

Default-lease-time 21600;

Max-lease-time 43200;

Next-server $ next_server;

}

For the remaining default values, you only need to modify this template. cobbler will synchronize to the dhcp configuration.
[Root @ cobbler ~] # Cobbler get-loaders

Task started: 2014-03-25_163306_get_loaders

Task started (id = Download Bootloader Content, time = Tue Mar 25 16:33:06 2014)

Path/var/lib/cobbler/loaders/README already exists, not overwriting existing content, use -- force if you wish to update

Path/var/lib/cobbler/loaders/COPYING. elilo already exists, not overwriting existing content, use -- force if you want to update

Path/var/lib/cobbler/loaders/COPYING. Yt T already exists, not overwriting existing content, use -- force if you want to update

Path/var/lib/cobbler/loaders/COPYING. syslinux already exists, not overwriting existing content, use -- force if you want to update

Path/var/lib/cobbler/loaders/elilo-ia64.efi already exists, not overwriting existing content, use -- force if you wish to update

Downloading http://www.cobblerd.org/loaders/yaboot-1.3.14-12 to/var/lib/cobbler/loaders/yaboot

Downloading http://www.cobblerd.org/loaders/pxelinux.0-3.61 to/var/lib/cobbler/loaders/pxelinux.0

Downloading http://www.cobblerd.org/loaders/menu.c32-3.61 to/var/lib/cobbler/loaders/menu. c32

Downloading http://www.cobblerd.org/loaders/grub-0.97-x86.efi to/var/lib/cobbler/loaders/grub-x86.efi

Downloading http://www.cobblerd.org/loaders/grub-0.97-x86_64.efi to/var/lib/cobbler/loaders/grub-x86_64.efi

* ** Task complete ***

3. Configure the web Environment
# Vi/etc/cobbler/modules. conf

Module = authn_configfile/change the Authentication mode to the password file type

# Htdigest/etc/cobbler/users. digest "Cobbler" cobbler/Add a cobbler user and prompt to enter the password twice for confirmation

# Cobbler sync/output *** task complete *** indicates no configuration error

#/Etc/init. d/httpd restart

#/Etc/init. d/cobblerdrestart

Access the web page https: // 10.0.0.128/cobbler_web/log on with the user you just created


1: Add a DVD source,

[Root @ puppet soft] # mount/dev/cdrom/mnt/cdrom/

Cobbler import -- path =/mnt/cdrom -- name = centos6.4

[Root @ cobbler ~] # Cobblerimport -- path =/mnt/cdrom -- name = centos6.4

Task started: 2014-03-25_182605_import

Task started (id = Media import, time = Tue Mar 25 18:26:05 2014)

Found a candidate signature: breed = redhat, version = rhel6

Found a matching signature: breed = redhat, version = rhel6

Adding distros from path/var/www/cobbler/ks_mirror/centos6.4:

Creating new distro: centos6.4-i386

Trying symlink:/var/www/cobbler/ks_mirror/centos6.4->/var/www/cobbler/links/centos6.4-i386

Creating new profile: centos6.4-i386

Associating repos

Checking for rsync repo (s)

Checking for rhn repo (s)

Checking for yum repo (s)

Starting descent into/var/www/cobbler/ks_mirror/centos6.4 for centos6.4-i386

Processing repo at:/var/www/cobbler/ks_mirror/centos6.4

Need to process repo/comps:/var/www/cobbler/ks_mirror/centos6.4

Looking for/var/www/cobbler/ks_mirror/centos6.4/repodata/* comps *. xml

Running: createrepo-c cache-s sha -- groupfile/var/www/cobbler/ks_mirror/centos6.4/repodata/empty/var/www/cobbler/ks_mirror/centos6.4

Received on stdout: Spawning worker 0 with 3114 pkgs

Workers Finished

Gathering worker results

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

Received on stderr:

* ** Task complete ***

For graphic interface operations, click Importer DVD (attach the image ISO first), then Importer, and click run


After the import is complete, you can see

Select the profile configuration ks file on the left

Enter the required ks file path

The Centos6.ks file is as follows. Here is just a simple ks file. You can configure it as needed.

# Platform = x86, AMD64, or Intel EM64T

# System authorization information

Auth -- useshadow -- enablemd5

# System bootloader configuration

Bootloader -- location = mbr

# Partition clearing information

Clearpart -- all -- initlabel

# Use text mode install

Text

# Firewall configuration

Firewall -- disable

# Run the Setup Agent on first boot

Firstboot -- disable

# System keyboard

Keyboard us

# System language

Lang en_US

# Use network installation

Url -- url = $ tree

# If any cobbler repo definitions were referenced in the kickstart profile, include them here.

$ Yum_repo_stanza

# Network information

$ SNIPPET ('network _ config ')

# Reboot after installation

Reboot

# Root password

Rootpw -- iscrypted $ default_password_crypted

# SELinux configuration

Selinux -- disabled

# Do not configure the X Window System

Skipx

# System timezone

Timezone -- utc Asia/Shanghai

# Install OS instead of upgrade

Install

# Clear the Master Boot Record

Zerombr

# Allow anaconda to partition the system as needed

Autopart

Clearpart -- all -- drives = sda -- initlabel

Part/boot -- fstype ext3 -- size = 200

Part/-- fstype ext3 -- size = 8000

Part swap -- size = 2048

% Pre

$ SNIPPET ('Log _ ks_pre ')

$ Kickstart_start

$ SNIPPET ('pre _ install_network_config ')

# Enable installation monitoring

$ SNIPPET ('pre _ anamon ')

% Packages

@ Admin-tools

@ Base

@ Chinese-support

@ Core

@ Development-libs

@ Development-tools

@ Editors

@ System-tools

@ Text-internet

OpenIPMI-tools

Hardlink

Kernel-PAE

Kernel-PAE-devel

Kernel-devel

Libpng-devel

Lrzsz

Minicom

Net-snmp-utils

Pcre-devel

Sysstat

X86info

Puppet

% Pre

$ SNIPPET ('Log _ ks_pre ')

$ SNIPPET ('kickstart _ start ')

$ SNIPPET ('pre _ install_network_config ')

# Enable installation monitoring

$ SNIPPET ('pre _ anamon ')

% Packages

$ SNIPPET ('func_install_if_enabled ')

$ SNIPPET ('puppet _ install_if_enabled ')

% Post

$ SNIPPET ('Log _ ks_post ')

# Start yum configuration

$ Yum_config_stanza

# End yum configuration

$ SNIPPET ('Post _ install_kernel_options ')

$ SNIPPET ('Post _ install_network_config ')

$ SNIPPET ('func_register_if_enabled ')

$ SNIPPET ('puppet _ register_if_enabled ')

$ SNIPPET ('Download _ config_files ')

$ SNIPPET ('koan _ environment ')

$ SNIPPET ('redhat _ register ')

$ SNIPPET ('cobbler _ register ')

# Enable post-install boot notification

$ SNIPPET ('Post _ anamon ')

# Start final steps

$ SNIPPET ('kickstart _ done ')

# End final steps

5: after the client starts from the network, select the corresponding project file to start automatic deployment.


Select the configured option to start Automatic Installation

After the restart is completed, you can use the previously defined password ("123456") to log on.

Appendix: troubleshooting
# Cobbler check
The following are potential configuration items that you may be want to fix:
1: Must enable a selinux boolean to enable vital web services components, run: setsebool-P httpd_can_network_connect true
2: you need to set some SELinux content rules to ensure cobbler serves available in your SELinux environment, run the following:/usr/sbin/semanagefcontext-a-t external "/tftpboot /. * "&/usr/sbin/semanage fcontext-a-t public_content_t"/var/www/cobbler "/images /. *
3: you need to set some SELinux rules if you want to use cobbler-web (anoptional package), run the following: /usr/sbin/semanage fcontext-a-thttpd_sys_content_rw_t "/var/lib/cobbler/webui_sessions /. *"
Solution: Disable selinux.
# Vim/etc/sysconfig/selinux
SELINUX = disabled
4: change 'disable' to 'no' in/etc/xinetd. d/tftp
Solution: edit the/etc/xinetd. d/tftp file and change the disable field configuration in the file from yes to no.
5: change 'disable' to 'no' in/etc/xinetd. d/rsync
Solution: edit the/etc/xinetd. d/rsync file and change the disable field configuration in the file from yes to no.
6: since iptables may be running, ensure 69, 80, and 25151 are unblocked
Solution: Enable ports 25151, 80, and in iptables. If it is only used in the internal environment, we recommend that you disable the firewall directly.
7: debmirror package is not installed, it will be required to manage debiandeployments and repositories
Solution: yum install debmirror
Or: rpm-Uvhftp: // rpmfind.net/linux/epel/5/ I #/debmirror-20090807-1.el5.noarch.rpm-nodeps-force
8: ksvalidator was not found, install pykickstart
Solution: yum install pykickstart
9: The default password used by the sample templates for newly installedmachines (default_password_crypted in/etc/cobbler/settings) is still set to 'jobbler' and shocould be changed, try: "openssl passwd-1-salt 'random-phrase-here ''ur-password-here '" to generate new one
Solution: change the default password and write the password to/etc/cobbler/settings.
# Openssl passwd-1-salt 'random-phrase-here ''your-password-here'
10: comment 'dists 'on/etc/debmirror. conf for proper debian support
11: comment 'archies' on/etc/debmirror. conf for proper debian support
Solution: Comment on the two lines below/etc/debmirror. conf.
# @ Dists = "sid ";
@ Sections = "main, main/debian-installer, contrib, non-free ";
# @ Arches = "i386 ";
12: fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
Solution: yum install cman
After the repair is completed, check the problem with cobbler check and use cobbler sync for synchronization:
# Cobbler check
No configuration problems found. All systems go.

13. comment out 'dists 'on/etc/debmirror. conf for proper debian support

Comment out 'archies' on/etc/debmirror. conf for proper debiansuppvim Vim vi/etc/debmirror. conf

# Comment out @ dists = "sid" and @ arches = "i386.

# @ Dists = "sid ";

# @ Arches = "i386 ";

14. cobbler check error compared

Traceback (most recent call last ):

File "/usr/bin/cobbler", line 35, in?

Sys. exit (app. main ())

File "/usr/lib/python2.4/site-packages/cobbler/cli. py", line 558, in main

Rc = cli. run (sys. argv)

File "/usr/lib/python2.4/site-packages/cobbler/cli. py", line 202, in run

Self. token = self. remote. login ("", self. shared_secret)

File "/usr/lib64/python2.4/xmlrpclib. py", line 1096, in _ call __

Return self. _ send (self. _ name, args)

File "/usr/lib64/python2.4/xmlrpclib. py", line 1383, in _ request

Verbose = self. _ verbose

File "/usr/lib64/python2.4/xmlrpclib. py", line 1147, in request

Return self. _ parse_response (h. getfile (), sock)

File "/usr/lib64/python2.4/xmlrpclib. py", line 1286, in _ parse_response

Return u. close ()

File "/usr/lib64/python2.4/xmlrpclib. py", line 744, in close

Raise Fault (** self. _ stack [0])

Xmlrpclib. Fault: <Fault 1: "cobbler. cexceptions. CX: 'login failed'">

Solution: This is a BUG. follow the steps below to execute

Service cobblerd restart

Cobbler get-loaders


The returned result is OK.



Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.