Cobbler部署(PXE二次封装)

Cobbler 部署

一、Cobbler简介

  • Cobbler是一款Linux生态的自动化运维工具,基于Python2开发,用于自动化批量部署安装操作系统;其提供基于CLI的管理方式和WEB配置界面,其中WEB配置界面是基于Python2和Django框架开发。另外,cobbler还提供了API,方便二次开发。当然,Cobbler属于C/S模型(客户端/服务器模型)

  • Cobbler主要用于快速网络安装linux操作系统,支持众多的Linux发行版如:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE等。

  • 在cobbler之前,微软曾开发过另一项类似的基于C/S工作模式的技术PXE(Prebot eXecute Environment,预启动执行环境),其支持通过网络启动操作系统,亦可以让需要安装系统的带支持PEX技术网卡的裸机通过网络从http服务器下载映像来安装,在启动过程中,客户端需要从dhcp服务器得到IP地址、掩码、网关以及相关的配置文件路径,再用TFTP(trivial file transfer protocol)协议从服务器下载一个引导启动的软件包(类似linux光盘的isolinux文件夹下的文件)并加载到本机内存中执行,经过启动软件包中配置文件指定的ks应答文件指明服务器中的操作系统位置,进而找到安装源,并在ks文件的指导下完成操作系统的安装。

  • Cobbler实质是PXE的二次封装,将多种安装参数封装到一起,并提供统一的管理方法。

总结:cobbler是基于PXE技术的工作原理二次封装,通过命令的方式简化了PXE配置过程。

二、Cobbler的工作原理

  • client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP
  • DHCP服务器(cobbler server)收到请求后发送responese,包括其ip地址
  • client裸机拿到ip后再向cobbler server发送请求OS引导文件的请求
  • cobbler server告诉裸机OS引导文件的名字和TFTP server的ip和port
  • client裸机通过上面告知的TFTP server地址通信,下载引导文件
  • client裸机执行执行该引导文件,确定加载信息,选择要安装的os,期间会再向cobbler server请求kickstart文件和os image
  • cobbler server发送请求的kickstart和os iamge
  • client裸机加载kickstart文件
  • client裸机接收os image,安装该os image

三、Cobbler安装

  • cobbler安装之前要先部署PXE配置

1、操作过程命令格式

yum install epel-release.noarch  -y    #安装yum额外源

yum install cobbler dhcp -y    #安装软件包

systemctl enable  --now cobblerd httpd tftp dhcpd    #开启服务

cobbler check    #查看Cobbler服务器的配置

openssl passwd -1 "123456"    #生成一个加密密码

vim /etc/cobbler/settings    #编辑配置文件
101  default_password_crypted: "$1$sfAXRcPG$4Q2ko.mlKbf6Fx5J9Cg4H/"
242   manage_dhcp: 1
278  next_server: 192.168.10.11
298  pxe_just_once: 1
390  server: 192.168.10.11
#101行:将密码替换成生成的加密密码
#242行:将值改为1,表示通过cobbler工具生成dhcp.conf配置文件
#278行:地址改成自己的ip地址
#298行:将值改为1,表示如果客户端有系统,则该工具不生效,防止重复安装系统
#390行:地址改成自己的ip地址

vim /etc/cobbler/dhcp.template    #编辑配置文件
21 subnet 192.168.10.0 netmask 255.255.255.0 {
   
 22      option routers             192.168.10.2;
 23      option domain-name-servers 8.8.8.8;
 24      option subnet-mask         255.255.255.0;
 25      range dynamic-bootp        192.168.10.20 192.168.10.30;
#修改内容跟dhcp服务配置文件一致

cobbler sync    #同步生成的配置文件

systemctl restart cobblerd.service    #开启服务

tree /var/lib/tftpboot/    #查看给目录下生成的文件

mount /dev/sr0 /mnt    #挂载

cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64    #将/mnt目录下的所有文件,复制到固定目录/var/www/cobbler/ks_mirror/,文件名为centos-7.7-x86_64

du -sh /var/www/cobbler/ks_mirror/*    #实时查看该目录下文件的大小

#客户机以网络方式启动,进入显示界面,选择之前复制的文件名centos-7-x86_64

2、cobbler安装图文详解

  • 服务端

image-20240118161035872

image-20240118161132706

image-20240118172253744

image-20240118172431348

image-20240118172641328

image-20240118172105939

image-20240118182842682

image-20240118173529501

image-20240118173749326

image-20240118174858789

image-20240118175225773

  • 客户端

    客户机以网络方式启动,进入下图显示界面,选择centos-7-x86_64,(centos-7-x86_64是之前复制光盘文件时设置的文件名)image-20240118175805600

相关推荐

  1. axios封装封装

    2024-01-19 23:40:02       71 阅读
  2. 封装搜索组件

    2024-01-19 23:40:02       32 阅读
  3. Axios 封装详解

    2024-01-19 23:40:02       40 阅读
  4. 关于axios的封装

    2024-01-19 23:40:02       56 阅读
  5. vue对axios进行封装

    2024-01-19 23:40:02       49 阅读
  6. vue3 axios封装

    2024-01-19 23:40:02       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-19 23:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-19 23:40:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-19 23:40:02       82 阅读
  4. Python语言-面向对象

    2024-01-19 23:40:02       91 阅读

热门阅读

  1. 【个人笔记】由浅入深分析 ClickHouse

    2024-01-19 23:40:02       57 阅读
  2. js面试题

    2024-01-19 23:40:02       44 阅读
  3. 服务器怎么更换cdn?-速盾网络

    2024-01-19 23:40:02       59 阅读
  4. C语言中宏定义中#和##使用详解

    2024-01-19 23:40:02       57 阅读
  5. 高防服务器的优点有哪些?

    2024-01-19 23:40:02       57 阅读
  6. 计算机网络(第六版)复习提纲2

    2024-01-19 23:40:02       48 阅读
  7. Spring⾥⽤到的设计模式

    2024-01-19 23:40:02       47 阅读