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/
配置文件 | 作用说明 |
---|---|
settings | Cobbler 主配置文件 |
iso/ | ISO 模板配置 |
pxe/ | PXE 模板配置 |
power/ | 电源管理配置 |
user.conf | Web 服务授权配置 |
users.digest | Web 访问用户名密码配置 |
dhcp.template | DHCP 配置模板 |
dnsmasq.template | DNS 配置模板 |
tftpd.template | TFTP 配置模板 |
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.log | Cobbler 服务日志 |
五、常用 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
-
安装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
-
修改server的ip地址为本机ip
vim /etc/cobbler/settingsserver: 192.168.100.10
-
设置tftp的ip地址为本机ip
vim /etc/cobbler/settingsnext_server: 192.168.100.10
-
生成加密的密码
openssl passwd -1 -salt "$RANDOM" 'wiltjer'
-
将新生成的加密密码加入到配置文件
vim /etc/cobbler/settingsdefault_password_crypted: "$1$21852$Vhdy7u8b3XLQyx9UwGdI6/"
-
将cobbler的dhcp功能打开
vim /etc/cobbler/settingsmanage_dhcp: 1
-
重启cobbler
systemctl restart cobblerd
-
启动TFTP服务
vim /etc/xinetd.d/tftpdisable = nosystemctl restart tftp
-
配置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/
-
安装yum-utils软件包
yum -y install yum-utils # 用于管理Yum仓库和包
-
核对当前设置是否有问题
cobbler check
因为是debian系统才需要解决,显示使用的是centos7
Debian系统解决办法安装fence-agents -
配置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 地址
-
同步cobbler配置
systemctl restart cobblerd systemctl restart httpd cobbler sync
-
管理distro
mount /dev/cdrom /mnt/cobbler import --path=/mnt/ --name=Centos-7 arch=x86_64 # 要导入的安装源路径 名称 架构为 x86_64(64位)
-
查看cobbler镜像列表
cobbler listdistros:Centos-7-x86_64 profiles:Centos-7-x86_64 systems: repos: images: mgmtclasses: packages: files:
-
查看详细信息
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 : {} # 模板文件列表
-
创建一台测试虚拟机,使用Centos-7-x86_64