Cobbler实现自动化安装(上)--原理篇_Nginx_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Nginx

    当前位置:主页 > 服务器教程 > Nginx >

    Cobbler实现自动化安装(上)--原理篇

    时间:2019-08-12|栏目:Nginx|点击:
  • 了解Cobbler之前,我们需要先对PXE及KickStart有一定的认识。

    PXE

      PXE(Pre-bootExecution Environment),预启动执行环境,通过网络接口启动计算机,支持Client通过网络从Server下载映像,并由此通过网络启动操作系统;在启动过程中,Client要求Server分配IP地址,再用TFTP下载一个启动软件包到本机内存中执行,由这个启动软件包完成Client基本的软件设置并安装操作系统。
      要达成PXE有两个必须的条件:
      (1)Client的网卡必须要支持PXE功能,并且开机时选择从网卡启动;
      (2)完整的PXE Server必须要提供含有DHCP、TFTP服务,还要加上NFS/FTP/HTTP(选择一样即可)等提供安装文件(安装镜像的解压文件)。

    KickStart

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

    KickStart安装选项,包含语言的选择,防火墙,密码,网络,分区的设置等;

    %Pre部分,安装前解析的脚本,通常用来生成特殊的ks配置,比如由一段程序决定磁盘分区等;

    %Package部分,安装包的选择,可以是@core这样的group形式,也可以是vim-*这样的包形式;

    %Post部分,安装后执行的脚本,通常用来做系统的初始化设置,比如启动的服务,相关的设定等。

    PXE+KickStart的工作流程

    Cobbler实现自动化安装(上)--原理篇

    1. PXE Client向DHCP Server发送请求:支持PXE的网络接口卡(NIC)的Client的BIOS设置成为网络启动,通过UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP Server索取IP地址等信息。

    2. DHCP Server提供信息:DHCP Server收到Client的请求,验证是否来至合法的PXE Client的请求,验证通过它将给Client返回响应,响应内容包含了为Client分配的IP Address、TFTP Server以及配置文件所在位置。

    3. PXE Client请求下载启动文件:Client收到DHCP Server的响应后,会回应一个帧,以请求传送启动所需文件,这些启动文件包括:pxelinux.0(相当于boot loader)、pxelinux.cfg/default、vmlinuz、initrd.img等文件。

    4. TFTP Server响应Client请求并传送文件:Client会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。

    5. 请求下载自动应答文件:Client通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。(或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。从而进行两次获取IP地址过程。)接着读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

    6. Client安装操作系统:将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。

    Cobbler 概述

      Cobbler由Python语言开发,是对PXE和KickStart的封装,融合很多特性,提供了CLI和Web的管理形式,能更加方便地实行网络安装;Cobbler也提供了API接口,因此使用其它语言也很容易做扩展。Cobbler不仅可以安装物理机,同时也支持KVM、XEN虚拟化、Guest OS的安装;更多的是它还能结合Puppet等集中化管理软件,实现自动化的管理。

    组成

    Cobbler实现自动化安装(上)--原理篇

      Cobbler的结构基于一组注册的对象,每个对象都是相互关联的实体(该实体指向另一个实体,或者另一个实体指向该实体)。当一个对象指向另一个对象时,它就继承了被指向对象的数据,并可覆盖或添加更多特定信息。对象类型的定义为:

    发行版(Distribution):表示一个操作系统,它承载了kernel和initrd的信息,以及内核参数等其它数据;

    配置文件(Profile):包含一个发行版、一个KickStart文件以及可能的存储库,还包含更多特定的内核参数等其它数据;

    系统(System):包含一个配置文件或一个镜像,还包含IP Address和MAC Address、电源管理(地址、凭据、类型)以及更为专业的数据等信息;

    存储库(Repository):保存一个yum或rsync存储库的镜像信息;

    镜像(Image):可替换一个包含不属于此类别的文件的发行版对象。

    上一篇:cal命令:在Linux终端中使用日历

    栏    目:Nginx

    下一篇:Linux终端显示日历信息的命令:ncal命令

    本文标题:Cobbler实现自动化安装(上)--原理篇

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Nginx/19915.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号