本文记录了我使用Cobbler批量安装部署Linux和Windows系统的过程,文章主要分为三部分:Cobbler服务端的安装配置、Linux发行版CentOS和Ubuntu的自动安装部署、Windows 7系统的自动安装部署。这里是第一部分关于Cobbler服务端的安装配置,第二部分:使用Cobbler批量部署Linux和Windows:CentOS/Ubuntu批量安装(二)、第三部分:使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)

批量部署操作系统的相关环境

Cobbler服务端相关

操作系统:

CentOS Linux release 7.4 ,不推荐Debian/Ubuntu系列,原因是Cobbler是由RedHat公司开发,RedHat会使得Cobbler在RedHat/CentOS保持更新迭代,从而兼容易用,而Debian/Ubuntu系列则会在适配方面处于滞后状态。实际情况是,Cobbler目前有三个大版本,分别为2.4.x、2.6.x、2.8.x,在CentOS 7上yum安装的版本为2.8.2,而在Ubuntu 16.04上apt安装的版本为2.4.1,基本上是最“古老”的版本了,并且Cobbler官网原先还提供2.4.x和2.6.x的deb安装包,2.8.x版本之后不再提供。另外,2.4.x版本在部署的过程中会从指定域名下载一些数据,而该域名已经被Cobbler废弃,因此无法解析DNS域名,导致安装部署出现问题。

CentOS发行版

对于CentOS发行版的安装测试,我测试了CentOS 6.6 x64和CentOS 7.4 x64,这两个版本都是没有问题的,32位版本没有测试过。

Ubuntu发行版

对于Ubuntu发行版发行版的安装测试,我测试了Ubuntu 16.04,该版本没有问题,但是Ubuntu 14.10版本则不行,在导入过程中会因失败而中止,最终查找原因是Cobbler会对每个发行版版本进行相关的签名校验,如果不支持该版本则会报错。可以通过下面的命令进行查看:

cobbler signature report --name=ubuntu

结果如下:

从截图中可以看到,并没有发行版Ubuntu 14.10 (Utopic Unicorn)的签名,因此该版本不被支持,推测该版本是短期支持版本,所以不被支持。

Windows发行版

对于Windows发行版,只测试了Windows 7 x64 SP1旗舰版( cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso ),Windows系统的自动安装需要配合相关的Autounattend.xml自动应答文件进行。

接下来开始具体的配置说明。

一、Cobbler服务端环境部署

Cobbler体系结构示意图:

Cobbler组件:

  • 发行版(distro) :表示一个操作系统,它承载了内核和initrd的信息,以及内核等其他数据。
  • 仓库 (repository):保存了一个yum或者rsync仓库的镜像信息。
  • 配置文件(profile):包含了一个发行版(distro),一个kickstart文件以及可能的仓库(repository),还包含了更多的内核参数等其他数据。
  • 系统(system):表示要定制的具体客户机器,它包含了一个配置文件或一个镜像,还包含了ip和mac地址,电源管理(地址,凭据,类型)以及更为专业的数据信息。
  • 镜像(image):可替换一个包含不属于此类别的文件的发行版对象(eg: 无法作为内核和initrd的对象)。

以上各个组件中, 发行版和配置文件为必须配置项。发行版distro 表示具体要导入安装的系统,配置文件profile 表示对应系统的配置,系统system 则可以定制某一台具体的机器安装,相当于一条数据库记录,可以省略。

Cobbler工作流程:

Server端 

第一步,启动Cobbler服务 
第二步,进行Cobbler错误检查,执行cobbler check命令 
第三步,进行配置同步,执行cobbler sync命令 
第四步,复制相关启动文件文件到TFTP目录中 
第五步,启动DHCP服务,提供地址分配 
第六步,DHCP服务分配IP地址 
第七步,TFTP传输启动文件 
第八步,Server端接收安装信息 
第九步,Server端发送ISO镜像与Kickstart文件

Client端 
第一步,客户端以PXE模式启动 
第二步,客户端获取IP地址 
第三步,通过TFTP服务器获取启动文件 
第四步,进入Cobbler安装选择界面 
第五步,客户端确定加载信息 
第六步,根据配置信息准备安装系统 
第七步,加载Kickstart文件 
第八步,传输系统安装的其它文件 
第九步,进行安装系统

环境:CentOS 7.4 x86_64 minimal 全新纯净系统一台,root 权限 。使用 cobbler 服务时,请保持防火墙关闭 

  • 安装Cobbler
yum update -y
yum install epel-release -y
yum update -y
yum install cobbler dhcp -y

因为默认的仓库中没有 cobbler,所以需要安装 epel-release 软件来额外配置仓库源,cobbler会在PXE安装过程中为待安装客户机器分配IP地址,因此还需要安装 DHCP 服务。在正确安装 cobbler 之后,可以通过 cobbler 相关命令来查看和配置,如下:

默认安装后,cobbler 服务还没有启动,使用相关命令会报错,需要关闭防火墙并启动 cobbler,并且应当将其设置为开机自启该服务。如下:

setenforce  #临时关闭,重启后失效,需重新关闭
vi /etc/selinux/config # ==> SELINUX=disabled 禁用
service firewalld stop #临时关闭防火墙,如有iptables,也一并关闭,重启后失效,需重新关闭
systemctl disable firewalld
systemctl start cobblerd
systemctl enable cobblerd
  • Cobbler检查

启动服务后,开始进行相应检查。如下:

cobbler check

该命令执行后,会报告一个错误,如下:

错误提示 HTTP 服务没有运行,需要启动 HTTP,并且应当将其设置为开启自启服务。如下:

systemctl start  httpd
systemctl enable httpd

再次检查,如下:

依次解决上面的错误:

问题1、2:
修改配置文件 /etc/cobbler/settings

server: 192.168..x #修改为cobbler server端所在机器IP
next_server: 192.168..x #修改为cobbler server端所在机器IP

问题3:

开启 tftp 服务

vi /etc/xinetd.d/tftp # ==> disable = no
systemctl start tftp
systemctl enable tftp

问题4:

执行下列命令以下载网络引导文件进行修复

cobbler get-loaders

问题5:

开启 rsync 服务

systemctl start  rsyncd
systemctl enable rsyncd

问题6:

安装 debmirror

yum install debmirror -y

问题7:

安装 pykickstart

yum install pykickstart -y

问题8:

修改配置文件 /etc/cobbler/settings

default_password_crypted: "$1$root$j0bp.KLPyr.u9kgQ428D10"

上面的加密密码使用下面的命令生成:

openssl passwd - -salt "test"  ""  #"test"可以为任意字符串, ""为密码

问题9:

安装 fence-agents

yum install fence-agents -y

按照以上步骤修复完问题之后,重启 cobbler 服务,再次 check,如下:

service cobblerd restart
cobbler check

则会收到如下报告:

按照提示相应解决即可,如下:

最后再次check,如果输出如下,则表明 cobber server 端安装正常:

如果做完以上操作仍不成功,可重启系统后再次check。注意防火墙关闭,以及一些必要服务确保启动。

  • Cobbler配置

在 cobber server 端安装完并且 check 成功之后,接下来需要对cobbler做相应的配置,以便后续使用。

修改配置文件 /etc/cobbler/settings,需要关注的配置如下:

manage_dhcp:   #启用dhcp管理
pxe_just_once: #仅安装一次

修改配置文件 /etc/cobbler/dhcp.template,需要关注的配置如下:

option routers             192.168..x; #修改为cobbler server端所在机器IP
option domain-name-servers 192.168..x; #修改为cobbler server端所在机器IP

在 cobber 配置更改之后,需要将所有的配置重新生成同步一次(尤其是 DHCP 配置文件),如下:

service cobblerd restart
cobbler sync
service cobblerd restart

由于启用了 DHCP 管理,因此需要运行并设置 DHCP 开机自启,如下:

systemctl start  dhcpd
systemctl enable dhcpd

至此,Cobber server 端安装配置完成。(如不成功,请检查防火墙和相应服务状态)

使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)的更多相关文章

  1. (转)使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)

    原文:http://www.cnblogs.com/pluse/p/8316914.html http://blog.51cto.com/dreamway/1166589---------Cobble ...

  2. (8)Linux(客户端)和Windows(服务端)下socket通信实例

    Linux(客户端)和Windows(服务端)下socket通信实例: (1)首先是Windows做客户端,Linux做服务端的程序 Windows   Client端 #include <st ...

  3. 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】

    Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...

  4. ftpget 从Windows FTP服务端获取文件

    /********************************************************************************* * ftpget 从Windows ...

  5. linux下svn(subversion)服务端添加工程及配置权限

    linux下svn(subversion)服务端添加工程及配置权限 转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/9010507.html 此篇我只是将所做过的 ...

  6. CAS单点登录之服务端部署

    一.CAS服务端搭建 1.1 CAS支持Http登录配置 CAS默认是要https的链接才能登录的,不过学习的话是可以先去掉https限制,本博客介绍的是基于Cas4.2.7的,之前改过4.0的,详情 ...

  7. HVR数据复制软件部署之(一)--HUB端部署

    HVR数据复制软件部署之(一)--HUB端部署 本文环境: OS: RHEL5.9 x86-64bit DB: Oracle 12.1.0.2 x86-64bit HVR:highgohvr-4.7. ...

  8. Rsync服务端部署流程

    Rsync服务端部署流程       Rsync服务端部署流程: 一.rsync服务端配置流程 配置rsync配置文件/etc/rsyncd.conf 创建同步的本地目录/dingjian 并根据需要 ...

  9. Zabbix5.0服务端部署

    Zabbix5.0服务端部署 基础环境配置 [root@localhost ~]# systemctl disable --now firewalld Removed symlink /etc/sys ...

随机推荐

  1. PAT甲题题解-1081. Rational Sum (20)-模拟分数计算

    模拟计算一些分数的和,结果以带分数的形式输出注意一些细节即可 #include <iostream> #include <cstdio> #include <algori ...

  2. process.tar.gz

    exec1.c #include <stdio.h> #include <unistd.h> int main() { char *arglist[3]; arglist[0] ...

  3. [UWP 开发] 一个简单的Toast实现

    Toast简介 在安卓里Toast是内置原生支持,它是Android中用来显示显示信息的一种机制.它主要用于向用户显示提示消息,没有焦点,显示的时间有限,过一定的时间就会自动消失.在UWP中虽然没有原 ...

  4. final 140字评论II

    1.约跑app: 从性能上讲,着重修改了其他组找出的bug,性能上有了很大的提高,增强了实用性. 从功能上讲,该app可以增加用户之间的互动性,有较多的客户群,适合人群不限于青少年和成年人. 从UI上 ...

  5. 深入 Nginx 之配置篇

     常用配置项 在工作中,我们与 Nginx 打交道更多的是通过其配置文件来进行.那么掌握这些配置项各自的作用就很有必要了. 首先,nginx.conf 的内容通常是这样的: ... ... #核心摸块 ...

  6. CentOS下搭建Hive

    目录 下载解压hive mysql驱动 配置文件 hive-env.sh hive-site.xml 首次启动hive 使用schemaTool初始化mysql数据库 错误总结 警告汇总 参考:htt ...

  7. 从0到1搭建基于Kafka、Flume和Hive的海量数据分析系统(一)数据收集应用

    大数据时代,一大技术特征是对海量数据采集.存储和分析的多组件解决方案.而其中对来自于传感器.APP的SDK和各类互联网应用的原生日志数据的采集存储则是基本中的基本.本系列文章将从0到1,概述一下搭建基 ...

  8. 关于springmvc跨域

    spingMVC 3.X跨域 关于跨域问题,主要用的比较多的是cros跨域. 详细介绍请看https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Acces ...

  9. IntelliJ IDEA中文乱码问题

    转自  https://blog.csdn.net/m0_37893932/article/details/78280663 1 file->settings->appearence里面有 ...

  10. 【codeforces666E】Forensic Examination 广义后缀自动机+树上倍增+线段树合并

    题目描述 给出 $S$ 串和 $m$ 个 $T_i$ 串,$q$ 次询问,每次询问给出 $l$ .$r$ .$x$ .$y$ ,求 $S_{x...y}$ 在 $T_l,T_{l+1},...,T_r ...