前言:
基于上篇的内容,我们就已经可以搭建一个全自动化安装 centos 的服务了。不过如果我们想让它同时支持各种系统的安装,实现起来就比较复杂了。不同的系统,要用不同的引导启动 文件来安装,且还有不同的安装源以及 kickstart 文件等等。既然是复杂得事情,肯定能通过某种工具简化,而此次我们用到的就是传说中的 cobbler 来管理各个不同的源,pxe 加载的内核文件等等。Let's do it!
正文:
老规矩,先描述一下加入 cobbler 以后整体的工作流程,已经 cobbler 能实现的功能。当一个需要安装系统的机器启动,会先从网络中 dhcp 服务器获取 ip 地址,以及获知 pxe 所处的 tftp 地址和文件,然后加载一个小的 linux 系统,从某个源获取安装程序,根据 kickstart 文件安装操作系统,虽然 dhcp 这个东东也可以让 cobbler 来管理,不过博主还是喜欢让它独立出来。默认 cobbler 会管理我们的 tftp 服务,以及 http 提供的源,所以,除了 dhcp 以外的所有流程,都可以通过 cobbler 管理以让整个实现更加简便~ 话不多说, 开战!
首先得安装所需要的程序配置基本的服务,在上篇博客介绍到的服务我们讲不再介绍,请自行查看上篇博客,我们依然会用到,tftp,dhcp,http,syslinux 程序。除了之前所需要的程序,我们还需要用到另外两个:cobbler 和 rsync(这里注意一下,cobbler 是由 epel 源提供的哟)
- yum install cobbler rsync -y
我们得得确保我们的 tftp,dhcp,http 已经启动!并能提供服务 d。我们还得关闭 selinux。设置 / etc/selinux/config 文件
- #/etc/selinux/config
- SELINUX=disabled
启动 cobbler 服务
- systemctl start cobbler #centos7系统哦
我们还得设置一下 cobbler 的配置文件:/etc/cobbler/settings, 下面只显示修改过的部分
- server: 192.168.6.100 #设置提供cobbler服务的主机ip
- next_server: 172.16.6.100 #提供pxe服务的主机ip
- default_passwd_crypted: $1$478cc085$Ppcqhrk7rPzGR5XqWx4iu0 #重新设置密码
上面那个密码我们得从新设置一下,我们可以用 openssl 生成密码
- openssl passwd -1 -salt $(openssl rand -hex 4)
我们还得为 cobbler 提供安装系统的那个 pxe 相关的文件,保存到 / var/lib/cobbler/loaders 目录下
- cp / usr / share / syslinux / {
- pxelinux.0,
- menu.c32
- } /
- var / lib / cobbler / loaders /
然后我们来配置安装源,不过在生成源之前我们得介绍几个重要的组建
1. 是我们的 distro,这相当于我们的安装源,我们可以根据不同的系统创建不同的 distro,此处推荐通过 import 安装镜像来构架 distro。假如我们要安装 centos6 系统,并把这个 distro 命名为 centos-6.5-x86_64
- cobbler import --name=centos-6.5-x86_64 --path=/media/cdrom #一定要确定centos安装盘已挂载到/media/cdrom目录下
此过程是把安装盘的文件复制到 cobbler 对应的文件中,以构成一个 distro
2.profile,cobbler 使用 profile 来为特定的需求类别提供所需要安装配置,我们根据上面的 distro 创建一个 profile
- cobbler profile add --name=centos-6.5-x86_64-basic --distro=centos-6.5-x86_64
默认情况下,cobbler 会生成 pxe 的 default 文件和 kickstart 文件,默认应该是最小话安装的,如果我们想要指定自己的 kickstart 文件可以这样:
- cobbler profile add --name=centos-6.5-x86_64-basic --distro=centos-6.5-x86_64 --kickstart=/tmp/centos6.cfg
到此我们的 cobbler 就配置完了。有木有很简单!!!!现在我们同步 cobbler 的数据到硬盘上。这个步骤一定不能忘!!!!!不然安装过程会失败!!!命令如下
- systemctl restart cobbler
- cobbler sync #同步数据
到此,我们就可以测试了!!!以下的可以不看~~~
来源: