首页 » Linux基础 » Cobbler实现自动化部署

Cobbler实现自动化部署

 

Cobbler,翻译为中文的意思就是补鞋匠,是一个Linux服务器快速网络安装的服务。该工具使用python开发,小巧轻便(才15k行python代码),可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS,TFTP、RSYNC以及yum仓库、构造系统ISO镜像。

Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。

Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。

Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。

Cobbler客户端Koan支持虚拟机安装和操作系统重新安装,使重装系统更便捷。

用Cobbler实现批量部署并配置大量终端是很方便的。

Cobbler配置大概分为以下几个步骤:

准备基础环境,安装相关软件包,修改相关软件的配置文件,导入操作系统镜像,配置ks.cfg。本次实验是在红帽6.7系统完成的。

一.准备工作:关闭防火墙,关闭selinux,查看IP地址,配置epel源,因为安装Cobbler需要用到epel源。

[root@localhost ~]# lsb_release -d
Description: Red Hat Enterprise Linux Server release 6.7 (Santiago)
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]# setenforce 0
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# lsb_release -d
Description: Red Hat Enterprise Linux Server release 6.7 (Santiago)
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]# service iptables stop
[root@localhost ~]# service iptables status
iptables:未运行防火墙。
[root@localhost ~]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:AB:55:D8 
 inet addr:192.168.182.128 Bcast:192.168.182.255 Mask:255.255.255.0
 inet6 addr: fe80::20c:29ff:feab:55d8/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
 RX packets:996 errors:0 dropped:0 overruns:0 frame:0
 TX packets:542 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000 
 RX bytes:86034 (84.0 KiB) TX bytes:80083 (78.2 KiB)

二.安装cobbler等软件包

[root@localhost ~]#  yum install cobbler cobbler-web pykickstart httpd dhcp tftp-server -y
cobbler #cobbler程序包
cobbler-web #cobbler的web服务包
pykickstart #cobbler检查kickstart语法错误
httpd #Apache web服务
dhcp #dhcp服务
tftp-server #tftp服务
[root@localhost ~]# 
[root@localhost ~]# rpm -q cobbler
cobbler-2.6.11-1.el6.x86_64
[root@localhost ~]# 

三.设置相关软件开机自启,开启相关服务

[root@localhost ~]# chkconfig cobblerd on
[root@localhost ~]# chkconfig httpd on
[root@localhost ~]# chkconfig xinetd on
[root@localhost ~]# chkconfig tftp on
[root@localhost ~]# chkconfig dhcpd on
[root@localhost ~]# chkconfig rsync on
四.启动httpd和Cobbler服务,执行cobbler check,按照提示进行配置
[root@localhost ~]# service httpd restart
停止 httpd: [确定]
正在启动 httpd:httpd: Could not reliably determine the server's fully qualified domain name, using ::1 for ServerName
 [确定]
[root@localhost ~]# service cobblerd start
Starting cobbler daemon: [确定]
[root@localhost ~]# 
这里需要修改apache的配置文件,添加一行ServerName localhost:80 ,在重启apache服务器
[root@localhost ~]# service httpd restart
停止 httpd: [确定]
正在启动 httpd: [确定]
[root@localhost ~]# 
执行cobbler check,检查配置
[root@localhost ~]# 
[root@localhost ~]# 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 : 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.
5 : file /etc/xinetd.d/rsync does not exist
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
7 : 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
8 : 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.
[root@localhost ~]# 
接下来按照提示依次解决上述问题:
1.2.修改配置文件/etc/cobbler/settings,指定server和next_server的IP地址,这里都指向本机的IP地址
cp /etc/cobbler/settings{,.bak}
vim /etc/cobbler/settings
next_server: 192.168.182.128
server: 192.168.182.128

3.修改selinux文件中selinux=diabled
4.执行get-loaders命令,获取boot-loaders文件

[root@localhost ~]# cobbler get-loaders
task started: 2017-07-27_152156_get_loaders
task started (id=Download Bootloader Content, time=Thu Jul 27 15:21:56 2017)
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 wish to update
downloading http://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
downloading http://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
downloading http://cobbler.github.io/loaders/elilo-3.8-ia64.efi to /var/lib/cobbler/loaders/elilo-ia64.efi
downloading http://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
downloading http://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
downloading http://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
downloading http://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
downloading http://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
*** TASK COMPLETE ***

5.经查看该文件已经存在忽略这个报错
6.安装debmirror package

yum install -y debmirror

7.生成密码来取代默认的密码,更安全,在配置文件中使用生成的密码

[root@localhost ~]# openssl passwd -1 -salt 'fanxiaomo' '123456'
$1$fanxiaom$OvWt7lOfrNpijbLN3j69d1
[root@localhost ~]# vim /etc/cobbler/settings

8.安装cman和fence-agents包


[root@localhost ~]# yum install cman fence-agents -y

五.执行,cobbler sync命名,重启cobbler服务,再次检查

[root@localhost ~]# cobbler sync
task started: 2017-07-27_152911_sync
task started (id=Sync, time=Thu Jul 27 15:29:11 2017)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/grub/images
copying bootloaders
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
copying: /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
copying: /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
copying: /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying images
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@localhost ~]# 
[root@localhost ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : 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
2 : file /etc/xinetd.d/rsync does not exist
3 : comment out 'dists' on /etc/debmirror.conf for proper debian support
4 : comment out 'arches' on /etc/debmirror.conf for proper debian support

发现只剩下4个问题,前两个可以暂时忽略,修改/etc/debmirror.conf文件想报错的两行注释掉,重启服务,再次检查没错误之后同步配置


[root@localhost ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : 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
2 : file /etc/xinetd.d/rsync does not exist

Restart cobblerd and then run 'cobbler sync' to apply changes.
[root@localhost ~]# cobbler sync
task started: 2017-07-27_153626_sync
task started (id=Sync, time=Thu Jul 27 15:36:26 2017)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
copying: /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
copying: /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
copying: /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying images
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@localhost ~]#
五.配置dhcp,修改一下文件添加内容如下

[root@localhost ~]# vim /etc/cobbler/dhcp.template 
subnet 192.168.182.0 netmask 255.255.255.0 {
 option routers 192.168.182.254;
 option domain-name-servers 202.106.0.20;
 option subnet-mask 255.255.255.0;
 range dynamic-bootp 192.168.182.100 192.168.182.200;
 next-server 192.168.182.128;
 filename "/data/sys/kickstart/ks.cfg";
 next-server 192.168.182.128;
 filename "pxelinux.0";
}

六.修改配置文件 /etc/cobbler/settings,修改一下内容,同步配置,检查

pxe_just_once: 1
manage_dhcp: 1
[root@localhost ~]# cobbler sync
task started: 2017-07-27_154942_sync
task started (id=Sync, time=Thu Jul 27 15:49:42 2017)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
copying: /var/lib/cobbler/loaders/pxelinux.0 -> /var/lib/tftpboot/pxelinux.0
copying: /var/lib/cobbler/loaders/menu.c32 -> /var/lib/tftpboot/menu.c32
copying: /var/lib/cobbler/loaders/yaboot -> /var/lib/tftpboot/yaboot
copying: /usr/share/syslinux/memdisk -> /var/lib/tftpboot/memdisk
copying: /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
copying: /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying images
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
received on stdout: 正在启动 dhcpd:[确定]

received on stderr: 
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@localhost ~]# cobbler check
The following are potential configuration items that you may want to fix:

1 : 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
2 : file /etc/xinetd.d/rsync does not exist

Restart cobblerd and then run 'cobbler sync' to apply changes.
[root@localhost ~]#

七.导入镜像文件

[root@localhost ~]# ls /mnt
EFI EULA_es EULA_ko HighAvailability media.repo repodata ScalableFileSystem
EULA EULA_fr EULA_pt images Packages ResilientStorage Server
EULA_de EULA_it EULA_zh isolinux README RPM-GPG-KEY-redhat-beta TRANS.TBL
EULA_en EULA_ja GPL LoadBalancer release-notes RPM-GPG-KEY-redhat-release
[root@localhost ~]# cobbler import --path=/mnt/ --name=rhel6.7 --arch=x86_64
task started: 2017-07-27_155217_import
task started (id=Media import, time=Thu Jul 27 15:52:17 2017)
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/rhel6.7-x86_64:
- Warning : Multiple archs found : ['x86_64', 'i386']
creating new distro: rhel6.7-x86_64
trying symlink: /var/www/cobbler/ks_mirror/rhel6.7-x86_64 -> /var/www/cobbler/links/rhel6.7-x86_64
creating new profile: rhel6.7-x86_64
creating new distro: rhel6.7-i386
trying symlink: /var/www/cobbler/ks_mirror/rhel6.7-x86_64 -> /var/www/cobbler/links/rhel6.7-i386
creating new profile: rhel6.7-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/rhel6.7-x86_64 for rhel6.7-x86_64
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer/repodata
starting descent into /var/www/cobbler/ks_mirror/rhel6.7-x86_64 for rhel6.7-i386
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/HighAvailability/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/ScalableFileSystem/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/Server/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/ResilientStorage/repodata
processing repo at : /var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer
need to process repo/comps: /var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer
looking for /var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/rhel6.7-x86_64/LoadBalancer/repodata
*** TASK COMPLETE ***

八.修改配置文件ks.cfg

[root@localhost ~]# cd /var/lib/cobbler/
config/ loaders/ scripts/ web.ss
distro_signatures.json lock snippets/ webui_sessions/
kickstarts/ .mtime triggers/ 
[root@localhost ~]# cd /var/lib/cobbler/kickstarts/
[root@localhost kickstarts]# ls
default.ks install_profiles sample_autoyast.xml sample_esxi4.ks sample_old.seed
esxi4-ks.cfg legacy.ks sample_end.ks sample_esxi5.ks sample.seed
esxi5-ks.cfg pxerescue.ks sample_esx4.ks sample.ks
[root@localhost kickstarts]# vim rhel6.7-x86_64.cfg
@development
@dial-up
@hardware-monitoring
@performance
@server-policy
sgpio
device-mapper-persistent-data
systemtap-client
tree
lrzsz
telnet
nmap
dos2unix
%end

%post --nochroot
$SNIPPET('log_ks_post_nochroot')
%end

%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('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
%end


九.查看镜像,指定ks配置文件

[root@localhost kickstarts]# cobbler list
distros:
 rhel6.7-i386
 rhel6.7-x86_64

profiles:
 rhel6.7-i386
 rhel6.7-x86_64

systems:

repos:

images:

mgmtclasses:

packages:

files:
[root@localhost kickstarts]# cobbler profile edit --name=rhel6.7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/rhel6.7x86_64.cfg
exception on server: 'kickstart not found: None'
[root@localhost kickstarts]# cobbler profile edit --name=rhel6.7-x86_64 --kickstart=/var/lib/cobbler/kickstarts/rhel6.7-x86_64.cfg
[root@localhost kickstarts]# 

十.同步一下,基本上配置就完成了,可以修改一下开机画面的提示vim /etc/cobbler/pxe/pxedefault.template
MENU TITLE Cobbler | fanxiaomo
再次同步,新建一台虚拟机测试,如下图

大功告成!!!

原文链接:Cobbler实现自动化部署,转载请注明来源!

1