Cobbler是PXE的二次封装,使用Python语言开发, 可以用来快速建立 Linux 网络安装环境,它已将 Linux 网络安装的技术门槛,从大专以上文化水平,成功降低到初中以下,连补鞋匠都能学会。
  • cobbler配置过程需要基于PXE环境,cobbler是pxe环境的二次封装(演示环境centos7,centos6请自行完成)
一:安装cobbler、httpd
yum install -y cobbler httpd
二:启动cobbler、httpd
systemctl start cobblerd.service
systemctl start httpd.service
三:创建cobbler的配置环境
cobbler check
 
四:解决报错信息
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 : change 'disable' to 'no' in /etc/xinetd.d/tftp
 
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 : enable and start rsyncd.service with systemctl
 
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
 
五:解决错误( 注意每一个问题解决要查看效果,需要重启cobblerd服务)
 
(1)解决第一个问题
这里需要将/etc/cobbler/settings这个文件中的server这一项的主机地址改为 server: 192.168.10.10
 
(2)解决第二个问题
这里需要将/etc/cobbler/settings这个文件中的next_server这一项的主机地址改为 next_server: 192.168.10.10
 
(3)解决第三个问题
启动rsync, 让其开机自启: systemctl start rsyncd.service,systemctl enable rsyncd.service
 
(4)解决第四个问题
在/etc/xinetd.d/tftp配置文件中修改 disable = no ,让tftp服务开机自启动 , 再重启tftp服务,systemctl start tftp.socket ,systemctl enable tftp.socket
 
(5)解决第五个问题
在/etc/cobbler/settings这个文件中的default_password_crypted: 后面的密码改掉,先创建一个用户,给这个用户设定密码,然后就将这个用户的密码贴在这个选项的后面就是
 
(6)解决第六个问题
yum install -y debmirror
将/etc/debmirror.conf文件的dists和arches那两行注释掉
 
(7)解决第七个问题
运行cobbler命令,下载对于的安装包
cobbler get-loaders
 
(8)解决第八个问题
yum install -y fence-agents
 
六:解决全部的cobbler配置问题之后,最后再重启cobbler,检查
systemctl restart cobblerd.service
cobbler check
No configuration problems found. All systems go
 
七:配置好dhcp、tftp之后,开始配置cobbler,(dhcp、tftp、服务的配置与PXE环境一样)
确保dhcp、tftp、httpd服务都已经启动
 
八:准备创建distro
(1)挂载centos 7的光盘镜像到/media/cdrom目录下
mount -r /dev/cdrom /media/cdrom/
 
(2)使用cobbler import 命令生成一个distro
cobbler import --name="CentOS-7_x86_64-1611" --path=/media/cdrom
 
(3)查看生成的cobbler distro
[root@7 ks_mirror]# cobbler distro list
CentOS-7-1611-x86_64
 
(4)查看生成的cobbler profile
[root@7 ks_mirror]# cobbler profile list
CentOS-7-1611-x86_64
 
(5)同步cobbler 或 重启
cobbler sync 或 systemctl restart cobblerd
 
(6)此时cobbler已经简单部署完毕,在内网192.168.10.0网段启动一个虚拟机,选择网卡启动,可以像PXE环境一样,可以直接安装系统了。
 
九:可以给安装的引导选项改名,就是给profile改名
cobbler profile rename --name=CentOS-7-1611-x86_64 --newname=RedHat-minimal
 
十:在/var/lib/cobbler/kickstarts/目录下拷贝sample_end.ks文件,命名为self.ks
cd /var/lib/cobbler/kickstarts/
cp sample_end.ks self.ks
修改一下self.ks文件,可以在里面修改自己自定义的设置,比如说:添加安装的包组
 
十一:基于现有的kickstart文件创建一个profile
cobbler profile add --name=RedHad-self --distro=CentOS-7-1611-x86_64 --kickstart=/var/lib/cobbler/kickstarts/self.ks
 
十二:查看profile
[root@7 ~]# cobbler profile list
RedHad-minimal-self
RedHad-self
 
十三:同步一下,每一次修改完成都要做一次同步
cobbler sync
 
十四:启动一台机器,然后安装F12进入boot sequence选项,按 l 键选择LAN启动
 
十五:如果想删除一个profile
cobbler profile remove --name=RedHad-minimal-self
cobbler sync
05-11 17:13