使用Cobbler批量安装操作系统

在实际生产中,我们常常会遇到这样一种情况,就是我们需要同时安装几十甚至上百台服务器,如果我们使用U盘或者光盘的方式的话,或许老板直接就将我们辞退了。这里我们介绍一种能够实现自动化安装操作系统的方式。
我们搭建Cobbler的实验环境是基于CentOS 7.3 -1611 的基础的。
同时这个实验可以帮助你一步步的完成所有的操作,不过,如果你想自定义安装的内容的话,建议你先看本文 自定义kickstart文件 部分,以便有所印象。

Cobbler 简介

Cobbler项目是在2008年由RedHat发布的网络安装服务器套件。是一种快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red HatFedora、CentOS、Debian、UbuntuSUSE,也可以支持网络安装Windows。

PXE 是由Intel开发的技术,基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统。也可以实现通过网络批量的安装操作系统。

Cobbler 正是基于PXE的二次封装,将多种安装参数封装到一个菜单当中。Cobbller提供了CLI和WEB两种安装方式,使用起来更加的友好。

Cobbler 工作流程

关于Cobbler的工作流程,可以用下面的图进行概括。

Cobbler的工作原理

实验环境准备

因为我们正在搭建的是网络服务,所以需要有至少两台主机,其中一台主机承担服务器的角色。我在在这个实验中,使用的CentOS 7 搭建的网络服务,承担Server角色。

关闭防火墙和SELinux

防火墙和SELinux 在实验过程中有可能会导致意想不到的问题,所以我们这里将其关闭,实际生产中,请根据自己的实际情况进行调整。至于关闭防火墙和SELinux就不列出了,这很简单。

安装Cobbler

Cobbler 默认不在附带在光盘中,所以要通过EPEL源进行下载安装。 配置好epel源以后,执行yum install cobbler 就可以安装Cobbler了。
在安装好Cobbler之后,我们就会发现,Cobbler还附带安装了很多其他的服务,如下图所示 。这也就是解释了在Cobbler的工作流程中为什么能够用到那么多服务,从图中可以看出,还缺少DHCP服务,所以接下里我们也要安装一下。其中,syslinux 就是安装的就是PXE服务。

Cobbler附带的服务

设置常用服务

将Cobbler服务设为开机启动

systemctl enable  cobblerd systemctl start  cobblerd

将tftp 设为开机启动

systemctl enable  tftp systemctl start  tftp

将http 设为开机启动

systemctl enable  httpd systemctl start  httpd

安装DHCP服务 为稍后使用Cobbler来管理DHCP做准备

在稍后,我们会利用Cobbler来自动管理DHCP。

yum install  dhcp 运行Cobbler Check 进行环境检查

Cobbler Check 命令能够非常迅速的帮助我们找到目前环境中还缺少的配置,然后我们根据这里的提示进行相应的配置调整。 这里出现了很多的问题,看到之后不要惊慌,根据提示一点一点去处理就好了。另外,因为实际生产环境中,所有的主机都会有所不同,所以这里的提示信息应该也会有所不同,我们这里只是根据实验环境进行解决,其余的问题,可以留言一起讨论。

# 执行Cobbler check 检查目前环境还缺少哪些东西 [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 : 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 Restart cobblerd and then run 'cobbler sync' to apply changes.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13384.html