zoukankan      html  css  js  c++  java
  • cobbler自动化部署原理篇

     Cobbler通过将设置和管理一个安装服务器所涉及的任务集中在一起,从而简化了系统配置。

    一、Cobbler简介
    Cobbler通过将设置和管理一个安装服务器所涉及的任务集中在一起,从而简化了系统配置。相当于Cobbler封装了DHCP、TFTP、XINTED等服务,结合了PXE、kickstart等安装方法,可以实现自动化安装操作系统,并且可以同时提供多种版本,以实现在线安装不同版本的系统。

        Server端:

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

        Client端:

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

      关于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的工作流程

                  

      • 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,并按照该文件的配置请求下载安装过程需要的软件包。

    Reference:

    Cobbler自动化之原理

    预启动执行环境

    http://cobbler.github.io/

  • 相关阅读:
    使用Leangoo玩转故事地图
    用Leangoo做敏捷需求管理
    LEANGOO成员
    LEANGOO卡片
    给WebAPI的REST接口添加测试页面(三)
    使用Win2D在UWP程序中2D绘图(二)
    Visual Studio 2015的“转到定义”和“查看定义”出错的Bug
    使用Win2D在UWP程序中2D绘图(一)
    Windows 10 UWP程序标题栏设置
    .NET 4.6的RyuJIT尾递归优化的Bug
  • 原文地址:https://www.cnblogs.com/lichenghong/p/14687896.html
Copyright © 2011-2022 走看看