加入收藏 | 设为首页 | 会员中心 | 我要投稿 甘南站长网 (https://www.0941zz.com/)- 科技、行业物联网、开发、云计算、云管理!
当前位置: 首页 > 综合聚焦 > Linux > 正文

LINUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7

发布时间:2020-09-01 22:33:27 所属栏目:Linux 来源:互联网
导读:介绍《LINUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7》开发教程,希望对您有用。

《LINUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7》要点:
本文介绍了LINUX学习:PXE+DHCP+TFTP+Cobbler 无人值守安装CentOS 7,希望对您有用。如果有疑问,可以联系我们。

Cobbler(补鞋匠)是通过将DHCP、TFTP、DNS、HTTP等服务进行集成,创立一个中央管理节点,其可以实现的功能有配置服务,创立存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电源管理等. Cobbler的最终目的是实现无需进行人工干预即可安装机器.

pxe概述
预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统

PXE Client发送广播包哀求DHCP分配IP地址DHCP
Server回复哀求,给出IP地址以及Boot
Server的地址PXE下载引导文件执行引导程序

总结来说,

  pxe客户端会挪用网际协议(ip)、用户数据报协议(udp)、动态主机设定协议(DHCP)、小型文件传输协议(TFTP)

  pxe客户端(client)指机器在pxe启动进程中的角色.一个pxe客户端可以是一台服务器、笔记本电脑或者其他装有pxe启动代码的机器

  PXE主要是通过广播的方式发送一个包,并请注获取一个地址,而后交给TFTP法式下载一个引导文件.

cobbler和Kickstart批量装机软件

Cobbler由python语言开发,是对PXE和Kickstart以及DHCP的封装.融合很多特性,提供了CLI和Web的管理形式.更加便利的实行网络安装.同时,Cobbler也提供了API接口,使用其它语言也很容易做扩展.它不紧可以安装物理机,同时也支持kvm、xen虚拟化、Guest OS的安装.更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理.

Kickstart 是一种无人值守的安装方式,它的工作原理是在安装过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件.我们可以简单理解为一个自动安装应答配置管理法式.通过读取这个配置文件,系统知道怎么去分区,要安装什么包,配什么IP,优化什么内核参数等等

一句话总结:Cobbler补鞋匠是对Kickstart的封装,简化安装步调、使用流程,官方号称补鞋匠都能学会的批量装机.

Cobbler 事情流程

server端:

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

Client端:

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

正式情况准备:

1.网络环境:host-only、nat网络,因为Cobbler需要用到本身的dhcp服务器,所以为了防止都在同一个网络造成dhcp获取混乱,需要切换网络!~

2.类似安装服务必要的环境准备:1,关闭iptables,selinux 2,配置静态IP、设置主机名 并且在hosts文件下绑定 3.时间同步 4.配置当地iso镜像里的yum仓库,163源epel源 (安装软件)

cobbler server ------- client
192.168.100.221/24 ------------------------------------ 装机时候由DHCP自动设置装备摆设

一. 在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 Loaded plugins: fastestmirror,langpacks Loading mirror speeds from cached hostfile Package rsync-3.0.9-17.el7.x86_64 already installed and latest version Package 12:dhcp-common-4.2.5-47.el7.CentOS.x86_64 already installed and latest version 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 Resolving Dependencies --> Running transaction check ---> 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 --> Processing Dependency: mod_wsgi for package: cobbler-2.6.3-1.el6.noarch --> Processing Dependency: PyYAML for package: cobbler-2.6.3-1.el6.noarch ---> Package cobbler-web.noarch 0:2.6.3-1.el6 will be installed --> Processing Dependency: mod_ssl for package: cobbler-web-2.6.3-1.el6.noarch --> Processing Dependency: Django for package: cobbler-web-2.6.3-1.el6.noarch ---> Package dhcp.x86_64 12:4.2.5-47.el7.centos will be installed ---> 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 --> Processing Dependency: mvn(commons-codec:commons-codec) for package: httpcomponents-client-4.2.5-5.el7_0.noarch ---> Package httpcomponents-core.noarch 0:4.2.4-6.el7 will be installed ---> Package httpd.x86_64 0:2.4.6-45.el7.centos will be installed --> Processing Dependency: /etc/mime.types for package: httpd-2.4.6-45.el7.centos.x86_64 ---> Package httpd-devel.x86_64 0:2.4.6-45.el7.centos will be installed --> Processing Dependency: apr-util-devel for package: httpd-devel-2.4.6-45.el7.centos.x86_64 --> Processing Dependency: apr-devel for package: httpd-devel-2.4.6-45.el7.centos.x86_64 ---> Package httpd-manual.noarch 0:2.4.6-45.el7.centos will be installed ---> Package httpd-tools.x86_64 0:2.4.6-45.el7.centos will be installed ---> Package syslinux.x86_64 0:4.05-13.el7 will be installed ---> Package tftp.x86_64 0:5.2-13.el7 will be installed ---> Package tftp-server.x86_64 0:5.2-13.el7 will be installed ---> 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 --> Processing Dependency: python-simplejson for package: Django14-1.4.20-1.el6.noarch ---> 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 ---> Package apache-commons-codec.noarch 0:1.8-7.el7 will be installed ---> Package apache-commons-logging.noarch 0:1.1.2-7.el7 will be installed --> Processing Dependency: mvn(logkit:logkit) for package: apache-commons-logging-1.1.2-7.el7.noarch --> Processing Dependency: mvn(log4j:log4j) for package: apache-commons-logging-1.1.2-7.el7.noarch --> Processing Dependency: mvn(avalon-framework:avalon-framework-api) for package: apache-commons-logging-1.1.2-7.el7.noarch ---> Package apr-devel.x86_64 0:1.4.8-3.el7 will be installed ---> Package apr-util-devel.x86_64 0:1.5.2-6.el7 will be installed --> Processing Dependency: openldap-devel(x86-64) for package: apr-util-devel-1.5.2-6.el7.x86_64 --> 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 ---> 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 ---> Package mailcap.noarch 0:2.1.41-2.el7 will be installed ---> Package mod_ssl.x86_64 1:2.4.6-45.el7.centos will be installed ---> Package mod_wsgi.x86_64 0:3.4-12.el7_0 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 --> 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 --> Processing Dependency: tomcat-servlet-3.0-api for package: avalon-logkit-2.1-14.el7.noarch --> Processing Dependency: jms for package: avalon-logkit-2.1-14.el7.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 ---> Package expat-devel.x86_64 0:2.1.0-8.el7 will be installed ---> Package libdb-devel.x86_64 0:5.3.21-19.el7 will be installed ---> Package libyaml.x86_64 0:0.1.4-11.el7_0 will be installed ---> 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 ---> Package openldap-devel.x86_64 0:2.4.40-13.el7 will be installed --> Processing Dependency: cyrus-sasl-devel(x86-64) for package: openldap-devel-2.4.40-13.el7.x86_64 --> 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 --> 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 ---> Package cyrus-sasl-devel.x86_64 0:2.1.26-20.el7_2 will be installed ---> Package geronimo-jms.noarch 0:1.1.1-19.el7 will be installed ---> Package javamail.noarch 0:1.4.6-8.el7 will be installed ---> 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 --> Processing Dependency: xerces-j2 for package: xalan-j2-2.7.1-23.el7.noarch --> Processing Dependency: osgi(org.apache.xerces) for package: xalan-j2-2.7.1-23.el7.noarch --> 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 --> 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 ---> Package xerces-j2.noarch 0:2.11.0-17.el7_0 will be installed --> Processing Dependency: xml-commons-resolver >= 1.2 for package: xerces-j2-2.11.0-17.el7_0.noarch --> Processing Dependency: xml-commons-apis >= 1.4.01 for package: xerces-j2-2.11.0-17.el7_0.noarch --> Processing Dependency: osgi(org.apache.xml.resolver) for package: xerces-j2-2.11.0-17.el7_0.noarch --> Processing Dependency: osgi(javax.xml) for package: xerces-j2-2.11.0-17.el7_0.noarch --> 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 --> 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 ---> Package xml-commons-apis.noarch 0:1.4.01-16.el7 will be installed ---> Package xml-commons-resolver.noarch 0:1.2-15.el7 will be installed --> Finished Dependency Resolution Error: Package: Django14-1.4.20-1.el6.noarch (cobbler) Requires: python-simplejson Error: Package: cobbler-2.6.3-1.el6.noarch (cobbler) Requires: python-simplejson Error: Package: Django14-1.4.20-1.el6.noarch (cobbler) Requires: python(abi) = 2.6 Installed: python-2.7.5-48.el7.x86_64 (@anaconda) python(abi) = 2.7 python(abi) = 2.7 Error: Package: cobbler-2.6.3-1.el6.noarch (cobbler) Requires: python-cheetah You could try using --skip-broken to work around the problem ** Found 3 pre-existing rpmdb problem(s),'yum check' output follows: 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 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 ipa-common-4.4.0-12.el7.centos.noarch has installed conflicts freeipa-common: ipa-common-4.4.0-12.el7.centos.noarch

报错办理:提示--skip-broken,检查发现自己yum源不全yum无法安装上面三个依赖包.补全yum源办理

安装完成,启动软件

(编辑:甘南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读