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

Linux中Cobbler服务部署与配置(快速部署和管理 Linux 系统)

Linux中Cobbler服务部署与配置(快速部署和管理 Linux 系统)

一、Cobbler 简介

Cobbler 是一个用于快速部署和管理 Linux 系统的网络安装服务器,支持通过 PXE 启动方式安装物理服务器和虚拟机。它集成了 DHCP、DNS、TFTP、HTTP 等服务,并提供命令行、Web 界面和 API 接口多种管理方式。

主要功能包括:
  • PXE 启动支持
  • DHCP 和 DNS 管理(支持 bind 和 dnsmasq)
  • 电源管理
  • Kickstart 自动化安装
  • YUM 仓库管理
  • TFTP(PXE启动时需要)
  • Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
与 Puppet 集成:

Cobbler 支持与 Puppet 等配置管理系统集成,实现系统安装后的自动化配置。

官网地址:https://cobbler.github.io/


二、Cobbler 配置文件结构

配置文件目录:/etc/cobbler/
配置文件作用说明
settingsCobbler 主配置文件
iso/ISO 模板配置
pxe/PXE 模板配置
power/电源管理配置
user.confWeb 服务授权配置
users.digestWeb 访问用户名密码配置
dhcp.templateDHCP 配置模板
dnsmasq.templateDNS 配置模板
tftpd.templateTFTP 配置模板
modules.conf模块配置

三、Cobbler 数据目录

目录路径作用说明
/var/lib/cobbler/config/存储 distros、systems、profiles 等配置
/var/lib/cobbler/triggers/用户自定义命令脚本
/var/lib/cobbler/kickstart/默认 Kickstart 文件存储
/var/lib/cobbler/loaders/引导程序和镜像文件
/var/www/cobbler/ks_mirror/发行版系统数据镜像
/var/www/cobbler/images/内核和 initrd 镜像
/var/www/cobbler/repo_mirror/YUM 仓库存储

四、Cobbler 日志文件

日志路径说明
/var/log/cobbler/installing客户端安装日志
/var/log/cobbler/cobbler.logCobbler 服务日志

五、常用 Cobbler 命令

命令说明
cobbler check检查配置是否正确
cobbler list列出所有 Cobbler 对象
cobbler report显示对象详细信息
cobbler sync同步配置到服务
cobbler reposync同步 YUM 仓库
cobbler distro查看发行版信息
cobbler system查看系统信息
cobbler profile查看配置信息

六、Cobbler 服务端部署步骤

前提:

关闭防火墙和seLinux

systemctl stop firewalld.service
systemctl disable firewalld.servicesetenforce 0
vim /etc/selinux/configSELINUX=disabled

到阿里源复制并下载CentOS 7 的镜像

通过自动安装 epel-release 软件包,启用 EPEL 软件仓库的命令、

安装需要的工具包

curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum -y install epel-release
  1. 安装cobbler以及相关的软件

    启动服务并设置开机自启

     yum -y install httpd dhcp* tftp tftp-server cobbler cobbler-web pykickstart rsync rsync-daemonsystemctl restart httpd;systemctl enable httpdsystemctl restart rsyncd;systemctl enable rsyncdsystemctl restart tftp;systemctl enable tftpsystemctl restart cobblerd;systemctl enable cobblerd
    
  2. 修改server的ip地址为本机ip

    vim /etc/cobbler/settingsserver: 192.168.100.10
    

    在这里插入图片描述

  3. 设置tftp的ip地址为本机ip

    vim /etc/cobbler/settingsnext_server: 192.168.100.10
    

    在这里插入图片描述

  4. 生成加密的密码

    openssl passwd -1 -salt "$RANDOM" 'wiltjer'
    

    在这里插入图片描述

  5. 将新生成的加密密码加入到配置文件

    vim /etc/cobbler/settingsdefault_password_crypted: "$1$21852$Vhdy7u8b3XLQyx9UwGdI6/"
    

    在这里插入图片描述

  6. 将cobbler的dhcp功能打开

    vim /etc/cobbler/settingsmanage_dhcp: 1
    

    在这里插入图片描述

  7. 重启cobbler

     systemctl restart cobblerd
    
  8. 启动TFTP服务

    vim /etc/xinetd.d/tftpdisable = nosystemctl restart tftp
    

    在这里插入图片描述

  9. 配置Cobbler服务器,用于网络启动安装(PXE)

    yum -y install syslinux*
    cp /usr/share/syslinux/pxelinux.0 /var/lib/cobbler/loaders/
    cp /usr/share/syslinux/menu.c32 /var/lib/cobbler/loaders/
    ls /var/lib/cobbler/loaders/
    

    在这里插入图片描述

  10. 安装yum-utils软件包

    yum -y install yum-utils
    # 用于管理Yum仓库和包
    
  11. 核对当前设置是否有问题

    cobbler check
    

    在这里插入图片描述

    因为是debian系统才需要解决,显示使用的是centos7
    Debian系统解决办法安装fence-agents

  12. 配置DHCP模板文件

    vim /etc/cobbler/dhcp.template
    # Cobbler 用于生成 DHCP 服务器配置文件的模板文件路径subnet 192.168.100.0 netmask 255.255.255.0 {# 一个 DHCP 子网,掩码为 255.255.255.0option routers             192.168.100.254;# 默认网关为 192.168.100.254option domain-name-servers 8.8.8.8;# 设置 DNS 服务器的 IP 地址option subnet-mask         255.255.255.0;# 配给的子网掩码range dynamic-bootp        192.168.100.100 192.168.100.110;# DHCP 地址池default-lease-time         21600;# 租约时间max-lease-time             43200;# 最大允许的租约时间next-server                $next_server;# TFTP 服务器的 IP 地址
    

    在这里插入图片描述

  13. 同步cobbler配置

    systemctl restart cobblerd
    systemctl restart httpd
    cobbler sync
    

    在这里插入图片描述

  14. 管理distro

    mount /dev/cdrom /mnt/cobbler import --path=/mnt/ --name=Centos-7 arch=x86_64
    # 要导入的安装源路径 名称 架构为 x86_64(64位)
    

    在这里插入图片描述

  15. 查看cobbler镜像列表

    cobbler listdistros:Centos-7-x86_64
    profiles:Centos-7-x86_64
    systems:
    repos:
    images:
    mgmtclasses:
    packages:
    files:
    

    在这里插入图片描述

  16. 查看详细信息

    cobbler distro report --name Centos-7-x86_64Name                           : Centos-7-x86_64
    # 名称
    Architecture                   : x86_64
    # 处理器架构
    TFTP Boot Files                : {}
    # 额外 TFTP 启动文件
    Breed                          : redhat
    # 基于哪种家族
    Comment                        : 
    # 描述信息
    Fetchable Files                : {}
    # 可获取的文件列表
    Initrd                         : /var/www/cobbler/ks_mirror/Centos-7/images/pxeboot/initrd.img
    # 初始化 RAM 磁盘 (initrd) 文件的路径
    Kernel                         : /var/www/cobbler/ks_mirror/Centos-7/images/pxeboot/vmlinuz
    # 内核文件的路径
    Kernel Options                 : {}
    # 内核启动参数
    Kernel Options (Post Install)  : {}
    # 装后系统的内核参数
    Kickstart Metadata             : {'tree': 'http://@@http_server@@/cblr/links/Centos-7-x86_64'}
    # 告诉安装程序从哪里获取软件包进行安装
    Management Classes             : []
    # 管理类列表
    OS Version                     : rhel6
    # 操作系统版本标识
    Owners                         : ['admin']
    # 此发行版的所有者列表
    Red Hat Management Key         : <<inherit>>
    # Red Hat 管理密钥
    Red Hat Management Server      : <<inherit>>
    # Red Hat 管理服务器地址
    Template Files                 : {}
    # 模板文件列表
    

    在这里插入图片描述

  17. 创建一台测试虚拟机,使用Centos-7-x86_64

    在这里插入图片描述

http://www.lryc.cn/news/626303.html

相关文章:

  • mac电脑软件左上角的关闭/最小化/最大化按钮菜单的宽度和高度是多少像素
  • Mac 4步 安装 Jenv 管理多版本JDK
  • Mac 上安装并使用 frpc(FRP 内网穿透客户端)指南
  • 第四章:大模型(LLM)】07.Prompt工程-(4)思维链(CoT, Chain-of-Thought)Prompt
  • 第四章:大模型(LLM)】07.Prompt工程-(5)self-consistency prompt
  • 编译安装 Nginx
  • 从AI小智固件到人类智能:计算技术的层级跃迁
  • Linux-----《Linux系统管理速通:界面切换、远程连接、目录权限与用户管理一网打尽》
  • JavaScript 检查给定的四个点是否形成正方形(Check if given four points form a square)
  • [特殊字符] 小豆包 API 聚合平台:让 AI 接入更简单、更高效
  • PyTorch API 7
  • Linux 文件系统权限管理(补充)
  • pinctrl和gpio子系统实验
  • 前后端联合实现文件上传,实现 SQL Server image 类型文件上传
  • LeetCode热题100--101. 对称二叉树--简单
  • 【Kafka】常见简单八股总结
  • 力扣 30 天 JavaScript 挑战 第36天 第8题笔记 深入了解reduce,this
  • Linux Shell 常用操作与脚本示例详解
  • CNN 在故障诊断中的应用:原理、案例与优势
  • DAY 50 预训练模型+CBAM模块
  • 排查Redis数据倾斜引发的性能瓶颈
  • VScode ROS文件相关配置
  • 什么是大数据平台?大数据平台和数据中台有什么关系?
  • 网络间的通用语言TCP/IP-网络中的通用规则3
  • A股大盘数据-20250819 分析
  • 【PyTorch】单对象分割项目
  • Arthas 全面使用指南:离线安装 + Docker/K8s 集成 + 集中管理
  • Python入门第11课:Python网络请求入门,使用requests库轻松获取网页数据
  • Linux的基本操作
  • 浅看架构理论(一)