一:配置好repo仓库,IP地址,
[root@linux-node1 yum.repos.d]# ll
total 28
-rw-r--r--. 1 root root 1664 Dec  9  2015 CentOS-Base.repo
-rw-r--r--. 1 root root 1309 Dec  9  2015 CentOS-CR.repo
-rw-r--r--. 1 root root  649 Dec  9  2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  290 Dec  9  2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Dec  9  2015 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Dec  9  2015 CentOS-Sources.repo
-rw-r--r--. 1 root root 1952 Dec  9  2015 CentOS-Vault.repo
#使用阿里云的epel源
[root@linux-node1 yum.repos.d]# wget https://mirrors.aliyun.com/repo/epel-7.repo
Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 115.28.122.210, 112.124.140.210
Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|115.28.122.210|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1084 (1.1K) [application/octet-stream]
Saving to: ‘epel-7.repo’
100%[========================================================================================================================================================================>] 1,084       --.-K/s   in 0s      
2017-02-21 09:28:26 (82.2 MB/s) - ‘epel-7.repo’ saved [1084/1084]
[root@linux-node1 yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo  epel-7.repo
[root@linux-node1 yum.repos.d]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:e6:8c:cc brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.11/24 brd 192.168.56.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee6:8ccc/64 scope link 
       valid_lft forever preferred_lft forever

二:yum安装cobbler

[root@linux-node1 yum.repos.d]# yum install httpd dhcp tftp xinetd bind bind-chroot caching-nameserver cobbler cobbler-web python-ctypes

三:关闭防火墙

[root@linux-node1 yum.repos.d]# systemctl stop firewalld
[root@linux-node1 yum.repos.d]# chkconfig firewalld off
Note: Forwarding request to 'systemctl disable firewalld.service'.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.
[root@linux-node1 yum.repos.d]# getenforce 
Enforcing
[root@linux-node1 yum.repos.d]# setenforce 0 #临时生效
[root@linux-node1 yum.repos.d]# getenforce 
Permissive
[root@linux-node1 yum.repos.d]# sestatus
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   permissive
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      28
#编辑配置文件,把SELINUX修改成disabled,永久生效,需要重启OS
[root@linux-node1 yum.repos.d]# vim /etc/sysconfig/selinux

四:启动服务并检查

[root@linux-node1 yum.repos.d]# systemctl start httpd
[root@linux-node1 yum.repos.d]# systemctl start cobblerd
[root@linux-node1 yum.repos.d]# systemctl start xinetd
[root@linux-node1 yum.repos.d]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1687/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2182/master         
tcp        0      0 127.0.0.1:25151         0.0.0.0:*               LISTEN      3985/python2        
tcp6       0      0 :::80                   :::*                    LISTEN      3956/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1687/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      2182/master         
tcp6       0      0 :::443                  :::*                    LISTEN      3956/httpd

五:配置cobbler,

执行cobbler check命令后,会出现提示,告知需要修改的地方,按照说明修改即可:

[root@linux-node1 yum.repos.d]# cobbler check
The following are potential configuration items that you may want to fix:

1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work.  This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : SELinux is enabled. Please review the following wiki page for details on ensuring cobbler works correctly in your SELinux environment:
    https://github.com/cobbler/cobbler/wiki/Selinux
4 : change 'disable' to 'no' in /etc/xinetd.d/tftp
5 : some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely.  Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
6 : enable and start rsyncd.service with systemctl
7 : debmirror package is not installed, it will be required to manage debian deployments and repositories
8 : ksvalidator was not found, install pykickstart
9 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
10 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them

Restart cobblerd and then run 'cobbler sync' to apply changes.

    5.1 下面开始对上面的步骤提示进行修改,

1、对/etc/cobbler/setting中,修改server行,改成

server: 192.168.56.11

2、修改‘next_server’

next_server: 192.168.56.11

3、关闭selinux,需要重启系统

4、修改tftp

[root@linux-node1 yum.repos.d]# vim /etc/xinetd.d/tftp 

# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /var/lib/tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

5、执行命令cobbler get-loaders,他会自动下载相关的启动引导文件

[root@linux-node1 yum.repos.d]# cobbler get-loaders
task started: 2017-02-21_101556_get_loaders
task started (id=Download Bootloader Content, time=Tue Feb 21 10:15:56 2017)
downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README
downloading https://cobbler.github.io/loaders/COPYING.elilo to /var/lib/cobbler/loaders/COPYING.elilo
downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
downloading https://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
*** TASK COMPLETE ***

6、启动服务rsyncd.service

systemctl start rsyncd

7、安装pykickstart

yum install pykickstart -y

8、生成新的密码,默认的过于简单,命令:openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'

[root@linux-node1 yum.repos.d]# openssl passwd -1 -salt '123' '123456'
$1$123$7mft0jKnzzvAdU4t0unTG1

把这个新生成的密钥,写入setting配置文件中的对应位置上

default_password_crypted: "$1$123$7mft0jKnzzvAdU4t0unTG1"

9、安装fence-agents

yum install fence-agents

10、可以不用管它

当然也可以安装这个服务,安装完毕后,需要修改配置文件

wget 
yum localinstall debmirror-20090807-1.el5.noarch.rpm 
vim /etc/debmirror.conf #将23和25行注释掉
23 #@dists=”sid”;
25 #@arches=”i386″;

上面所有的步骤操作完毕后,重启cobbler,然后执行“cobbler sync”

[root@linux-node1 ~]# systemctl restart cobblerd
[root@linux-node1 ~]# 
[root@linux-node1 ~]# 
[root@linux-node1 ~]# cobbler sync
task started: 2017-02-21_104452_sync
task started (id=Sync, time=Tue Feb 21 10:44:52 2017)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/p_w_picpaths
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
copying: /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
copying: /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying p_w_picpaths
generating PXE configuration files
generating PXE menu structure
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
[root@linux-node1 ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : debmirror package is not installed, it will be required to manage debian deployments and repositories

Restart cobblerd and then run 'cobbler sync' to apply changes.

六:DHCP配置

我们可以配置cobbler,使用cobber来管理dhcp服务,修改一下配置文件:

[root@linux-node1 ~]# vim /etc/cobbler/settings 
# set to 1 to enable Cobbler's DHCP management features.
# the choice of DHCP management engine is in /etc/cobbler/modules.conf
manage_dhcp: 1 #这里从0改成1,启动dhcp管理服务
[root@linux-node1 cobbler]# ls
auth.conf       cobbler_bash  dhcp.template     import_rsync_whitelist  ldap          mongodb.conf    power  reporting      rsync.template      settings        users.conf    version        zone_templates
cheetah_macros  completions   dnsmasq.template  iso                     modules.conf  named.template  pxe    rsync.exclude  secondary.template  tftpd.template  users.digest  zone.template
[root@linux-node1 cobbler]# vim dhcp.template 
# ******************************************************************
# 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;
option pxe-system-type code 93 = unsigned integer 16;
subnet 192.168.56.0 netmask 255.255.255.0 {
     option routers             192.168.56.2;#路由地址
     option domain-name-servers 192.168.56.2;#dns地址
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.56.100 192.168.56.254;
     default-lease-time         21600;#默认租期时间
     max-lease-time             43200;#最大租期时间
     next-server                $next_server;#tftp地址
     class "pxeclients" {
          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
          if option pxe-system-type = 00:02 {
                  filename "ia64/elilo.efi";
          } else if option pxe-system-type = 00:06 {
                  filename "grub/grub-x86.efi";
          } else if option pxe-system-type = 00:07 {
                  filename "grub/grub-x86_64.efi";
          } else {
                  filename "pxelinux.0";
          }
     }
}

执行cobbler sync 自动生成dhcp配置文件

[root@linux-node1 cobbler]# systemctl restart cobblerd
[root@linux-node1 cobbler]# cobbler sync
task started: 2017-02-21_105948_sync
task started (id=Sync, time=Tue Feb 21 10:59:48 2017)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/p_w_picpaths
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
trying hardlink /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
trying hardlink /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
copying: /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
trying hardlink /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
copying: /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying p_w_picpaths
generating PXE configuration files
generating PXE menu structure
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout: 
received on stderr: 
running: service dhcpd restart #这里会自动重启dhcp服务
received on stdout: 
received on stderr: Redirecting to /bin/systemctl restart  dhcpd.service

running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***

验证::::

这里查看dhcpd.conf会自动生成相同的配置文件信息

[root@linux-node1 cobbler]# cat /etc/dhcp/dhcpd.conf 
# ******************************************************************
# Cobbler managed dhcpd.conf file
# generated from cobbler dhcp.conf template (Tue Feb 21 15:59:49 2017)
# 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;

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

subnet 192.168.56.0 netmask 255.255.255.0 {
     option routers             192.168.56.2;
     option domain-name-servers 192.168.56.2;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.56.100 192.168.56.254;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                192.168.56.11;
     class "pxeclients" {
          match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
          if option pxe-system-type = 00:02 {
                  filename "ia64/elilo.efi";
          } else if option pxe-system-type = 00:06 {
                  filename "grub/grub-x86.efi";
          } else if option pxe-system-type = 00:07 {
                  filename "grub/grub-x86_64.efi";
          } else {
                  filename "pxelinux.0";
          }
     }

}

# group for Cobbler DHCP tag: default
group {
}

七、导入操作系统

我们使用上传工具,上传一个系统到cobbler文件系统下面,这里使用的C7做为测试

7.1上传os到opt目录下面

[root@linux-node1 opt]# ll -sh
total 4.1G
4.1G -rw-r--r-- 1 root root 4.1G Feb 21 11:10 CentOS-7-x86_64-DVD-1511.iso

7.2 导入distro,即导入一个发行版,发行版指的是操作系统

[root@linux-node1 opt]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   46G  5.6G   41G  13% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  8.6M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M  26% /boot
tmpfs                    378M     0  378M   0% /run/user/0
[root@linux-node1 opt]# mount -t iso9660 -o loop /opt/CentOS-7-x86_64-DVD-1511.iso /mnt 
mount: /dev/loop0 is write-protected, mounting read-only
[root@linux-node1 opt]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   46G  5.6G   41G  13% /
devtmpfs                 1.9G     0  1.9G   0% /dev
tmpfs                    1.9G     0  1.9G   0% /dev/shm
tmpfs                    1.9G  8.6M  1.9G   1% /run
tmpfs                    1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/sda1                497M  125M  373M  26% /boot
tmpfs                    378M     0  378M   0% /run/user/0
/dev/loop0               4.1G  4.1G     0 100% /mnt
[root@linux-node1 ~]# cobbler import --path=/mnt/ --name=c7.2-x86_64 --arch=x86_64
task started: 2017-02-21_134843_import
task started (id=Media import, time=Tue Feb 21 13:48:43 2017)
Found a candidate signature: breed=redhat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/c7.2-x86_64:
creating new distro: c7.2-x86_64
trying symlink: /var/www/cobbler/ks_mirror/c7.2-x86_64 -> /var/www/cobbler/links/c7.2-x86_64
creating new profile: c7.2-x86_64
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/c7.2-x86_64 for c7.2-x86_64
processing repo at : /var/www/cobbler/ks_mirror/c7.2-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/c7.2-x86_64
looking for /var/www/cobbler/ks_mirror/c7.2-x86_64/repodata/*comps*.xml
error launching createrepo (not installed?), ignoring
Exception occured: <type 'exceptions.IOError'>
Exception value: [Errno 2] No such file or directory: '/var/www/cobbler/ks_mirror/config/c7.2-x86_64.repo'
Exception Info:
  File "/usr/lib/python2.7/site-packages/cobbler/modules/manage_import_signatures.py", line 599, in yum_process_comps_file
    config_file = open(fname, "w+")

*** TASK COMPLETE ***
[root@linux-node1 ~]# ll /var/www/cobbler/ks_mirror/c7.2-x86_64/
total 296
-r--r--r-- 1 root root     14 Dec  9  2015 CentOS_BuildTag
dr-xr-xr-x 3 root root     33 Dec  9  2015 EFI
-r--r--r-- 1 root root    215 Dec  9  2015 EULA
-r--r--r-- 1 root root  18009 Dec  9  2015 GPL
dr-xr-xr-x 3 root root     54 Dec  9  2015 p_w_picpaths
dr-xr-xr-x 2 root root   4096 Dec  9  2015 isolinux
dr-xr-xr-x 2 root root     41 Dec  9  2015 LiveOS
dr-xr-xr-x 2 root root 204800 Dec  9  2015 Packages
dr-xr-xr-x 2 root root   4096 Dec  9  2015 repodata
-r--r--r-- 1 root root   1690 Dec  9  2015 RPM-GPG-KEY-CentOS-7
-r--r--r-- 1 root root   1690 Dec  9  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 root root   2883 Dec  9  2015 TRANS.TBL

7.3 指定profile,在导入发行版的时候可以通过–kickstart=KICKSTART_FILE指定profile文件,如果没有指定,可以在后期重新指定,需要将profile文件提前准备好,最好放在/var/lib/cobbler/kickstarts,因为这是cobbler默认的ks文件路径,如下:

#查看默认使用的ks文件,默认使用的是sample_end.ks
[root@linux-node1 kickstarts]# cobbler profile report
Name                           : c7.2-x86_64
TFTP Boot Files                : {}
Comment                        : 
DHCP Tag                       : default
Distribution                   : c7.2-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/sample_end.ks
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 : 
Internal proxy                 : 
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server Override                : <<inherit>>
Template Files                 : {}
Virt Auto Boot                 : 1
Virt Bridge                    : xenbr0
Virt CPUs                      : 1
Virt Disk Driver Type          : raw
Virt File Size(GB)             : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm
#上传一个自己写好的ks文件,并写入到profile文件配置里面
[root@linux-node1 kickstarts]# pwd
/var/lib/cobbler/kickstarts
[root@linux-node1 kickstarts]# ll
total 56
-rw-r--r--  1 root root 1519 Feb 21 13:59 CentOS-7.1-x86_64_cobbler.cfg
[root@linux-node1 kickstarts]# cobbler profile edit --name=c7.2-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7.1-x86_64_cobbler.cfg
[root@linux-node1 kickstarts]# cobbler profile report
Name                           : c7.2-x86_64
TFTP Boot Files                : {}
Comment                        : 
DHCP Tag                       : default
Distribution                   : c7.2-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/CentOS-7.1-x86_64_cobbler.cfg
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 : 
Internal proxy                 : 
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server Override                : <<inherit>>
Template Files                 : {}
Virt Auto Boot                 : 1
Virt Bridge                    : xenbr0
Virt CPUs                      : 1
Virt Disk Driver Type          : raw
Virt File Size(GB)             : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm

#修改内核配置
[root@linux-node1 kickstarts]# cobbler profile edit --name=c7.2-x86_64 --kopts='net.ifnames=0 biosdevname=0'
[root@linux-node1 kickstarts]# cobbler profile report
Name                           : c7.2-x86_64
TFTP Boot Files                : {}
Comment                        : 
DHCP Tag                       : default
Distribution                   : c7.2-x86_64
Enable gPXE?                   : 0
Enable PXE Menu?               : 1
Fetchable Files                : {}
Kernel Options                 : {'biosdevname': '0', 'net.ifnames': '0'}
Kernel Options (Post Install)  : {}
Kickstart                      : /var/lib/cobbler/kickstarts/CentOS-7.1-x86_64_cobbler.cfg
Kickstart Metadata             : {}
Management Classes             : []
Management Parameters          : <<inherit>>
Name Servers                   : []
Name Servers Search Path       : []
Owners                         : ['admin']
Parent Profile                 : 
Internal proxy                 : 
Red Hat Management Key         : <<inherit>>
Red Hat Management Server      : <<inherit>>
Repos                          : []
Server Override                : <<inherit>>
Template Files                 : {}
Virt Auto Boot                 : 1
Virt Bridge                    : xenbr0
Virt CPUs                      : 1
Virt Disk Driver Type          : raw
Virt File Size(GB)             : 5
Virt Path                      : 
Virt RAM (MB)                  : 512
Virt Type                      : kvm

#更改登录界面内容
[root@linux-node1 kickstarts]# vim /etc/cobbler/pxe/pxedefault.template 

DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://cobbler.github.io/
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT $pxe_timeout_profile

LABEL local
        MENU LABEL (local)
        MENU DEFAULT
        LOCALBOOT -1

$pxe_menu_items

MENU end


到此安装完毕

启动客户端测试

wKiom1itUAGAQv_YAAAI26F25FI729.png