批量部署操作系统之一,自动安装Linux系统

意气风发、    批量配置操作系统的前提

要想批量安插操作系统,得具有以下条件:

客商机协理pxe互连网辅导

劳务器端和客商端创立互连网通讯(DHCP)

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

服务器端的可教导文件还非得能传递到客商机(TFTP)

顾客机无人值班守护安装富含安装定制的软件或服务(KICKSTART文件)

 

Cobbler(补鞋匠)是经过将DHCP、TFTP、DNS、HTTP等劳务扩充集成,成立壹当中心处理节点,其得以兑现的效率有配备服务,创造存款和储蓄库,解压缩操作系统媒介,代理或合并三个配备管理种类,调控电源管理等。 Cobbler的末段指标是兑现无需进行人工干预就可以安装机器。

1 概述

1.    认知一下PXE

预运转执市价况(Preboot eXecution Environment,PXE,也被叫做预推行情况)提供了生龙活虎种接收互联网接口(Network Interface)运维Computer的机制。这种机制让计算机的起步可以不借助于地点数据存款和储蓄设备(如硬盘)或地方已安装的操作系统

PXE:帮助理工科程师作站通过互联网从远端服务器下载影像,并通过扶植通过网络运行操作系统,在开发银行进程中,终端须求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicasttrivial file transfer pro日

tocol)合同下载二个起动软件包到本机内部存款和储蓄器中试行,由那个运行软件包完结Client端自动化主旨软件安装,进而教导预先安装在服务器中的终端操作系统。PXE能够教导三种操作系统,如:windows95/98/二〇〇一/windows二〇〇四/windows二零零六/winXP/win7/win8,linux等。

PXE是由速龙设计的情商,它能够使Computer通过网络运营。契约分成client和server两端,PXE client在网卡的ROM中,当Computer指导时,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上下载所需的公文。

  pxe概述
  预运转推行景况(Preboot eXecution Environment,PXE,也被叫作预奉行境遇)是让计算机通过网卡独立地行使数据设备(如硬盘)大概设置操作系统

正文中将介绍基于PXE和cobbler三种办法的自动化安装。三种艺术完成的效应是均等的,可是cobbler是PXE的三回封装,在行使上尤其方便人民群众,集成四个软件拓宽落到实处。关于自动化安装中的相关概念和ks文件等的牵线,详见博客:http://www.linuxidc.com/Linux/2017-10/147225.htm

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下载指引文件试行教导程序

    PXE Client发送广播包央求DHCP分配IP地址DHCP
    Server回复诉求,给出IP地址以致Boot
    Server的地点PXE下载指引文件实践指导程序

本文是对地面自动化安装系统的增加。同期,本文在文书档案后部附上了关于自动化安装PXE系统情况的本子。

3.    PXE应用

PXE最直白的表现是,在互连网景况下职业站能够节约硬盘,但又不是不可胜数所说的无盘站的概念,因为运用该技巧的PC在网络形式下的周转速度要比有盘PC快3倍以上。当然使用PXE的PC亦非古板意义上的TERMINAL终端,因为运用了PXE的PC并不消耗服务器的CPU,RAM等能源,故服务器的硬件要求好低。

互联网克隆 PXE 现在最为普及的利用二个是网吧的无盘手艺。在有盘领域的互联网维护和安装中PXE能够是最棒用的网吧系统集结设置和维护的指点技巧,PXE的带领速度和安乐都以一流的!

小结来讲,

2 基于PXE 自动化安装

4.    什么是Kickstart

官方文书档案:

KickStart是大器晚成种无人职守安装情势,是由redhat公司为了解决无人值班守护安装操作系统而设计的。系统管理员通过成立多少个单纯的kickstart配置文件就足以兑现自动化安装操作系统。KickStart的行事原理是因此记录规范的装置进程中所需人工干预填写的各类参数,并扭转三个名叫ks.cfg的公文;在其后的设置进度中(不只局限于生成KickStart安装文件的机器)当现身供给填写参数的事态时,安装程序会率先去查找KickStart生成的文本,当找到合适的参数时,就接收找到的参数,当未有找到相符的参数时,才须要安装者手工业干预。那样,如若KickStart文件富含了安装进程中冒出的有着须要填写的参数时,安装者完全能够只告诉安装程序从何地取ks.cfg文件,然后去忙本人的事情。等装置收尾,安装程序会依据ks.cfg中装置的重启选项来重启系统,并终止安装。

 

  pxe顾客端会调用网际公约(ip)、顾客数量报公约(udp)、动态主机设定左券(DHCP)、Mini文件传输契约(TFTP)

PXE(PrebootExcutionEnvironment)预运转实行蒙受,AMD集团研究开发基于Client/Server的互连网形式,扶持远程主机通过网络从远端服务器下载印象,并透过扶助通过互联网运转操作系统PXE能够引导和安装Windows,linux等各样操作系统

二. Cobbler介绍

  pxe客商端(client)指机器在pxe运转进程中的角色。一个pxe顾客端能够是黄金时代台服务器、台式机Computer或许其余装有pxe运转代码的机器

PXE互联网自动化安装:通过搭建网络yum源(http,ftp,nfs三者选意气风发),tftp服务器,dhcp服务器,原理是,通过dhcp服务器,使得机器开动的时候,获取到相关的ip,在dhcp里钦定了next-server,该next-server便是tftp服务器的ip,这样,机器获取到ip后,会到钦赐的tftp服务器的暗许路线/var/lib/tftpboot下去下载相关的文本,首先是加载pxelinux.cfg目录下的default文件,该default文件正是安装机器的美食做法选项,在这里菜单里,钦赐kickstart文件路线和/var/lib/tftpboot下的initrd.img和vmlinuz的路线,使得必要安装的照管系统能够运维并加载kickstart文件举办设置。在kickstart文件里大家将点名了安装包的门径。

1.    什么是Cobbler

官网:

GITHUB:

科布ler是三个快速网络安装linux的劳动,并且在经过调节也得以支撑互连网安装windows。该工具使用python开拓,小巧轻巧(才15k行代码),使用简便的吩咐就能够成功PXE互连网安装情况的配置,同一时间还是能管理DHCP,DNS,以至yum包镜像。

Cobbler是一个应用程序,能够多量的布署操作系统,可以同时安插多个不等的操作系统,同盟kickstart文件能够定制和无人值班守护的格局配置操作系统。它对PXE实行贰回开辟和包装,同一时候提供一遍开采接口。

Cobbler 的配备结构基于风流倜傥组注册的靶子。每个对象表示一个与另三个实体相关联的实业(该对象指向另二个指标,可能另叁个指标指向该对象)。当贰个目的指向另多少个对象时,它就三番三回了被指向对象的多寡,并可覆盖或增多越多特定音讯。以下指标类型的概念为:

图片 2

 

发行版(Distro):

意味着三个操作系统。它承载了基本和 initrd 的新闻,以至水源参数等别的数据。

布署文件(Profile):

包含三个发行版、多少个 kickstart 文件以至大概的存款和储蓄库,还带有更加的多特定的根本参数等别的数据。

系统(System):

意味着要配给的机械。它包罗一个配备文件或三个镜像,还包含 IP 和 MAC 地址、电源管理(地址、凭据、类型)以至愈发标准的数额等音讯。

存储库(Repo):

保留一个 yum 或 rsync 存款和储蓄库的镜像消息。

镜像(Image):

可替换一个带有不属于此类别的文件的发行版对象(举例,无法分为基础和 initrd 的靶子)。

依附注册的指标以至各种对象之间的涉嫌,科布ler 知道如何改动文件系统以反浮现实配置。因为系统安顿的此中是虚幻的,所以你能够仅关缅想要施行的操作。

 

  PXE重要是透过广播的主意发送三个包,并请注获取二个地方,而后交给TFTP程序下载一个指导文件。

PXE专门的学问规律

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传输运营文件

第八步,Server端选择装置音讯

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

Client端

第一步,客户端以PXE方式运行

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

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

第四步,步向Cobbler安装选用分界面

第五步,顾客端分明加载音讯

第六步,依据布置新闻谋算安装系统

第七步,加载Kickstart文件

第八步,传输系统设置的别样文件

第九步,进行设置系统

cobbler和Kickstart批量装机软件

如下图

三、    Cobbler安装与开端配置

 Cobbler由python语言开辟,是对PXE和Kickstart以致DHCP的包装。融入超级多特性,提供了CLI和Web的拘禁情势。尤其惠及的施行网络安装。同时,Cobbler也提供了API接口,使用任何语言也相当的轻易做扩张。它不紧可以设置物理机,同一时候也扶植kvm、xen虚构化、Guest OS的设置。越来越多的是它还是能够结成Puppet等聚焦国化学工业进出口总企管软件,完成自动化的军事拘押。

图片 4

1.    添加EPEL源

Cobbler位于EPEL源中,就算系统绝非EPEL源,先要安装

# yum -y install epel-release

  Kickstart 是生机勃勃种无人值班守护的装置情势,它的干活原理是在安装进度中著录人工干预填写的各样参数,并生成三个名称为ks.cfg的公文。大家能够大约明了为贰个自行安装应答配置管理程序。通过读取那一个布局文件,系统掌握怎么去分区,要安装什么包,配什么IP,优化什么内核参数等等 

原理介绍

2.    Cobbler支撑服务安装

Cobbler即使能够接管DHCP服务,但自身并不提供DHCP服务,并且yum安装 cobbler的时候也不会自动安装DHCP,不过会设置TFTP,HTTP及一些python的包。

# yum -y install dhcp

  一句话计算:Cobbler补鞋匠是对Kickstart的卷入,简化安装步骤、使用流程,官方称为补鞋匠都能学会的批量装机。

.Client向PXE Server上的DHCP发送IP地址央浼音信,DHCP检验Client是或不是合法(重假设检验Client的网卡MAC地址),借使官方则赶回Client的IP地址,同一时候将起动文件pxelinux.0的岗位音信生机勃勃并传递给Client

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日志

 

科布ler 职业流程

.Client向PXE Server上的TFTP发送获取pxelinux.0恳求音信,TFTP选拔到消息随后再向Client发送pxelinux.0大小新闻,试探Client是还是不是满足,当TFTP收到Client发回的允许大小新闻之后,正式向Client发送pxelinux.0

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命令的提醒,根据提醒多少个二个更换就可以。

# 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:

   

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

server端:

.Client实践选择到的pxelinux.0文件

上述步骤全体进行到位后,重启cobbler服务,并接收cobbler sync保存修正,也足以每改过贰个提示实施一下。直到未有提示,或能够忽视有个别提示截至。

#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的下令及实战。

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

.Client向TFTP Server发送针对本机的安排音信文件(在TFTP服务的pxelinux.cfg目录下,这是系统菜单文件,格式和isolinux.cfg格式同样,功能也是近乎),TFTP将安排文件发回Client,进而Client依据安顿文件试行后续操作。

Client端:

.Client向TFTP发送Linux内核要求信息,TFTP选择到音讯之后将基本文件发送给Client

    第一步,顾客端以PXE情势运维
    第二步,顾客端获取IP地址
    第三步,通过TFTP服务器获取运维文件
    第四步,踏入Cobbler安装接受分界面
    第五步,客户端分明加载音信
    第六步,依据布置消息绸缪安装系统
    第七步,加载Kickstart文件
    第八步,传输体系安装的其余文件
    第九步,举行设置系统

.Client向TFTP发送根文件供给音信,TFTP选用到音讯随后重回Linux根文件系统

专门的职业情状企图:

.Client启动Linux内核

  1.网络情形:host-only、nat网络,因为Cobbler需求用到本人的dhcp服务器,所感觉了防范都在同一个网络产生dhcp获取混乱,必要切换互联网!~ 

.Client下载安装源文件,读取自动化安装脚本

  2.雷同装置服务供给的条件企图:1,关闭iptables,selinux 2,配置静态IP、设置主机名 并且在hosts文件下绑定 3.时间一齐4.配备本地iso镜像里的yum仓库,163源epel源 (安装软件)

此间用PXE自动化安装CentOS7为例表明

cobbler server    -------    client
                  192.168.100.22二分之一4  ------------------------------------  装机时候由DHCP自动配置

.安装前希图:关闭防火墙和SELINUX,DHCP服务器静态IP

一.  在cobbler server上安装cobbler

.安装软件包

  yum install cobbler cobbler-web tftp* rsync xinetd http* syslinux dhcp* pykickstart

遭逢希图,搭建以下多少个劳务

[root@bokeyuan ~]``# yum install cobbler cobbler-web tftp* rsync xinetd http* syslinux dhcp* pykickstart

httpd/nfs/ftp(三选意气风发,用于搭建yum源)tftp-server dhcp

Loaded plugins: fastestmirror, langpacks

文件准备

Loading mirror speeds from cached hostfile

由此以下四个工具生成相关文书

Package ``rsync``-3.0.9-17.el7.x86_64 already installed and latest version

syslinux  : 生成menu.c32 和 pxelinux.0

Package 12:dhcp-common-4.2.5-47.el7.CentOS.x86_64 already installed and latest version

system-config-kickstart:生成 kickstart文件

Package 12:dhcp-libs-4.2.5-47.el7.centos.x86_64 already installed and latest version

.配置文件分享服务:

Package pykickstart-1.99.66.10-1.el7.noarch already installed and latest version

systemctl ``enable httpd

Resolving Dependencies

systemctl start httpd

--> Running transaction check

mkdir /var/www/html  /centos/7

---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed

mount   /dev/sr0/  var``/www/html/centos/7

--> Processing Dependency: python-simplejson ``for package: cobbler-2.6.3-1.el6.noarch

 

--> Processing Dependency: python-cheetah ``for package: cobbler-2.6.3-1.el6.noarch

.准备kickstart文件

--> Processing Dependency: mod_wsgi ``for package: cobbler-2.6.3-1.el6.noarch

/var/www/html/ks/centos7``.cfg``#注意:权限,其他人要分配可读权限

--> Processing Dependency: PyYAML ``for package: cobbler-2.6.3-1.el6.noarch

设置路线,本次是用http服务器作为yum源,ks文件中url --url=http:/192.168.32.72/os/7

---> Package cobbler-web.noarch 0:2.6.3-1.el6 will be installed

开机时加载网卡,onboot选项

--> Processing Dependency: mod_ssl ``for package: cobbler-web-2.6.3-1.el6.noarch

.配置tftp服务

--> Processing Dependency: Django ``for package: cobbler-web-2.6.3-1.el6.noarch

systemctl ``enable tftp.socket(centos6:chkconfig tftp on)

---> Package dhcp.x86_64 12:4.2.5-47.el7.centos will be installed

systemctl start tftp.socket(centos6:service xinetd restart)

---> Package httpcomponents-client.noarch 0:4.2.5-5.el7_0 will be installed

 

--> Processing Dependency: mvn(commons-logging:commons-logging) ``for package: httpcomponents-client-4.2.5-5.el7_0.noarch

.配置DHCP服务

--> Processing Dependency: mvn(commons-codec:commons-codec) ``for package: httpcomponents-client-4.2.5-5.el7_0.noarch

能够直接拷贝配置文件进行改造,首要该要动用的网段range和钦命tftp服务器next-server和tftp服务器上的私下认可的公文filename

---> Package httpcomponents-core.noarch 0:4.2.4-6.el7 will be installed

systemctl ``enable dhcpd

---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed

vim ``/etc/dhcp/dhcpd``.conf

--> Processing Dependency: ``/etc/mime``.types ``for package: httpd-2.4.6-45.el7.centos.x86_64

option domain-name ``"sunny.com"``;

---> Package httpd-devel.x86_64 0:2.4.6-45.el7.centos will be installed

option domain-name-servers 192.168.32.61;

--> Processing Dependency: apr-util-devel ``for package: httpd-devel-2.4.6-45.el7.centos.x86_64

default-lease-``time 86400;

--> Processing Dependency: apr-devel ``for package: httpd-devel-2.4.6-45.el7.centos.x86_64

max-lease-``time 86400;

---> Package httpd-manual.noarch 0:2.4.6-45.el7.centos will be installed

subnet 192.168.32.0 netmask 255.255.255.0 {

---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be installed

range 192.168.32.100 192.168.32.200;

---> Package syslinux.x86_64 0:4.05-13.el7 will be installed

option routers 192.168.32.1;

---> Package tftp.x86_64 0:5.2-13.el7 will be installed

next-server 192.168.32.72;

---> Package tftp-server.x86_64 0:5.2-13.el7 will be installed

filename ``"pxelinux.0"``;

---> Package xinetd.x86_64 2:2.3.15-13.el7 will be installed

}

--> Running transaction check

 

---> Package Django14.noarch 0:1.4.20-1.el6 will be installed

 

--> Processing Dependency: python(abi) = 2.6 ``for package: Django14-1.4.20-1.el6.noarch

systemctl start dhcpd

--> Processing Dependency: python-simplejson ``for package: Django14-1.4.20-1.el6.noarch

配置tftp服务

---> Package PyYAML.x86_64 0:3.10-11.el7 will be installed

.计划有关文件

--> Processing Dependency: libyaml-0.so.2()(64bit) ``for package: PyYAML-3.10-11.el7.x86_64

tftp路径是

---> Package apache-commons-codec.noarch 0:1.8-7.el7 will be installed

#pxelinux.0等文件来自syslinux这个软件包,要先进行安装

---> Package apache-commons-logging.noarch 0:1.1.2-7.el7 will be installed

yum ``install syslinux

--> Processing Dependency: mvn(logkit:logkit) ``for package: apache-commons-logging-1.1.2-7.el7.noarch

mkdir``/var/lib/tftpboot/pxelinux``.cfg/

--> Processing Dependency: mvn(log4j:log4j) ``for package: apache-commons-logging-1.1.2-7.el7.noarch

#pxelinux.cfg把必要的文件复制到这个路径下

--> Processing Dependency: mvn(avalon-framework:avalon-framework-api) ``for package: apache-commons-logging-1.1.2-7.el7.noarch

cp``/usr/share/syslinux/``{pxelinux.0,menu.c32}``/var/lib/tftpboot/

---> Package apr-devel.x86_64 0:1.4.8-3.el7 will be installed

#pxelinux.0启动菜单,启动操作系统的文件

---> Package apr-util-devel.x86_64 0:1.5.2-6.el7 will be installed

#menu.c32这个是菜单风格

--> Processing Dependency: openldap-devel(x86-64) ``for package: apr-util-devel-1.5.2-6.el7.x86_64

cp``/misc/cd/isolinux/``{vmlinuz,initrd.img}``/var/lib/tftpboot/

--> Processing Dependency: libdb-devel(x86-64) ``for package: apr-util-devel-1.5.2-6.el7.x86_64

#计算机启动所需的内核文件和虚拟根文件

--> Processing Dependency: expat-devel(x86-64) ``for package: apr-util-devel-1.5.2-6.el7.x86_64

cp``/misc/cd/isolinux/isolinux``.cfg``/var/lib/tftpboot/pxelinux``.cfg``/default

---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed

#isolinux.cfg菜单文件,需要改名为default

--> Processing Dependency: python-simplejson ``for package: cobbler-2.6.3-1.el6.noarch

眼前文件列表如下:

--> Processing Dependency: python-cheetah ``for package: cobbler-2.6.3-1.el6.noarch

``/var/lib/tftpboot/

---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed

├──initrd.img

---> Package mod_ssl.x86_64 1:2.4.6-45.el7.centos will be installed

├──menu.c32

---> Package mod_wsgi.x86_64 0:3.4-12.el7_0 will be installed

├──pxelinux.0

--> Running transaction check

├──pxelinux.cfg

---> Package Django14.noarch 0:1.4.20-1.el6 will be installed

│└──default

--> Processing Dependency: python(abi) = 2.6 ``for package: Django14-1.4.20-1.el6.noarch

└──vmlinuz

--> Processing Dependency: python-simplejson ``for package: Django14-1.4.20-1.el6.noarch

 

---> Package avalon-framework.noarch 0:4.3-10.el7 will be installed

.计划运维菜单

--> Processing Dependency: xalan-j2 ``for package: avalon-framework-4.3-10.el7.noarch

改进运转菜单

---> Package avalon-logkit.noarch 0:2.1-14.el7 will be installed

vim  ``/var/lib/tftpboot/pxelinux``.cfg``/default

--> Processing Dependency: tomcat-servlet-3.0-api ``for package: avalon-logkit-2.1-14.el7.noarch

default menu.c32

--> Processing Dependency: jms ``for package: avalon-logkit-2.1-14.el7.noarch

#这是启动菜单的风格,需要根据实际情况进行修改,原来是vesamenu.c32

---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed

timeout 600

--> Processing Dependency: python-simplejson ``for package: cobbler-2.6.3-1.el6.noarch

menu title PXE INSTALL MENU

--> Processing Dependency: python-cheetah ``for package: cobbler-2.6.3-1.el6.noarch

label autoa

---> Package expat-devel.x86_64 0:2.1.0-8.el7 will be installed

menu label Auto Install CentOS 7

---> Package libdb-devel.x86_64 0:5.3.21-19.el7 will be installed

kernel vmlinuz

---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed

append initrd=initrd.img  ks=http:``//192``.168.32.72``/ks/centos7``.cfg

---> Package log4j.noarch 0:1.2.17-15.el7 will be installed

#这里的应答文件是基于网络的,根据实际情况修改

--> Processing Dependency: mvn(javax.mail:mail) ``for package: log4j-1.2.17-15.el7.noarch

label manual

---> Package openldap-devel.x86_64 0:2.4.40-13.el7 will be installed

menu label Manual Install CentOS 7

--> Processing Dependency: cyrus-sasl-devel(x86-64) ``for package: openldap-devel-2.4.40-13.el7.x86_64

kernel vmlinuz

--> Running transaction check

append initrd=initrd.img  inst.repo=http:``//192``.168.32.72``/centos/7

---> Package Django14.noarch 0:1.4.20-1.el6 will be installed

#手动安装应答文件不写,但是手动安装要找yum源安装,所以要指定yum源路径

--> Processing Dependency: python(abi) = 2.6 ``for package: Django14-1.4.20-1.el6.noarch

label ``local

--> Processing Dependency: python-simplejson ``for package: Django14-1.4.20-1.el6.noarch

menu default

---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed

#如果不选择,默认就是menu  default所在的行

--> Processing Dependency: python-simplejson ``for package: cobbler-2.6.3-1.el6.noarch

menu label ^Boot from ``local drive

--> Processing Dependency: python-cheetah ``for package: cobbler-2.6.3-1.el6.noarch

localboot 0xffff

---> Package cyrus-sasl-devel.x86_64 0:2.1.26-20.el7_2 will be installed

menu end

---> Package geronimo-jms.noarch 0:1.1.1-19.el7 will be installed

到那边,pxe安装centos7的情况已经计划完结了,那样子,当有机器供给安装系统的时候,开机,选用互联网运维就能够信守PXE的装置进行设置

---> Package javamail.noarch 0:1.4.6-8.el7 will be installed

3 基于cobbler自动化安装系统

---> Package tomcat-servlet-3.0-api.noarch 0:7.0.69-10.el7 will be installed

 

---> Package xalan-j2.noarch 0:2.7.1-23.el7 will be installed

cobbler 介绍

--> Processing Dependency: xerces-j2 ``for package: xalan-j2-2.7.1-23.el7.noarch

cobbler火速网络安装linux操作系统的劳动,协理广大的Linux发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SUSE,也得以帮衬网络安装windows,是PXE的一遍封装,将两种安装参数封装到三个菜系,基于Python编写,提供了CLI和Web的保管情势 

--> Processing Dependency: osgi(org.apache.xerces) ``for package: xalan-j2-2.7.1-23.el7.noarch

 

--> Running transaction check

cobbler 职业流程

---> Package Django14.noarch 0:1.4.20-1.el6 will be installed

 以下图形是cobbler和PXE专业的对照图形

--> Processing Dependency: python(abi) = 2.6 ``for package: Django14-1.4.20-1.el6.noarch

图片 5

--> Processing Dependency: python-simplejson ``for package: Django14-1.4.20-1.el6.noarch

cobbler 专业流程解释如下

---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed

.client裸机配置了从网络运营后,开机后会广播包央求DHCP服务器(cobbler server)发送其分配好的二个IP

--> Processing Dependency: python-simplejson ``for package: cobbler-2.6.3-1.el6.noarch

.DHCP服务器(cobbler server)收到诉求后发送responese,包涵其ip地址

--> Processing Dependency: python-cheetah ``for package: cobbler-2.6.3-1.el6.noarch

.client裸机得到ip后再向cobbler server发送央浼OS指引文件的倡议

---> Package xerces-j2.noarch 0:2.11.0-17.el7_0 will be installed

.cobbler server告诉裸机OS教导文件的名字和TFTP server的ip和port

--> Processing Dependency: xml-commons-resolver >= 1.2 ``for package: xerces-j2-2.11.0-17.el7_0.noarch

.client裸机通过上面告知的TFTP server地址通讯,下载指点文件

--> Processing Dependency: xml-commons-apis >= 1.4.01 ``for package: xerces-j2-2.11.0-17.el7_0.noarch

.client裸机试行实行该带领文件,鲜明加载消息,采纳要设置的os,时期会再向cobbler server央求kickstart文件和os image

--> Processing Dependency: osgi(org.apache.xml.resolver) ``for package: xerces-j2-2.11.0-17.el7_0.noarch

.cobbler server发送诉求的kickstart和os iamge

--> Processing Dependency: osgi(javax.xml) ``for package: xerces-j2-2.11.0-17.el7_0.noarch

.client裸机加载kickstart文件

--> Running transaction check

.client裸机接受os image,安装该os image

---> Package Django14.noarch 0:1.4.20-1.el6 will be installed

cobbler 完结步骤

--> Processing Dependency: python(abi) = 2.6 ``for package: Django14-1.4.20-1.el6.noarch

.安装包,并安装服务

--> Processing Dependency: python-simplejson ``for package: Django14-1.4.20-1.el6.noarch

.检查布置

---> Package cobbler.noarch 0:2.6.3-1.el6 will be installed

.根据地方提醒改善配置

--> Processing Dependency: python-simplejson ``for package: cobbler-2.6.3-1.el6.noarch

.下载运行相关文件菜单

--> Processing Dependency: python-cheetah ``for package: cobbler-2.6.3-1.el6.noarch

.配置DHCP服务

---> Package xml-commons-apis.noarch 0:1.4.01-16.el7 will be installed

.分别导入centos的设置源,并查阅

---> Package xml-commons-resolver.noarch 0:1.2-15.el7 will be installed

.希图kickstart文件并导入cobbler

--> Finished Dependency Resolution

.配置web管理分界面

Error: Package: Django14-1.4.20-1.el6.noarch (cobbler)

.测试

``Requires: python-simplejson

cobbler 相关术语

Error: Package: cobbler-2.6.3-1.el6.noarch (cobbler)

.发行版:表示一个操作系统版本,它承载了基础和initrd 的音信,以致基本参数等任何数据

``Requires: python-simplejson

.布署文件:包蕴贰个发行版、三个kickstart 文件以致或者的存款和储蓄库,还带有越来越多特定的水源参数等任何数据

Error: Package: Django14-1.4.20-1.el6.noarch (cobbler)

.系统:表示要配备的主机,它包罗三个陈设文件或一个镜像,还富含IP 和MAC 地址、电源管理(地址、凭据、类型)以至尤其标准的数额等消息

``Requires: python(abi) = 2.6

.存储库:保存多少个yum 或rsync 存款和储蓄库的镜像音讯

``Installed: python-2.7.5-48.el7.x86_64 (@anaconda)

.镜像:可替换二个满含不属于此类其他文本的发行版对象(比方,不恐怕分为基础和initrd 的目的)

``python(abi) = 2.7

cobbler 种种配置目录表达

``python(abi) = 2.7

cobbler 依赖epel 源安装

Error: Package: cobbler-2.6.3-1.el6.noarch (cobbler)

yum -y install cobbler

``Requires: python-cheetah

诚如是会活动安装相关的包的,如http,dns等,安装实现后,倘诺还恐怕有未有安装的劳务,要手动安装,如dhcp。

``You could try using --skip-broken to work around the problem

yum -y install dhcp

** Found 3 pre-existing rpmdb problem(s), ``'yum check' output follows:

.布局文件目录/etc/cobbler

ipa-client-4.4.0-12.el7.centos.x86_64 has installed conflicts freeipa-client: ipa-client-4.4.0-12.el7.centos.x86_64

/etc/cobbler/settings : cobbler 主配置文件

ipa-client-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-client-common: ipa-client-common-4.4.0-12.el7.centos.noarch

/etc/cobbler/iso/``: iso模板配置文件

ipa-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-common: ipa-common-4.4.0-12.el7.centos.noarch

/etc/cobbler/pxe``: pxe模板文件

 报错化解:提醒--skip-broken ,检查开掘自个儿yum源不全yum不能够安装下面三个注重包。补全yum源解决

/etc/cobbler/power``: 电源配置文件

安装到位,运营软件

/etc/cobbler/user``.conf: web服务授权配置文件

[root@bokeyuan ~]# systemctl restart cobblerd.service
[root@bokeyuan ~]# systemctl restart httpd.service
[root@bokeyuan ~]# systemctl enable cobblerd.service  //开机自运转
Created symlink from /etc/systemd/system/multi-user.target.wants/cobblerd.service to /usr/lib/systemd/system/cobblerd.service.
[root@bokeyuan ~]# systemctl enable httpd.service  //开机自运营
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

/etc/cobbler/users``.digest: web访问的用户名密码配置文件

为什么运营apache?血的教训,排了相当久。不先运行apache 后续cobbler check 报python file 的谬误!!!

/etc/cobbler/dhcp``.template: dhcp服务器的的配置末班

二.基本配置

/etc/cobbler/dnsmasq``.template: dns服务器的配置模板

[root@bokeyuan ~]``# cobbler check

/etc/cobbler/tftpd``.template: tftp服务的配置模板

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

/etc/cobbler/modules``.conf: 模块的配置文件

 

cobbler 目录介绍

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.

/var/lib/cobbler/config/``: 用于存放distros,system,profiles 等信

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.

/var/lib/cobbler/triggers/``: 用于存放用户定义的cobbler命令

5 : ``enable and start rsyncd.service with systemctl

/var/lib/cobbler/kickstart/``: 默认存放kickstart文件

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

/var/lib/cobbler/loaders/``: 存放各种引导程序

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

/var/www/cobbler/ks_mirror/``: 导入的发行版系统的所有数据

 

/var/www/cobbler/images/ : 导入发行版的kernel和initrd镜像用于远程网络启动

Restart cobblerd and ``then run ``'cobbler sync' to apply changes.

/var/www/cobbler/repo_mirror/``: yum 仓库存储目录

 一步步消除上述须求,部分必要可忽视。个体差距差异各个人必要数量也比不上,基本上大致

.日志目录

解决要求1、2、7
# openssl passwd -1 -salt 'werwqerwqr' '123456'        --123456为密码(那是电动安装客商端系统成功后的root登入密码),werwqerwqr为随机字节压抑码(随意写)
$1$werwqerw$.prcfrYFbwuvkD8XspayN.

/var/log/cobbler/installing``: 客户端安装日志

# vim /etc/cobbler/settings
384 server: 192.168.100.221   --换来cobbler服务器端的IP
272 next_server: 192.168.100.221   --同上
101 default_password_crypted: "$1$werwqerw$.prcfrYFbwuvkD8XspayN."  --把密码字符串换来你上面产生的字符串(此密码为顾客机安装后的root登陆密码)

/var/log/cobbler/cobbler``.log : cobbler日志

解决急需3
# vim /etc/xinetd.d/tftp
        disable = no    --yes改为no

cobbler 命令介绍

缓和急需5

cobbler check 核对当前设置是否有问题

#systemctl restart rsyncd.service

cobbler list 列出所有的cobbler元素

#systemctl enable  rsyncd.service

cobbler report 列出元素的详细信息

消除要求8
# yum install fence-agents

cobbler ``sync 同步配置到数据目录,更改配置最好都要执行下

OK,剩下的供给像

cobbler reposync 同步yum仓库

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.
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories

cobbler distro 查看导入的发行版系统信息

(难点4可以运用cobbler get-loaders消除,但供给有外网和外网的yum源 跳过,今后是NAT方式;难点6 是有关debian系统的,大家这里能够忽视)

cobbler system 查看添加的系统信息

最后# systemctl restart cobblerd.service 重起下cobbler补鞋匠服务!

cobbler profile 查看配置信息

三.导入centos7.3的iso镜像

cobbler 主要的参数

本人的条件iso镜像挂载在/yum目录,此拷贝步骤时间较长

./etc/cobbler/settings中至关首要的参数设置

# cobbler import --path=/yum/ --name=centos7.3

.default_password_crypted: "$1$gEc7ilpP$pg5iSOj/mlxTxEslhRvyp/" 

# cobbler distro list   --导入成功后,确认导入的镜像名
  centos7.3-x86_64
# cobbler profile list   --导入成功后,确认暗中认可的profile名
  centos7.3-x86_64

#这里是设置新安装机器的root密码,用openssl passwd -1 生成加密密码

[root@bokeyuan ~]# cobbler import --path=/yum/ --name=centos7.3
task started: 2017-09-03_175701_import
task started (id=Media import, time=Sun Sep  3 17:57:01 2017)
Found a candidate signature: breed=RedHat, version=rhel6
Found a candidate signature: breed=redhat, version=rhel7
Found a matching signature: breed=redhat, version=rhel7
Adding distros from path /var/www/cobbler/ks_mirror/centos7.3:
creating new distro: centos7.3-x86_64
trying symlink: /var/www/cobbler/ks_mirror/centos7.3 -> /var/www/cobbler/links/centos7.3-x86_64
creating new profile: centos7.3-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/centos7.3 for centos7.3-x86_64
processing repo at : /var/www/cobbler/ks_mirror/centos7.3
need to process repo/comps: /var/www/cobbler/ks_mirror/centos7.3
looking for /var/www/cobbler/ks_mirror/centos7.3/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos7.3/repodata
*** TASK COMPLETE *** 

.manage_dhcp:1

四.修改dhcp配置
# vim /etc/cobbler/dhcp.template  --在这里文件的第21行到第25行改进成你对景挂画的网段和ip   

.manage_tftpd:1

subnet 192.168.100.0 netmask 255.255.255.0 {
    option routers            192.168.100.221;
    option domain-name-servers 192.168.100.221;
    option subnet-mask        255.255.255.0;
    range dynamic-bootp        192.168.100.100 192.168.100.254;

.pxe_just_once:1

--图形的操作进程这里大约后续还恐怕有这一步 首要

#以上调整为1,表示对相关服务进行控制

# vim /etc/cobbler/settings   --再去改良那些布局文件,改成dhcp服务由cobbler来治本
242 manage_dhcp: 1       --把0改为1

.next_server:< tftp服务器的IP 地址>

#  systemctl restart cobblerd.service  --保存后,再重启此服务

.server:<cobbler服务器的IP 地址>

五.使用cobbler sync同步,并启动xinetd服务

cobbler 蒙受检查

上边包车型大巴cobbler sync 十分重大,假诺那步报错应当要排出来,就经历来讲那步出错通常是IP配置出错,记得留意一点,个体差别不用就不详细表述~  

.实施Cobbler check命令司空见惯如下分外,日常是布局文件没改造导致

# cobbler sync

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

[root@bokeyuan ~]``# cobbler sync

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

task started: 2017-09-03_180107_sync

.3 : 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 recentversion 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.

task started (``id``=Sync, ``time``=Sun Sep  3 18:01:07 2017)

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

running pre-``sync triggers

.5 : comment ‘dists’ on ``/etc/debmirror``.conf ``for proper debian support

cleaning trees

.6 : comment ‘arches’ on ``/etc/debmirror``.conf ``for proper debian support

removing: ``/var/www/cobbler/images/centos7``.3-x86_64

.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

removing: ``/var/lib/tftpboot/pxelinux``.cfg``/default

generate new one

removing: ``/var/lib/tftpboot/grub/images

.8 : fencing tools were not found, and are required to use the (optional) power management features. ``install cman or fence-agents to use them

removing: ``/var/lib/tftpboot/grub/efidefault

Cobbler check何奇之有报错解决办法如下

removing: ``/var/lib/tftpboot/images/centos7``.3-x86_64

.纠正/etc/cobbler/settings文件中的server参数的值为提供cobbler服务的主机相应的IP地址或主机名

removing: ``/var/lib/tftpboot/s390x/profile_list

.修改/etc/cobbler/settings文件中的next_server参数的值为提供PXE服务的主机相应的IP地址

copying bootloaders

.如若当前节点能够采访互联网,试行“cobbler get-loaders”命令就能够;不然,供给安装syslinux程序包,而后制/usr/share/syslinux/{pxelinux.0,memu.c32}等公事至/var/lib/cobbler/loaders/目录中

trying hardlink ``/usr/share/syslinux/pxelinux``.0 -> ``/var/lib/tftpboot/pxelinux``.0

.实施“chkconfig rsync on”命令就可以

trying hardlink ``/usr/share/syslinux/menu``.c32 -> ``/var/lib/tftpboot/menu``.c32

.推行“openssl passwd -1 生成密码,并用其替换/etc/cobbler/settings文件中

trying hardlink ``/usr/share/syslinux/memdisk -> ``/var/lib/tftpboot/memdisk

default_password_crypted参数的值

copying distros to tftpboot

cobbler 相关管理

copying files ``for distro: centos7.3-x86_64

.下载运维菜单:cobbler get-loaders

trying hardlink ``/var/www/cobbler/ks_mirror/centos7``.3``/images/pxeboot/vmlinuz -> ``/var/lib/tftpboot/images/centos7``.3-x86_64``/vmlinuz

.管理distro ,这一步是导入光盘的保有文件,时间会相比较长,依照光盘的大大小小决如时期长短

trying hardlink ``/var/www/cobbler/ks_mirror/centos7``.3``/images/pxeboot/initrd``.img -> ``/var/lib/tftpboot/images/centos7``.3-x86_64``/initrd``.img

cobbler ``import --name=centos-6.9-x86_64 --path=``/media/cdrom

copying images

.处理profile ,即起步菜单

generating PXE configuration files

cobbler profile add --name=centos-6.9-x86_64-basic --distro=centos-6.9-x86_64 --kickstart=``/tmp/centos-6``.9-x86_64.cfg

generating PXE menu structure

.查看profiles

copying files ``for distro: centos7.3-x86_64

cobbler profile list

trying hardlink ``/var/www/cobbler/ks_mirror/centos7``.3``/images/pxeboot/vmlinuz -> ``/var/www/cobbler/images/centos7``.3-x86_64``/vmlinuz

.查看指引文件

trying hardlink ``/var/www/cobbler/ks_mirror/centos7``.3``/images/pxeboot/initrd``.img -> ``/var/www/cobbler/images/centos7``.3-x86_64``/initrd``.img

cat /var/lib/tftpboot/pxelinux``.cfg``/default

Writing template files ``for centos7.3-x86_64

.同步cobbler配置

rendering TFTPD files

.cobbler sync

generating ``/etc/xinetd``.d``/tftp

多系统指导方案

processing boot_files ``for distro: centos7.3-x86_64

导入多少个ks文件,并将ks文件和yum源做处理

cleaning link caches

cobbler ``import --name=CentOS-7-x86_64 --path=``/media/cdrom

running post-``sync triggers

cobbler的web管理贯彻

running python triggers from ``/var/lib/cobbler/triggers/sync/post/``*

.cobbler-web提供cobbler的依据web管理分界面,服务包来自epel源

running python trigger cobbler.modules.sync_post_restart_services

yum ``install cobbler-web

running shell triggers from ``/var/lib/cobbler/triggers/sync/post/``*

配置文件在/etc/httpd/conf.d/cobbler_web.conf,在httpd的安插目录下,所以要使得cobbler生效,必需重启httpd服务

running python triggers from ``/var/lib/cobbler/triggers/change/``*

.认证格局

running python trigger cobbler.modules.scm_track

.定义认证情势:/etc/cobbler/modules.conf,这里介绍二种注解办法求证cobbler_web用户, authn_configfile和authn_pam

running shell triggers from ``/var/lib/cobbler/triggers/change/``*

基于authn_configfile模块认证

*** TASK COMPLETE ***

.[authentication]块中module = authn_configfile,系统暗中同意正是authn_configfile那几个注明措施

# systemctl restart xinetd.service
# systemctl enable xinetd.service

.创造其验明正身文件/etc/cobbler/users.digest,并增添所需的客户

六.新建另贰个假造机 选用互连网安装PXE (保证同风姿洒脱私有互连网,况兼最佳2G内部存款和储蓄器,内部存款和储蓄器小的话会在装置时报空间相当不够的谬误),进行设置测量试验

htdigest  -c ``/etc/cobbler/users``.digest  Cobbler admin

图片 6   

#上述语句中Cobbler是一定要有的,何况率先个字母C大写

安装达成后,修改boot辅导

#admin是新扩展的文书,能够团结随意命名

图片 7

.注意:增多第三个顾客时,使用“-c”选项,后续增多任何用��时决不再使用,cobbler_web的realm只能为Cobbler

越来越多实际情况见请继续阅读下意气风发页的卓越内容: http://www.linuxidc.com/Linux/2017-09/146706p2.htm

重启cobbler服务

图片 8

基于authn_pam模块认证

.校勘配置文件/etc/cobbler/modules.conf里的 [authentication]块中钦赐module = authn_pam

.创建cobbler用户:useraddcobbler

useradd cobbleruser  -s  ``/sbin/nologin

echo Pass1234 |  ``passwd --stdin cobbleruser

.校正文件/etc/cobbler/users.conf,将团结创造的顾客设置为大班

[admins]

admin = "cobbleruser"别的不用校正

重启cobbler服务

测试

A.安装新的linux系统

B. 通过浏览器 输入客户名和密码即可访谈

安装cobbler步骤如下

1 安装包

yum -y  ``install cobbler  dhcp

systemctl  ``enable  cobblerd

systemctl  start  cobblerd

systemctl ``enable  tftp

systemctl start  tftp

systemctl ``enable httpd

systemctl start httpd

2 依据cobbler check 提醒进行退换

vim ``/etc/cobbler/settings 

default_password_crypted: ``"$1$8ckh4FrM$ayLsgQi85bi8Nt5Gj4Drj/" 

#openssl passwd -1 生成口令,设置新机器root的初始密码

next_server: 192.168.32.73

manage_dhcp: 1

server: 192.168.32.73

重启服务并合营文件

systemctl restart cobblerd

cobbler ``sync

2)生成dhcp模版文件

vi /etc/cobbler/dhcp``.template

subnet 192.168.32.0 netmask 255.255.255.0 {

``range dynamic-bootp        192.168.32.100 192.168.32.254;

#变更上面这行,其他行只要变更相关网络行配置就可以

}

同步文件  cobbler ``sync

3) 图谋运转文件和和菜单风格文件

复制菜单风格文件

 /var/lib/cobbler/loaders中大器晚成旦缺少一些网络运维加载程序,能够运转'cobbler get-loaders'来下载它们,可能,借使您只想管理x86 / x86_64 netbooting,则足以确认保证已设置 安装

了syslinux软件包的八个新本子,能够完全忽略那一个音讯。 该目录中的文件,假设要帮助具有架构,应饱含pxelinux.0,menu.c32,elilo.efi和yaboot。 “cobbler get-loaders”

命令是解决这么些需求的最简易方法。

连接internet

cobbler get-loaders

不连internet,只复制menu.c32,pxelinux.0多个公文的话,只协助安装x86/x86_64架构的系统,所以建议依然施行cobbler get-loaders,将所需的文书都下载到 /var/lib/cobbler/loaders来。

cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders

查阅运行菜单的菜谱选项,命令如下

cobbler profile list

若果无需有关菜单,能够用以下命令移除,

cobbler profile remove --name=centos7.3_desk

3 导入yum源

cobbler ``import --path=``/misc/cd --name=centos7.3 --arch=x86_64

#断开光盘连接,重新换张6.9的盘,进行安装

cobbler ``import --path=``/misc/cd --name=centos6.9 --arch=x86_64

cobbler distro list

cobbler profile list

这一步实践到位后,会将近期的光盘文件全体拷贝到/var/www/cobbler/ks_mirror这几个目录下,并且生成新的目录,目录名称本身钦赐,如centos7.3,这里这几个目录的名字假诺设定好了随后,

持续就不用继续改善目录名,不然生成菜单文件会要命,因为名字不宽容

4 生成ks

#小心,这里的回复文件是借助yum源自动生成的,大家也得以友善生成生成ks文件,然后在做管理,把应对文件里的安装方式改成 url  --url=$tree,就能够

活动去找到呼应的目录,当然这里也足以一直钦定相应的门道

此地的$tree 的不二法门可以因此以下命令查看,

cobbler  distro list 找到源配置文件,如centos73-x86_64

cobbler distro tree centos73-x86_64 就足以看出tree那些变量具体指哪个,如下

Kickstart Metadata             : {'tree': '

在意,cobbler特意放应答文件的目录是/var/lib/cobbler/kickstarts,将新生成的ks文件拷贝到这里/var/lib/cobbler/kickstarts就可以,如

cp  ks73min.cfg /var/lib/cobbler/kickstarts/

然后再将回应文件和yum源做涉嫌

cp  centos6.cfg centos7.cfg ``/var/lib/cobbler/kickstarts/

cobbler profile remove --name=centos6.9-x86_64

cobbler profile remove --name=centos7.3-x86_64

cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64  --kickstart=``/var/lib/cobbler/kickstarts/centos6``.cfg

cobbler profile add --name=centos7.3_mini --distro=centos7.3-x86_64  --kickstart=``/var/lib/cobbler/kickstarts/centos7``.cfg

#以上命令将设置的新变化的ks文件和要相应的装置的yum源关联起来,--name要新转换的菜单项的名字,--distro钦定yum源(cobbler distro list

本条命令查看当前有稍许个yum源,及其名称),--kickstart钦点ks文件的路线

cobbler sync

5 启用网页管理

htdigest  -c ``/etc/cobbler/users``.digest  Cobbler sunny

service httpd restart

service cobblerd restart

到那边cobbler安装实现了

6 测试

A安装虚构机

B展开cobbler管理页面

4 半自动化安装pxe意况脚本完成

那边附上自动化安装PXE情形的半自动化脚本

将菜单配置文件,dhcp配置文件,ks文件打包放在附属类小部件中,有必要能够下载查看

那几个配中,供给小心的是ks的文本中,对包源路线钦定,如

url --url="http://192.168.32.72/os/6i386/"

再有菜单文件中,ks路线的内定

 append initrd=6i386/initrd.img ks=

还会有,dhcp分配的网络段的分配,和当前的网络是可通的

在剧本中,有多少个地点供给留意

共盘算了多个版本的光盘,三十一个人的6.5本子,62位的6.9本子,和陆拾伍个人的7版本

挂载:/var/www/html/os/{6i386  6x86_64  7 }多个文件夹分别挂载对应的光盘,这里指动手动挂载

开头引导文件:指动手动内核和虚构根文件到/var/lib/tftpboot{ 6i386  6x86_64  7}那八个文本夹下

ks文件,提出提前计划好,也是手动复制到/var/www/html/ksdir下

就算剧本实现了自动化的复制,然而前提是/dev/sr0 ---> 6x86_64 ,/dev/sr1 ---> 6i386 ,/dev/sr2 ---> 7

剧本内容如下

#!/bin/bash

#

#******************************************************************************

#Author:               Sunny

#Date:                 2017-09-27

#FileName:             install_pxe_env.sh

#version:              1.0

#Your change info:

#Description:          For install PXE_environment auto

#DOC URL:

#Copyright(C):         2017  All rihts reserved

#*****************************************************************************

restart_dhcpd() {

service dhcpd restart &>``/dev/null``;

chkconfig dhcpd on &>``/dev/null``;

}

restart_tftp () {

sed -i ``'s/disable.*/disble = no/g' /etc/xinetd``.d``/tftp &>``/dev/null``;

chkconfig tftp on &>``/dev/null``;

service xinetd restart &>``/dev/null``;

}

restart_httpd(){

service httpd restart &>``/dev/null``;

chkconfig httpd on &>``/dev/null``;

}

min_time () {

``time``` = `date` %Y%m%d%H%M` ``

}

ip=$(``ifconfig  | ``awk '/inet /{print $2}'``| ``awk -F : ``'{print $NF}'``| ``head -1)

min_time;

#install server

echo "Now install dhcp,http,tftp server and tftp client,it might take few minites"

rpm -q httpd &>``/dev/null && restart_httpd || { yum -y ``install httpd &>``/dev/null``;restart_httpd; }

rpm -q dhcp &>``/dev/null && restart_dhcpd ||  { yum -y ``install dhcp&>``/dev/null``;restart_dhcpd; }

rpm -q tftp-server &>``/dev/null && restart_tftp  || { yum -y ``install tftp-server &>``/dev/null``;restart_tftp; }

rpm -q tftp &>``/dev/null || yum -y ``install tftp &>``/dev/null``;

#For centos 6.9,file pxelinux.0 comes from packges syslinux-nonlinux,other version is from syslinux,but if you install packge syslinux,it will also install syslinux-nonlinux packge,so just install syslinux packge is OK to get file syslinux-nonlinux.

rpm -q syslinux &>``/dev/null || yum -y ``install syslinux &>``/dev/null``;

 

#set http for yum server

#mount yum source

echo "Now you need to config  yum server in http server"

echo "Since I do not know which different disc your disc will be displayed,such as,centos7 display as /dev/sr0,or display as/dev/sr1 or other device "

echo "This time,I have three disks,6i386 means 386 arch for ceentos6.5,6x86_64 means 64bit for centos6.9,7 means centos7.3"

echo "the relation of my disk  dislay in the centos as below"

echo -e ``"/dev/sr0 ---> 6x86_64 n/dev/sr1 ---> 6i386 n/dev/sr2 ---> 7"

mkdir -p ``/var/www/html/os/``{6i386,6x86_64,7}

read -p ``"Would you want to mount disk auto:(eg:y/n): " automount

case $automount ``in

y)

echo -e ``"/dev/sr0 ---> 6x86_64 n/dev/sr1 ---> 6i386 n/dev/sr2 ---> 7"

mount /dev/sr0   /var/www/html/os/6x86_64

mount /dev/sr1   /var/www/html/os/6i386

mount /dev/sr2   /var/www/html/os/7

;;

*)

echo "Since your answer is no or other,please mount disk after the script end"

echo "eg: run    mount /dev/sr0   /var/www/html/os/6x86_64  "

echo "eg: if your want to mount the disk fixed,please write to /etc/fstab,eg: /dev/sr0        /var/www/html/os/6x86_64      iso9660    defaults        0 0 "

;;

esac

 

#prepare ks file in /var/www/html/ksdir

echo "If your have put ks file in other hosts,your should input remote ,and input the remote file full path,and it will use scp cmd to copy the ks file directory to /var/www/html/ksdir"

echo "If you put dir in local host,input local,it will will cp cmd to  copy the ks file directory to /var/www/html/ksdir"

echo "if you input any other,you should cp ksdir to /var/www/html/ksdir"

read -p ``"Do you want to copy remote ks dir( r (remote) or l (local) or any other input ): " ifcopy

mkdir -p ``/var/www/html/ksdir/

case $ifcopy ``in 

r|remote)

read -p ``"input the remote ksdir directory(defaults:root@172.18.50.75:/var/www/html/ksdir/*): " ksdir

if [ -z ${ksdir:-} ];``then

ksdir=``"root@172.18.50.75:/var/www/html/ksdir/*"

fi

read -p ``"input host user's password you have put: " passwd

``expect -c "

``spawn  ``scp  $ksdir ``/var/www/html/ksdir/

``expect {

``"*assword" {``set timeout 300; send "$``passwd``r"; }

``"``yes``/no``" { send "``yes``r"; exp_continue; }

``}

``expect eof"

 

``ls /var/www/html/ksdir | ``while read ksfile; ``do

``sed -i ``"s@url --url="http://.*/os/@url --url="http://$ip/os/@g"  /var/www/html/ksdir/``$ksfile

``done

 

;;

l|``local )

read -p ``"Please input your local ks directory(eg:/root/ksdir/*): " ksdir

cp $ksdir ``/var/www/html/ksdir/

;;

*)

echo "your input is wrong,please manual copy ksdir to /var/www/html/ksdir/"

;;

esac

 

#config dhcp

echo "Now config dhcp server..."

read -p ``"Input your next-server ip(default is your host ip): " nextip

if [ -z ${nextip:-} ];``then

nextip=``"$ip"

fi

echo nextip is ``"$nextip"

mv /etc/dhcp/dhcpd``.conf ``/etc/dhcp/dhcpd``.conf.``"$time"``.bak

cat >``/etc/dhcp/dhcpd``.conf<<eof

option domain-name ``"sunny.com"``;

option domain-name-servers 192.168.32.61;

default-lease-``time 86400;

max-lease-``time 86400;

subnet 192.168.32.0 netmask 255.255.255.0 {

range 192.168.32.100 192.168.32.200;

option routers 192.168.32.1;

next-server $nextip;

filename ``"pxelinux.0"``;

}

log-facility local7;

eof

 

echo "As default,the dhcp server will alocate ip 192.168.32.100--192.168.32.200,dns server is 192.168.32.61,router is 192.168.32.1,if you want to change these config ,please run 'vim /etc/dhcp/dhcpd.conf' to change /etc/dhcp/dhcpd.conf"

 

echo "dhcp is complete config now"

 

#config tltp

echo "If you want to copy linux kernel file to /var/lib/tftpboot/{6i386,6x86_64,7}"

read -p ``"Please input m(means manual) or a (means auto): " copyfile

case $copyfile ``in

a)

mkdir -p ``/var/lib/tftpboot/``{6i386,6x86_64,7}

cp /var/www/html/os/6i386/isolinux/``{initrd.img,vmlinuz} ``/var/lib/tftpboot/6i386

cp /var/www/html/os/6x86_64/isolinux/``{initrd.img,vmlinuz} ``/var/lib/tftpboot/6x86_64

cp /var/www/html/os/7/isolinux/``{initrd.img,vmlinuz}   ``/var/lib/tftpboot/7

;;

*)

echo "Your input is m or other things"

echo "you should do two things after the scripts"

echo "create directory under /var/lib/tftpboot/,such as mkdir /var/lib/tftpboot/6i386"

echo "copy the kernel file to the relative dir,such as cp /var/www/html/os/6i386/isolinux/{initrd.img,vmlinuz} /var/lib/tftpboot/6i386"

echo "If you have many other yum source,please create relative dir under /var/lib/tftpboot/6i386"

;;

esac

 

cp /usr/share/syslinux/``{pxelinux.0,menu.c32} ``/var/lib/tftpboot/

 

echo "Now config defaults file ,you can copy the host relative disk file ,/media/isolinux/isolinux.cfg to /var/lib/tftpboot/pxelinux.cfg,and rename it to defaults,and the modify the config,run cmd 'cp /media/isolinux/isolinux.cfg /var/lib/tftpboot/    pxelinux.cfg/default' "

echo "Now I will config /var/lib/tftpboot/pxelinux.cfg/default"

mkdir  /var/lib/tftpboot/pxelinux``.cfg

cat > ``/var/lib/tftpboot/pxelinux``.cfg``/default``<<eof

 

default menu.c32

#prompt 1

timeout 80

 

display boot.msg

 

menu background splash.jpg

menu title Welcome to Sunny diy ``install Linux!

menu color border 0 ``#ffffffff #00000000

menu color sel 7 ``#ffffffff #ff000000

menu color title 0 ``#ffffffff #00000000

menu color tabmsg 0 ``#ffffffff #00000000

menu color unsel 0 ``#ffffffff #00000000

menu color hotsel 0 ``#ff000000 #ffffffff

menu color hotkey 7 ``#ffffffff #ff000000

menu color scrollbar 0 ``#ffffffff #00000000

 

label desktop73

``menu label Install diy ^desktop centos 7

``menu default

``kernel 7``/vmlinuz

``append initrd=7``/initrd``.img ks=http:``//``$ip``/ksdir/ks73desk``.cfg

label mini73

``menu label Install diy ^mini centos 7

``menu default

``kernel 7``/vmlinuz

``append initrd=7``/initrd``.img ks=http:``//``$ip``/ksdir/ks73min``.cfg

label desktop6.5

``menu label Installed d^esktop centos 6.5 i386

``kernel 6i386``/vmlinuz

``append initrd=6i386``/initrd``.img ks=http:``//``$ip``/ksdir/ks65desk``.cfg

label mini6.5

``menu label Install m^ini centos 6.5 i386

``kernel 6i386``/vmlinuz

``append initrd=6i386``/initrd``.img ks=http:``//``$ip``/ksdir/ks65min``.cfg

label desktop6.9

``menu label Installed de^sktop centos 6.9

``kernel 6x86_64``/vmlinuz

``append initrd=6x86_64``/initrd``.img ks=http:``//``$ip``/ksdir/ks69desk``.cfg

label mini6.9

``menu label Install mi^ni centos 6.9

``kernel 6x86_64``/vmlinuz

``append initrd=6x86_64``/initrd``.img ks=http:``//``$ip``/ksdir/ks69min``.cfg

eof

 

echo "tftp is config OK"

 

#restart server

echo "now restart server"

restart_httpd;

restart_tftp;

restart_dhcpd;

netstat -ntulp | ``grep dhcpd | ``grep :67 &>``/dev/null && ``echo "dhcp is running..." || ``echo "dhcp is not run,please check"

netstat -ntulp | ``grep httpd | ``grep :80 &>``/dev/null && ``echo "http is running..." || ``echo "http is not run,please check"

netstat -ntulp | ``grep xinetd | ``grep 69 &>``/dev/null && ``echo "tftp is running..." || ``echo "tftp is not run,please check"

5 小结

关于PXE和cobbler安装,三个完结的功力同样,都是自动化安装系统,而且达成原理上也基本少年老成致,不过,由于cobbler是PXE的改进版,全数个人认为,cobbler的装置更为方便。

小说最后,附上的PXE安装景况,也近乎达成了自动化安装PXE,自动拷贝了本子,当客商相似是挂载四个光盘,何况挂载的路径和小说中牵线的如出生机勃勃辙,就能够达成自动化挂载,同期,需求有备无患了连带的ks文件,放到钦命目录下时,依照脚本的提示也得以兑现自动化拷贝到相关目录下。文末附属类小部件将附着脚本中的6个ks文件,dhcp配置和菜单文件的装置。

可以到Linux公社财富站下载:

------------------------------------------分割线------------------------------------------

免费下载地址在

客户名与密码都以www.linuxidc.com

切实下载目录在 /二〇一七年龄资历料/7月/1日/基于PXE 和 Cobbler 自动安装Linux系统/

下载方式见 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割线------------------------------------------

正文永世更新链接地址:http://www.linuxidc.com/Linux/2017-10/147226.htm

图片 9

本文由星彩网app下载发布于星彩网app下载,转载请注明出处:批量部署操作系统之一,自动安装Linux系统

TAG标签: 星彩网app下载
Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。