1. 介绍
Cobbler是一个Linux服务器安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。
Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。
Cobbler是较早前的kickstart的升级版,优点是比较容易配置,还自带web界面比较易于管理。
Cobbler内置了一个轻量级配置管理系统,但它也支持和其它配置管理系统集成,如Puppet,暂时不支持SaltStack。
cobbler官网地址:http://cobbler.github.io/
cobbler集成的服务
- PXE服务支持
- DHCP服务管理
- DNS服务管理(可选bind,dnsmasq)
- 电源管理
- Kickstart服务支持
- YUM仓库管理
- TFTP(PXE启动时需要)
- Apache(提供kickstart的安装源,并提供定制化的kickstart配置)
2. cobbler 安装
//配置epel源
[root@localhost ~]# dnf install -y epel-release
//安装cobbler以及相关的软件
[root@localhost ~]# dnf module enable cobbler -y
[root@localhost ~]# dnf install cobbler -y
[root@localhost ~]# dnf -y install dhcp-* tftp xinetd pykickstart cobbler-web syslinux
//设置开机自启
[root@localhost ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@localhost ~]# systemctl enable --now cobblerd
Created symlink /etc/systemd/system/multi-user.target.wants/cobblerd.service → /usr/lib/systemd/system/cobblerd.service.
[root@localhost ~]#
//修改server的IP为本机IP
[root@localhost ~]# sed -i 's/^server: 127.0.0.1/server: 192.168.8.137/' /etc/cobbler/settings.yaml
//设置tftp的ip地址为本机ip
[root@localhost ~]# sed -i 's/^next_server: 127.0.0.1/next_server: 192.168.8.137/' /etc/cobbler/settings.yaml
//启动rsync并设置开机自启
[root@localhost cobbler]# systemctl enable --now rsyncd
//开启tftp
[root@localhost cobbler]# vim /etc/xinetd.d/tftp
//生成加密的密码,然后再打开DHCP功能
[root@localhost cobbler]# openssl passwd -1
Password:
Verifying - Password:
$1$jCCcAMB9$XrS0Hzf.ZPPavYOhb1wLk0
[root@localhost cobbler]# vim settings
103 default_password_crypted: "$1$jCCcAMB9$XrS0Hzf.ZPPavYOhb1wLk0"
//修改文件
[root@localhost ~]# cat /etc/cobbler/settings.d/manage_genders.settings
# manage_genders - Bool to enable/disable managing an /etc/genders file for use with pdsh and others.
manage_genders: True //将flase修改True
[root@localhost ~]# cat /etc/cobbler/settings.d/nsupdate.settings
# Set to "true" to enable Cobbler's dynamic DNS updates.
nsupdate_enabled: True //将flase修改True
//在linux8系统里面下载缺失文件
[root@localhost ~]# cobbler get-loaders
task started: 2021-10-12_233549_get_loaders
task started (id=Download Bootloader Content, time=Tue Oct 12 23:35:49 2021)
running python triggers from /var/lib/cobbler/triggers/task/get_loaders/pre/*
running shell triggers from /var/lib/cobbler/triggers/task/get_loaders/pre/*
shell triggers finished successfully
downloading https://cobbler.github.io/loaders/README to /var/lib/cobbler/loaders/README
downloading https://cobbler.github.io/loaders/COPYING.yaboot to /var/lib/cobbler/loaders/COPYING.yaboot
downloading https://cobbler.github.io/loaders/COPYING.syslinux to /var/lib/cobbler/loaders/COPYING.syslinux
downloading https://cobbler.github.io/loaders/yaboot-1.3.17 to /var/lib/cobbler/loaders/yaboot
downloading https://cobbler.github.io/loaders/pxelinux.0-3.86 to /var/lib/cobbler/loaders/pxelinux.0
downloading https://cobbler.github.io/loaders/menu.c32-3.86 to /var/lib/cobbler/loaders/menu.c32
downloading https://cobbler.github.io/loaders/grub-0.97-x86.efi to /var/lib/cobbler/loaders/grub-x86.efi
downloading https://cobbler.github.io/loaders/grub-0.97-x86_64.efi to /var/lib/cobbler/loaders/grub-x86_64.efi
*** TASK COMPLETE ***
[root@localhost ~]#
// 把linux8 上的/var/lib/cobbler/loaders里面的所有东西复制到centos7上去
[root@localhost cobbler]# scp root@192.168.35.139:/var/lib/cobbler/loaders/* /var/