centos7运用cobbler(2.8)批量安排操作系统之一

① 、    批量配置操作系统的前提

要想批量布置操作系统,得具备以下标准:

客户机协理pxe互连网指导

劳动器端和客户端建立互连网通讯(DHCP)

劳动器端要有可供客户机开机指导的指点文件

劳动器端的可指点文件还非得能传递到客户机(TFTP)

客户机无人值守安装包蕴安装定制的软件或服务(KICKSTA奥德赛T文件)

 

1.    认识一下PXE

预运行执行环境(Preboot eXecution
Environment,PXE,也被称呼预执行环境)提供了一种拔取互连网接口(Network
Interface)运转电脑的编制。那种体制让电脑的启航可以不借助于地点数据存储设备(如硬盘)或本地已设置的操作系统

PXE:帮助工作站通过互联网从远端服务器下载印象,并透过扶助通过网络运营操作系统,在起步进度中,终端必要服务器分配IP地址,再用TFTP(trivial
file transfer protocol)或MTFTP(multicasttrivial file transfer pro日

tocol)协议下载多少个起动软件包到本机内存中执行,由这一个运行软件包完毕Client端自动化中央软件安装,从而指导预先安装在服务器中的终端操作系统。PXE可以指导各个操作系统,如:windows95/98/两千/windows二零零四/windows二〇一〇/winXP/win7/win8,linux等。

PXE是由速龙设计的协商,它可以使计算机通过互连网运转。协议分成client和server两端,PXE
client在网卡的ROM中,当电脑指引时,BIOS把PXE
client调入内存执行,并呈现出命令菜单,经用户挑选后,PXE
client将停放在远端的操作系统通过互连网下载到本地运转,无盘工作站就是通过PXE来开展运转的。PXE协议的中标运维需求消除以下多少个难点:IP地址的分配,下载Linux内核和根文件系统。

IP地址的分配

可以用DHCP server来给PXE client分配贰个IP地址,DHCP Server是用来给DHCP
Client动态分配IP地址的情商,可是是因为此处是给PXE
Client分配IP地址,所以在布置DHCP Server时,需求充实对应的PXE特有布署。

下载Linux内核和根文件系统

PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP
Client,通过TFTP协议到TFTP Server上下载所需的文件。

2.    PXE的干活原理

PXE client是急需设置操作系统的处理器,TFTP Server和DHCP
Server运行在其余一台Server上。Bootstrap文件、配置文件、Linux内核以及Linux根文件系统都停放在Linux
Server上TFTP服务器的根目录下。PXE
client在干活经过中,须要多少个二进制文件:bootstrap、Linux
内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的支配界面,并依据用户的选项,下载合适的Linux内核以及
Linux根文件系统。下图就是PXE工作的法则图:

图片 1

 

 

大约总括一下:

PXE Client发送广播包请求DHCP分配IP地址DHCP

Server回复请求,给出IP地址以及Boot

PXE Client从Server下载率领文件执行指导程序

3.    PXE应用

PXE最直白的突显是,在互连网环境下工作站可以省去硬盘,但又不是平时所说的无盘站的定义,因为运用该技能的PC在网络形式下的运作速度要比有盘PC快3倍以上。当然使用PXE的PC也不是古板意义上的TE路虎极光MINAL终端,因为运用了PXE的PC并不消耗服务器的CPU,RAM等能源,故服务器的硬件须要极低。

网络克隆 PXE
将来极其广泛的使用2个是网吧的无盘技术。在有盘领域的网络维护和设置中PXE可以是最好用的网吧系统集合安装和保证的指导技术,PXE的指引速度和平稳都是第拔尖的!

4.    什么是Kickstart

官方文档:https://fedoraproject.org/wiki/Anaconda/Kickstart/zh-cn

KickStart是一种无人职守安装形式,是由redhat公司为了缓解无人值守安装操作系统而设计的。系统管理员通过创立一个纯净的kickstart配置文件就可以达成自动化安装操作系统。KickStart的干活原理是因此记录典型的安装进度中所需人工干预填写的各样参数,并生成五个名为ks.cfg的文本;在将来的安装进度中(不只局限于生成KickStart安装文件的机器)当出现必要填写参数的景况时,安装程序会首先去查找KickStart生成的公文,当找到确切的参数时,就利用找到的参数,当没有找到适合的参数时,才须求安装者手工干预。那样,尽管KickStart文件涵盖了设置进程中冒出的拥有必要填写的参数时,安装者完全能够只报告安装程序从哪个地方取ks.cfg文件,然后去忙本人的事情。等设置收尾,安装程序会依照ks.cfg中装置的重启选项来重启系统,并终止安装。

 

二. Cobbler介绍

1.    什么是Cobbler

官方网站:https://cobbler.github.io/

GITHUB: https://github.com/cobbler/cobbler

Cobbler是一个便捷网络安装linux的劳动,而且在经过调整也得以协理网络安装windows。该工具使用python开发,小巧轻便(才15k行代码),使用简易的一声令下即可形成PXE网络安装环境的安插,同时还是可以够管理DHCP,DNS,以及yum包镜像。

Cobbler是3个应用程序,能够多量的安插操作系统,能够同时陈设五个不等的操作系统,协作kickstart文件可以定制和无人值守的不二法门安插操作系统。它对PXE举行2次开发和包裹,同时提供3次开发接口。

Cobbler
的布局结构基于一组注册的靶子。每一个对象表示1个与另一个实体相关联的实业(该目的指向另2个对象,大概另多个目的指向该目的)。当2个对象指向另贰个对象时,它就再三再四了被指向对象的数额,并可覆盖或添加更多特定音信。以下目标类型的定义为:

图片 2

 

发行版(Distro):

代表2个操作系统。它承载了基石和 initrd 的音讯,以及基本参数等任何数据。

布署文件(Profile):

蕴涵二个发行版、多个 kickstart
文件以及只怕的存储库,还蕴藏愈来愈多特定的内核参数等其余数据。

系统(System):

表示要配给的机械。它包涵1个配备文件或壹个镜像,还蕴藏 IP 和 MAC
地址、电源管理(地址、凭据、类型)以及进一步规范的多寡等音讯。

存储库(Repo):

封存多个 yum 或 rsync 存储库的镜像音讯。

镜像(Image):

可替换多个含有不属于此类其他公文的发行版对象(例如,不能够分为基础和
initrd 的目的)。

依据注册的靶子以及种种对象之间的关联,Cobbler
知道哪些改变文件系统以显示实际配置。因为系统安插的内部是望梅止渴的,所以你可以仅关怀想要执行的操作。

 

2.   Cobbler原理

Cobbler由Python语言开发,是对PXE和Kickstart以及DHCP的卷入。融合很多特色,提供了CLI和Web的管住格局。特别惠及的施行互联网安装。同时,Cobbler也提供了API接口,使用其余语言也很不难做增添。它不紧可以设置物理机,同时也帮衬kvm、xen虚拟化、Guest
OS的设置。越来越多的是它还是能构成Puppet等集中化管理软件,完结自动化的管住。

Cobbler 协助广大的发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu 和
SuSE。当添加贰个操作系统(常常经过采取 ISO 文件)时,Cobbler
知道怎么解压缩合适的文件并调动互联网服务,以正确引导机器。Cobbler
使用命令行形式管理,也提供了依照Web的图形化配置管理工具(cobbler-web)。通过配备cobbler自动计划DHCP、TFTP、HTTP,在设置进程中加载kiskstart无人值守安装应答文件落到实处无人值守。从客户端应用PXE率领运营安装。

 图片 3

 

Server端

第一步,启动Cobbler服务

其次步,举办Cobbler错误检查,执行cobbler check命令

其三步,举行布局同步,执行cobbler sync命令

第④步,复制相关运维文件文件到TFTP目录中

第伍步,运转DHCP服务,提供地点分配

第⑥步,DHCP服务分配IP地址

第⑩步,TFTP传输运维文件

第10步,Server端接收装置新闻

第九步,Server端发送ISO镜像与Kickstart文件

Client端

先是步,客户端以PXE格局运营

其次步,客户端获取IP地址

其三步,通过TFTP服务器获取运营文件

第六步,进入Cobbler安装接纳界面

第4步,客户端鲜明加载音讯

第⑥步,依据布署音信准备安装系统

第七步,加载Kickstart文件

第7步,传输系统设置的其余文件

第8步,举行安装系统

叁 、    Cobbler安装与初阶配置

1.    添加EPEL源

Cobbler位于EPEL源中,若是系统尚未EPEL源,先要安装

# yum -y install epel-release

2.    Cobbler支撑服务安装

Cobbler即使能够接管DHCP服务,但自个儿并不提供DHCP服务,而且yum安装
cobbler的时候也不会自行安装DHCP,可是会安装TFTP,HTTP及部分python的包。

# yum -y install dhcp

3.    Yum安装cobbler

# yum -y install cobbler

下边是安装完后系统中一些重大的文件地点及讲明:

 #rpm -ql cobbler

/etc/cobbler

配置文件目录

/etc/cobbler/settings

cobbler主配置文件

/etc/cobbler/dhcp.template

DHCP服务的配置模板

/etc/cobbler/tftpd.template

tftp服务的配置模板

/etc/cobbler/rsync.template

rsync服务的配置模板

/etc/cobbler/iso

iso模板配置文件目录

/etc/cobbler/pxe

pxe模板文件目录

/etc/cobbler/power

电源的配置文件目录

/etc/cobbler/users.conf

Web服务授权配置文件

/etc/cobbler/users.digest

web访问的用户名密码配置文件

/etc/cobbler/dnsmasq.template

DNS服务的配置模板

/etc/cobbler/modules.conf

Cobbler模块配置文件

/var/lib/cobbler

Cobbler数据目录

/var/lib/cobbler/config

配置文件

/var/lib/cobbler/kickstarts

默认存放kickstart文件

/var/lib/cobbler/loaders

存放的各种引导程序

/var/www/cobbler

系统安装镜像目录

/var/www/cobbler/ks_mirror

导入的系统镜像列表

/var/www/cobbler/images

导入的系统镜像启动文件

/var/www/cobbler/repo_mirror

yum源存储目录

/var/log/cobbler

日志目录

/var/log/cobbler/install.log

客户端系统安装日志

/var/log/cobbler/cobbler.log

cobbler日志

 

4.    Cobbler初步配置cobbler check

将cobbler所看重的劳动设置为开机自运维,并打开服务,首要有httpd,dhcpd,tftp及cobbler本身。

#systemctl start httpd

#systemctl enable httpd

#systemctl start tftp

#systemctl enable tftp

#systemctl start dhcpd

#systemctl enable dhcpd

# systemctl start cobbler

# systemctl enable cobbler

Cobbler
check命令重如若用来检查当前系统是不是满足cobbler的运营需求,下边是率先次运营cobbler
check命令的提示,依据提醒3个二个改动即可。

# 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 : SELinux is enabled. Please review the following wiki page for
details on ensuring cobbler works correctly in your SELinux environment:

    https://github.com/cobbler/cobbler/wiki/Selinux

4 : change ‘disable’ to ‘no’ in /etc/xinetd.d/tftp

5 : 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.

6 : enable and start rsyncd.service with systemctl

7 : debmirror package is not installed, it will be required to manage
debian deployments and repositories

8 : ksvalidator was not found, install pykickstart

9 : 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:default_password_crypted “openssl passwd -1 -salt
‘random-phrase-here’ ‘your-password-here'” to generate new one

10 : 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.

1#本条提醒是亟需修改/etc/cobbler/settings 文件中server:
前面的IP地址,这几个地点暗许是127.0.0.1急需修改成可以通讯的cobbler服务器本机真实的网卡地址。

#vi /etc/cobbler/settings

server: 192.168.100.10

2#以此指示是说要想让PXE工作起来,要求设置/etc/cobbler/settings中next_server的ip地址,假如启用cobbler来管理DHCP就要修改,那个是dhcp服务器的地点,倘若没有科学安装那个地方则会来得TFTP超时。

#vi /etc/cobbler/settings

next_server: 192.168.100.10

3#那一个提醒须求关门selinux

#vi /etc/sysconfig/selinux

SELINUX=disabled

4#指示须求启用tftp

#vi /etc/xinetd.d/tftp

service tftp

{

       socket_type           = dgram

       protocol         = udp

       wait               = yes

       user               = root

       server                   = /usr/sbin/in.tftpd

       server_args           = -s /var/lib/tftpboot

       disable                  = no

       per_source            = 11

       cps                = 100 2

       flags                     = IPv4

5#指示必要采纳cobbler get-loaders从网上下载率领程序

# cobbler get-loaders

6#提醒需要运维 rsyncd服务

# systemctl start rsyncd

7#晋升deb的包没有被装置,假如不打算布置debian系统可以忽略

8#指示要求安装pykickstart

#yum –y pykickstart

9#唤醒要求修改暗中认可密码”openssl passwd -1 -salt ‘random-phrase-here’
‘your-password-here'”并替换settings中default_password_crypted引号中的内容

# openssl passwd -1 -salt ‘frank’ ‘frank’

$1$frank$.XItdMFNYz07ISKS9q9Jx0

#vi /etc/cobbler/settings

default_password_crypted: “$1$frank$.XItdMFNYz07ISKS9q9Jx0”

10#指示借使接纳电源管理模块,须要安装cman 可能 fence-agents

# yum install fence-agents-all

上述步骤全体履行到位后,重启cobbler服务,并选取cobbler sync保存修改,也得以每修改1个唤起执行一下。直到没有提醒,或能够忽略某个提醒甘休。

#systemc restart cobblerd

#cobbler sync

#cobbler check

The following are potential configuration items that you may want to
fix:

1 : debmirror package is not installed, it will be required to manage
debian deployments and repositories

Restart cobblerd and then run ‘cobbler sync’ to apply changes.

OK,至此关于批量装置的底蕴部分及cobbler介绍就到此处,下一篇将介绍下cobbler的指令及实战。

相关文章