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

实验准备

  • 一台centos7虚拟机,NAT模式IP:192.168.75.129
  • 一台空白虚拟机(模拟空白主机)
  • 确保虚拟机与宿主机互通,且虚拟机可连接外网
  • 安装过程中需要在网上在线更新,所以安装必须要有网络。

实验开始

首先rpm安装epel更新源源软件下载,在线自动下载更新源,此时我们就可以使用最新的软件包。

安装相关软件包(利用yum进行安装,直接解决依赖性关系)

安装的软件包如下

软件名 作用
Cobbler 用来快速建立 Linux 网络安装环境
Dhcp 为空白主机自动分配IP地址
Pykickstart 实现无人值守安装
Rsync 实现数据同步
Xinetd 提供访问控制、加强的日志和资源管理功能
tftp-server 提供引导镜像文件的下载
httpd 作为控制台程序运行

1.安装完成之后,修改配置文件(/etc/cobbler/settings/),启动http服务和cobbler服务,关闭防火墙和selinux防火墙。最后可用命令查看需更改的项目(需网络支持)

next_server: 192.168.235.129(本机ip)    //指定PXE位置
server: 192.168.235.129(本机ip)
manage_dhcp: 1                                              //管理dhcp启动
systemctl start httpd.service                           //开启http服务
systemctl start cobblerd.service                    //开启cobbler服务
systemctl stop firewalld                                  // 关闭防火墙
setenforce 0                                                    //关闭selinux防火墙
cobbler check                                                  //查询需要更改优化的项目

服务开启之后,可以用命令查看服务是否开启成功

systemctl status cobblerd.service //查看cobbler服务是否开启

2.开启tftp功能

vim /etc/xinetd.d/tftp

3.开启rsyncd服务 开启该项服务前需将服务添加到系统服务管理

systemctl enable rsyncd.service       //将服务添加到系统服务管理
systemctl start rsyncd.service            //开启服务

由于之前我们对cobbler进行了更改,这里我们就需要重启cobbler服务,然后再使用cobbler check查看需更改的项目,此处可看到我们更改过的项目已经不再显示。如果已经做了更改,cobbler check 查看仍存在,则说明更改未生效。

4.下载引导操作系统文件

cobbler get-loaders //下载引导操作系统文件

5.设置新创建系统的管理员密码 先检查系统中有没有openssl软件,如果系统中没有,则使用yum进行安装。

openssl passwd -1 -salt 'abc123' 'abc123'

复制生成的加密密码,添加到配置文件中(/etc/cobbler/settings)

设置DHCP

cobbler为DHCP提供了控制dhcp服务的模板,我们只需要直接在这个模板上进行更改,模板位置(/etc/cobbler/dhcp.template) DHCP修改完成之后要进行同步,将该配置模板同步到DHCP服务的配置文件中去

cobbler sync       //帮助同步生成DHCP配置文件

开启DHCP服务

systemctl restart dhcpd.service    //启动dhcpd服务

导入镜像文件

首先将镜像文件挂载到/mnt

mount /dev/sr0 /mnt  //挂载镜像到目录

导入镜像文件

cobbler import --path=/mnt/ --name=CentOS-7-x86_64 --arch=x86_64  //导入iso镜像
名称 解释
--path 挂载目录
--name 系统名称
--atch 系统位数

这里导入的ISO镜像文件比较大,所以需等待一段时间。 默认导入存放位置/var/www/cobbler/ks_mirror/CentOS-7-x86_64 ,我们可以进入该目录查看一下。 查看内核和初始化文件是否在在tftp server 共享目录中,我们使用tree命令来查看,系统默认没有安装,使用yum安装

yum install tree  //安装tree
tree /var/lib/tftpboot/images   //查看文件是否存在

此时我们已经可以进行自动装机了,但是为确保万无一失,我们可以将之前的服务都重新启动,确保服务都开启。

systemctl restart cobblerd.service
systemctl restart dhcpd.service
systemctl restart xinetd.service
systemctl restart httpd.service

最后再用“cobbler check”查看需做更改的项目,确保只剩三项无需修改的项目

自动装机

在vmworkstation中创建一台空白的虚拟机进行测试,创建方法和Red Hat Enterprise 6.5 linux 异曲同工,需要注意的是在选择网络模式的时候我们要选择NAT模式。其他的设置基本一致。可以参考Linux虚拟机的创建 启动新创建的空白虚拟机,即可开始自动化安装系统,不过该种安装方式安装的系统没有图形化界面,需要自己手动安装。