当前位置: 首页 > news >正文

Cobbler:一站式自动化系统部署方案

Cobbler 的工作原理

核心功能

Cobbler 用于集中管理操作系统镜像、 Kickstart 自动安装配置文件、DHCP/PXE 服务等,实现批量、自动化的系统部署,避免手动安装的繁琐。

工作流程
  1. 镜像管理:Cobbler 导入操作系统 ISO 镜像,自动提取内核(vmlinuz)和初始化镜像(initrd),供 PXE 启动使用。
  2. PXE 引导:结合 DHCP 服务,为待部署主机分配 IP 地址,并告知其从 Cobbler 服务器获取引导文件(通过 TFTP)。
  3. 自动安装:待部署主机通过 PXE 加载内核和初始化镜像后,Cobbler 推送对应的 Kickstart 配置文件,实现无人值守安装。
  4. 后续配置:支持安装后自动执行脚本(如配置软件、网络等),实现全流程自动化。
依赖组件
  • TFTP 服务:传输 PXE 引导文件(内核、初始化镜像)。
  • DHCP 服务:为客户端分配 IP 并指定引导服务器地址(可由 Cobbler 管理或外部 DHCP 服务器配合)。
  • HTTP/HTTPS:提供安装镜像和 Kickstart 文件的访问。
  • rsync:用于同步镜像文件(可选)。
  • cobbler官网:https://cobbler.github.io/

    1、cobbler集成的服务:

    PXE服务支持
    DHCP服务管理
    DNS服务管理(可选bind,dnsmasq)
    电源管理
    Kickstart服务支持
    YUM仓库管理
    TFTP(PXE启动时需要)
    Apache(提供kickstart的安装源,并提供定制化的kickstart配置)

    2、cobbler配置文件详解:

    cobbler配置文件目录在/etc/cobbler
    配置文件                      作用
    /etc/cobbler/settings cobbler 主配置文件
    /etc/cobbler/iso/ iso模板配置文件
    /etc/cobbler/pxe pxe模板配置文件
    /etc/cobbler/power 电源配置文件
    /etc/cobbler/user.conf  web服务授权配置文件
    /etc/cobbler/users.digest web访问的用户名密码配置文件
    /etc/cobbler/dhcp.template dhcp服务器的的配置模板
    /etc/cobbler/dnsmasq.template dns服务器的配置模板
    /etc/cobbler/tftpd.template tftp服务的配置模板
    /etc/cobbler/modules.conf 模块的配置文件

    3、cobbler数据目录:

    目录                                                           作用
    /var/lib/cobbler/config/ 用于存放distros,system,profiles等信息配置文件
    /var/lib/cobbler/triggers/ 用于存放用户定义的cobbler命令
    /var/lib/cobbler/kickstart/ 默认存放kickstart文件
    /var/lib/cobbler/loaders/ 存放各种引导程序以及镜像目录
    /var/www/cobbler/ks_mirror/ 导入的发行版系统的所有数据
    /var/www/cobbler/images/ 导入发行版的kernel和initrd镜像用于远程网络启动
    /var/www/cobbler/repo_mirror/ yum仓库存储目录

    4、cobbler日志文件:

    日志文件路径                       说明
    /var/log/cobbler/installing 客户端安装日志
    /var/log/cobbler/cobbler.log cobbler日志
    5、cobbler命令详解:
    cobbler check       //核对当前设置是否有问题
    cobbler list        //列出所有的cobbler元素
    cobbler report      //列出元素的详细信息
    cobbler sync        //同步配置到数据目录,更改配置最好都要执行下
    cobbler reposync    //同步yum仓库
    cobbler distro      //查看导入的发行版系统信息
    cobbler system      //查看添加的系统信息
    cobbler profile     //查看配置信息

二、cobbler服务端部署

1,配置yum源

安装阿里云镜像源

[root@ycy3 yum.repos.d]# yum -y install epel-release
[root@ycy3 yum.repos.d]# yum -y install install httpd dhcp* tftp tftp-server cobbler cobbler-web pykickstart rsync rsync-daemon

2,启动服务并关闭防火墙

[root@ycy3 yum.repos.d]# systemctl restart httpd;systemctl enable httpd
[root@ycy3 ~]# systemctl restart rsyncd;systemctl enable rsyncd
[root@ycy3 ~]# systemctl restart tftp; systemctl enable tftp
[root@ycy3 ~]# systemctl restart cobblerd;systemctl enable cobblerd

3,修改server的ip地址为本机ip,设置tftp的ip地址为本机ip

[root@ycy3 ~]# cd /etc/cobbler
[root@ycy3 cobbler]# vim settings
##修改server的ip地址为本机ip,找server
##设置tftp的ip地址为本机ip,找next_server

5,生成加密的密码

[root@ycy3 cobbler]#  openssl passwd -1 -salt "$RANDOM" 'redhat'
$1$25440$YRIf/wT.LEqc3M6BZ4VHR0

6,将新生成的加密密码加入到配置文件

[root@ycy3 ~]# cd /etc/cobbler
##找default_password_crypted: 写入加密密码

7,将cobbler的dhcp功能打开

manage_dhcp: 1

8,重启cobbler

systemctl restart cobblerd

9,通过cobbler check 核对当前设置是否有问题

[root@ycy3 cobbler]# cobbler check
The following are potential configuration items that you may want to fix:1 : change 'disable' to 'no' in /etc/xinetd.d/tftp
2 : Some network boot-loaders are missing from /var/lib/cobbler/loaders.  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.
3 : debmirror package is not installed, it will be required to manage debian deployments and repositories
4 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use themRestart cobblerd and then run 'cobbler sync' to apply changes.

问题一:

vim /etc/xinetd.d/tftp
##将disable 改为 no[root@ycy3 cobbler]# systemctl restart tftp ##重启

问题二:

[root@ycy3 cobbler]# yum -y install syslinux*
[root@ycy3 cobbler]# cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/
[root@ycy3 cobbler]# cp /usr/share/syslinux/menu.c32 /var/lib/cobbler/loaders/
[root@ycy3 cobbler]#  ls /var/lib/cobbler/loaders/
menu.c32  pxelinux.0

问题三和四:

[root@ycy3 cobbler]# yum -y install yum-utils

10,配置DHCP模板文件并同步cobbler配置

[root@ycy3 cobbler]# vim /etc/cobbler/dhcp.template
[root@ycy3 cobbler]# systemctl restart httpd cobblerd
[root@ycy3 cobbler]# systemctl restart cobblerd.service
[root@ycy3 cobbler]# systemctl restart httpd 
[root@ycy3 cobbler]# cobbler sync

10,挂载并导入镜像

[root@ycy3 ~]#  mount /dev/cdrom /mnt/
[root@ycy3 ~]# cobbler import --path=/mnt/ --name=CentOS-71 arch=x86_64
成功后会出现
*** TASK COMPLETE ***

11,查看

//查看cobbler镜像列表
cobbler list
//查看详细信息  查看指定的--name 接镜像名cobbler distro report --name CentOS-7-x86_64

http://www.dtcms.com/a/341733.html

相关文章:

  • C++高频知识点(三十二)
  • Comfyui加载图像编辑Qwen-Image-Edit工作流之Windows篇
  • C++之多态(从0到1的突破)
  • 【clion】cmake脚本1:调试脚本并构建Fargo项目win32版本
  • python 可迭代对象相关知识点
  • “无纸化办公”加速推进,房产证智能识别技术或成行业标配
  • Linux高效备份:rsync + inotify实时同步
  • 服务器硬盘进行分区和挂载
  • SpringBoot3后端项目介绍:mybig-event
  • 【MySQL的卸载】
  • 5.k8s控制器-Replicaset-Deployment、pod 反亲和性
  • VLN领域的“ImageNet”打造之路:从MP3D数据集、MP3D仿真器到Room-to-Room(R2R)、RxR、VLN-CE
  • Adobe Acrobat 表单创建与设置
  • 8.20 打卡 DAY 47 注意力热图可视化
  • 不会写 SQL 也能出报表?积木报表 + AI 30 秒自动生成报表和图表
  • JVM讲解
  • leetcode7二分查找_69 and 34
  • Linux正则表达式
  • 2D水平目标检测数据增强——旋转任意指定角度
  • RK3568 Linux驱动学习——设备树下 LED 驱动
  • Redisson最新版本(3.50.0左右)启动时提示Netty的某些类找不到
  • PowerShell脚本检查业务健康状态
  • 解决Docker 无法连接到官方镜像仓库
  • Lecture 6 Kernels, Triton 课程笔记
  • JVM基础知识总结
  • Docker 核心技术:Linux Cgroups
  • GDB 的多线程调试
  • 针对具有下垂控制光伏逆变器的主动配电网络的多目标分层协调电压/无功控制方法的复现
  • 音频读写速度优化 音频格式
  • Transformer内容详解(通透版)