一、安装环境
centos 5.4
关掉iptables 关掉 selinux selinux 导致tftp的目录无法访问 pxe停止在引导界面
 
二、cobbler使用目录及文件
cobbler相关配置文件 /etc/cobbler
cobbler数据存储目录 /var/www/cobbler
dhcp配置文件 /etc/dhcpd.conf
dhcp租期缓存文件 /var/lib/dhcpd/dhcpd.leases
pxe配置文件 /tftpboot/pxelinux.cfg/default
 
三、安装cobbler
# rpm -ivh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
# yum -y install tftp-server httpd dhcp yum-utils
# yum -y install cobbler
# yum -y install cman 
yum-utils  编译安装  make && make install
 
 
四、修改配置文件
 
1.修改cobbler配置文件
# vi /etc/cobbler/settings
[code]
server: '192.168.1.3'        #cobbler服务器地址
next_server: '192.168.1.3'   
manage_dhcp: 1
[/code]
 
2.更改tftp启动方式
# vi /etc/xinetd.d/tftp
[code]
disable = no                #默认开启tftp
[/code]
 
3.编辑dhcp配置模板
# vi /etc/cobbler/dhcp.template 改为相应的网段和ip
subnet 192.168.2.0 netmask 255.255.255.0 {
     option routers             192.168.2.5;
     option domain-name-servers 192.168.2.1;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.2.100 192.168.2.254;
     filename                   "/pxelinux.0";
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
}
 
 
五、导入CentOS 光盘映像文件
# mkdir /home/CentOS
# mount /home/src/CentOS-5.4-x86_64-bin-DVD.iso /home/CentOS/ -o loop
 
#cobbler import --path=/home/CentOS --name=CentOS5.4_x86_64
# cobbler sync    应用配置模板
 
 
 
六、cobbler check 根据提示解决问题 
例如:
#2: Must enable selinux boolean to enable Apache and web services components, run: setsebool -P httpd_can_network_connect true
Nice to see that it has good instructions for selinux
#3: you need to set some SELinux content rules to ensure cobbler works correctly in your SELinux environment, run the following: /usr/sbin/semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*" && /usr/sbin/semanage fcontext -a -t public_content_t "/var/www/cobbler/p_w_picpaths/.*"
Detailed command to enable http server to reed content from /var/www/cobbler and have tfpboot find its files
#4: service cobblerd is not running
Obviously this isn't running because we did not start it yet
#5: change 'disable' to 'no' in /etc/xinetd.d/tftp
#6: service httpd is not running
#7: since iptables may be running, ensure 69 (dhcp), 80(http), 25150(cobbler api), and 25151(cobbler api R/W) are unblocked 关闭防火墙
#8: reposync is not installed, need for cobbler reposync, install/upgrade yum-utils?
Easy to solve with:  yum install yum-utils
#9: yumdownloader is not installed, needed for cobbler repo add with --rpm-list parameter, install/upgrade yum-utils? 安装yum-utils
#10: fencing tools were not found, and are required to use the (optional) power management features. install cman to use them 安装cman
七、启动cobbler服务
service dhcpd start
service httpd start
service xinetd restart
service cobbler start
 
 
 
 
 
八、kickstart配置文件实例
# vi /etc/cobbler/sample.ks
 
#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 --enabled
# 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
network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
 
#Root password
rootpw --iscrypted $1$65XOJkdK$SA2J.kVLiTZ6V1GAhFl/Z1
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone Asia/Shanghai
# Install OS instead of upgrade
install
# Clear the Master Boot Record
zerombr
 
# Magically figure out how to partition this thing
#SNIPPET::main_partition_select
part / --asprimary --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
part swap --asprimary --bytes-per-inode=4096 --fstype="swap" --size=2048
part /boot --asprimary --bytes-per-inode=4096 --fstype="ext3" --size=100
 
%pre
$kickstart_start
#SNIPPET::pre_partition_select
 
%packages
@server-cfg
@development-tools
@base
@development-libs
@system-tools
@admin-tools
certmaster
func
 
%post
chkconfig NetworkManager off
chkconfig NetworkManagerDispatcher off
chkconfig acpid off
chkconfig anacron off
chkconfig atd off
chkconfig autofs off
chkconfig avahi-daemon off
chkconfig avahi-dnsconfd off
chkconfig bluetooth off
chkconfig conman off
chkconfig cups off
chkconfig dhcdbd off
chkconfig dund off
chkconfig firstboot off
chkconfig funcd on
chkconfig gpm off
chkconfig haldaemon off
chkconfig hidd off
chkconfig httpd off
chkconfig ibmasm off
chkconfig ip6tables off
chkconfig ipmi off
chkconfig iptables off
chkconfig irda off
chkconfig irqbalance off
chkconfig kdump off
chkconfig kudzu off
chkconfig lvm2-monitor off
chkconfig mcstrans off
chkconfig mdmpd off
chkconfig microcode_ctl off
chkconfig multipathd off
chkconfig netconsole off
chkconfig netfs off
chkconfig netplugd off
chkconfig nfs off
chkconfig nfslock off
chkconfig nscd off
chkconfig ntpd off
chkconfig oddjobd off
chkconfig pand off
chkconfig pcscd off
chkconfig portmap off
chkconfig psacct off
chkconfig rdisc off
chkconfig restorecond off
chkconfig rpcgssd off
chkconfig rpcidmapd off
chkconfig rpcsvcgssd off
chkconfig saslauthd off
chkconfig sendmail off
chkconfig setroubleshoot off
chkconfig winbind off
chkconfig wpa_supplicant off
chkconfig xfs off
chkconfig ypbind off
chkconfig yum-updatesd off
 
chkconfig certmaster on
chkconfig funcd on
 
cat >> EOFM > /etc/func/minion.conf
[main]
log_level = INFO
acl_dir = /etc/func/minion-acl.d
EOFM
 
cat >> EOCM > /etc/certmaster/minion.conf
[main]
certmaster = node3.le8le.com
log_level = DEBUG
cert_dir = /etc/pki/certmaster
EOCM
 
cat >> EODM > /etc/hosts
192.168.1.3 node3.le8le.com
EODM
 
$yum_config_stanza
SNIPPET::post_install_kernel_options
$kickstart_done
[/code]
 
九、利用cobbler重装系统
# rpm -Uhv koan-1.2.5-1.el5.noarch.rpm
# koan -server=192.168.1.3 -list-profiles
# koan -replace-self -server=192.168.1.3 -profile=CentOS_5.2-i386
# reboot