cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立Linux系统的网络安装环境。

Cobbler还提供了DHCP管理、YUM源管理、电源管理等功能,初次之外还支持命令行管理、WEB界面管理,并且提供了API接口,方便进行二次开发

cobbler和pxe高效批量网络装机都是自动化安装,但是cobbler是pxe的二次封装,在使用上更加方便,集成多个软件进行实现。

软件名 作用
cobbler 用来快速建立linux网络安装环境
cobbler web 网页页面管理
dhcp 给空白主机自动分配IP地址
tftp-server 提供引导镜像文件下载
pykickstart 实现无人值守安装
httpd 作为控制台程序运行
rsync 远程同步管理,实现数据同步
xinetd 提供访问控制、加强日志和资源管理功能

环境部署:

  • Centos7服务器(NAT模式,IP:192.168.254.129)
  • epel扩展源软件包: 源软件包密码:16su

环境部署

1.安装epel扩展源软件包(cobbler相关软件包是由epel源提供的0

[root@localhost opt]# rpm -ivh epel-release-latest-7.noarch.rpm

2.加载yum源

[root@localhost ~]# yum list

3.安装cobbler、cobbler-web、dhcp、tftp-server、pykickstart、httpd、rsync、xinetd、软件包

[root@localhost opt]# yum install cobbler cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd -y

4.修改cobbler的配置文件

[root@localhost ~]# vim /etc/cobbler/settings

修改以下内容

server: 192.168.254.129    #指定tftp服务器的地址
next_server: 192.168.254.129   #指定cobbler服务器地址
manage_dhcp: 1    # dhcp的管理服务(1:开启 0:关闭)

5.启动httpd和cobbler服务,关闭防火墙和selinux。

[root@localhost ~]# systemctl start cobblerd.service    #开启cobbler服务
[root@localhost ~]# systemctl start httpd.service     #开启httpd服务
[root@localhost ~]# systemctl stop firewalld.service       #关闭防火墙
[root@localhost ~]# setenforce 0     #关闭增强功能

6.使用 cobbler check对cobbler做检查设置,哪些需要优化

[root@localhost ~]# cobbler check

----------需要优化的部分--------
Cobbler自动装机_第1张图片

7.开启tftp服务

[root@localhost opt]# vim /etc/xinetd.d/tftp

修改以下内容

disable = no  (将yes改为no,开启tftp服务)

8.开启rsyncd服务

[root@localhost opt]# systemctl start rsyncd.service    #开启服务
[root@localhost opt]# systemctl enable rsyncd.service  #将服务添加系统服务管理

9.修改cobbler的管理员密码,使用以下命令生成盐值加密密码

[root@localhost opt]# openssl passwd -1 -salt 'benet' 'abc123'    #此命令生成盐值加密密码

生成的盐值加密密码

$1$benet$2zR7T1EpGyJk/c1PGo5jy1

把盐值加密密码复制到cobbler的配置文件settings文件中

[root@localhost opt]# vim /etc/cobbler/settings  

修改以下内容

default_password_crypted: "$1$benet$2zR7T1EpGyJk/c1PGo5jy1"

10.下载引导安装程序

[root@localhost opt]# cobbler get-loaders

11.重启cobbler和httpd服务。

[root@localhost opt]# systemctl restart cobblerd.service
[root@localhost opt]# systemctl restart httpd.service

重启服务后,我们可以再次使用cobbler check来查看优化后的情况,不显示说明优化成功,反之则优化未生效,下面的3条是可以忽略的。

Cobbler自动装机

12.编辑被cobbler所管理的dhcp模版

[root@localhost opt]# vim /etc/cobbler/dhcp.template

修改以下内容

subnet 192.168.254.0 netmask 255.255.255.0 {    修改254网段
     option routers             192.168.254.1;   #修改网关
     option domain-name-servers 192.168.254.2;      #修改DNS
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.254.120 192.168.254.150;     #修改地址池

13.使用cobbler sync同步生成DHCP配置文件

[root@localhost opt]# cobbler sync

14.开启dhcp服务

[root@localhost opt]# systemctl start dhcpd.service

15.导入镜像文件

挂载镜像文件到/mnt目录下

[root@localhost opt]# mount /dev/sr0 /mnt

导入ISO镜像文件(文件较大,要等一会)

[root@localhost opt]# cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64
命令 注释
path 挂载目录
name 系统名称(自定义)
atch 系统位数

重启所有的服务

[root@localhost CentOS-7-x86_64]# systemctl restart cobblerd.service 
[root@localhost CentOS-7-x86_64]# systemctl restart dhcpd.service 
[root@localhost CentOS-7-x86_64]# systemctl restart httpd.service 
[root@localhost CentOS-7-x86_64]# systemctl restart xinetd.service

默认导入的存放位置(可以查看一下)

[root@localhost opt]# cd /var/www/cobbler/ks_mirror/CentOS-7-x86_64/

Cobbler自动装机

查看导入结果

[root@localhost CentOS-7-x86_64]# cobbler list

Cobbler自动装机_第2张图片

查看发行版本

[root@localhost CentOS-7-x86_64]# cobbler distro list

查看内核和初始化文件是否在tftp server中,用tree命令查看。(系统默认没有安装,可以用yum安装)

[root@localhost CentOS-7-x86_64]# yum install tree -y

查看内核和初始化文件在tftp server 共享目录

[root@localhost CentOS-7-x86_64]# tree /var/lib/tftpboot/images

Cobbler自动装机_第3张图片

ks默认文件存放位置

/var/lib/cobbler/kickstarts/sample_end.ks

客户端安装完成后只具备字符界面, 登录账户 root 密码abc123

Cobbler自动装机_第4张图片

Cobbler自动装机_第5张图片
Cobbler自动装机_第6张图片
Cobbler自动装机_第7张图片
选择完要安装的菜单后就等待安装完成吧.

cobbler web界面管理设置

[root@localhost CentOS-7-x86_64]# htdigest -c /etc/cobbler/users.digest Cobbler jack  #给cobbler添加一个用户
输入两次确认密码 例如:123123

重启cobbler和httpd服务

[root@localhost CentOS-7-x86_64]# systemctl restart cobblerd.service 
[root@localhost CentOS-7-x86_64]# systemctl restart httpd.service

Cobbler自动装机_第8张图片
Cobbler自动装机_第9张图片

总结:安装时在选择网络模式的时候要选择NAT模式,配置完成为了避免漏掉未开启的服务,所有服务重启开启一遍,安装完成后的系统时最小化安装,如需要图形化界面你可以手动安装。