cobbler介绍

Cobbler可以用来快速构建Linux网络安装环境,大大简化Linux网络安装的配置流程。相比PXE的安装方式,cobbler配置简单,并且可以提供多个版本的操作系统以供选择。cobbler采用了基于命令行的方式进行管理,也提供了web管理界面,还提供了API接口,以方便二次开发使用。

cobbler包介绍

  • cobbler基于EPEL源
  • cobbler服务集成

    1. - PXE<br /> - DHCP<br /> - rsync<br /> - http<br /> - DNS<br /> - kickstart<br /> - IPMI电源管理

cobbler工作原理

[

](https://blog.csdn.net/weixin_40228200/article/details/123103891)
image.png

  • client裸机配置了从网络启动后,开机后会广播包请求DHCP server(cobbler server)发送其分配好的一个IP
  • DHCP server(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 image
  • client裸机加载kickstart文件
  • client裸机接受OS image,安装该OS image

cobbler命令介绍

  • cobbler check 核对当前设置是否有问题
  • cobbler list 列出所有cobbler元素
  • cobbler report 列出元素的详细信息
  • cobbler sync 同步配置到数据目录,更改配置后都执行一下
  • cobbler reposync 同步yum 仓库
  • cobbler distro 查看导入的发行版系统信息
  • cobbler system 查看添加的系统信息
  • cobbler profile 查看配置信息

cobbler安装步骤

前提

  1. systemctl stop firewalld && systemctl disable firewalld
  2. sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  3. reboot

安装cobbler

  1. yum install -y epel-release #cobbler基于epel源
  2. yum install -y cobbler dhcp
  3. systemctl start cobblerd httpd tftp
  4. systemctl enable cobblerd httpd tftp

配置cobbler

执行 cobbler check去检查有哪些需要调整的,有几条是一直会提示,不用更改
image.png

  1. vim /etc/cobbler/settings
  2. server: 127.0.0.1 改为 cobbler server地址
  3. next_server 127.0.0.1 改为 cobbler server地址
  4. manage_dhcp:0 改为 mangge_dhcp:1 #这项如果不改,需要手动去复制dhcp模板,并更改
  5. default_password_crypted: 后面的密码改掉(用cobbler check提示的openssl passwd -1在新命令行执行后复制到配置文件里替换老密码)
  6. vim /etc/dhcp/dhcpd.conf
  7. 改如下部分
  8. subnet 192.168.153.0 netmask 255.255.255.0 {
  9. option routers 192.168.153.2;
  10. option domain-name-servers 192.168.153.2;
  11. option subnet-mask 255.255.255.0;
  12. range dynamic-bootp 192.168.153.100 192.168.153.150;
  13. default-lease-time 21600;
  14. max-lease-time 43200;
  15. next-server 192.168.153.200;
  16. systemctl start dhcpd
  17. cobbler sync #提示缺包的不用管,这是bug,执行此命令可以将各种文件自动复制到指定目录

image.png

挂载光盘制作源

  1. mkdir /mnt/cdrom
  2. vim /etc/fstab
  3. /dev/sr0 /mnt/cdrom iso9660 defaults 0 0
  4. mount -a
  5. df

导入列表项

  1. cobbler import --path=/mnt/cdrom --name=CentOS7.4-x86_64 --arch=x86_64 # --name是在安装选项显示的名称 --arch是告诉系统是什么架构
  2. cobbler distro list #查看列表

准备ks.cfg

  1. cp ks.cfg /var/lib/cobbler/kickstarts/ #这个目录是cobbler自动生成的ks.cfg目录
  2. vim ks.cfg
  3. url --url=ip 改为 url --url=$tree

image.png

新建列表

  1. cobbler profile add --name=tcyl --distro=CentOS7.4-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ks.cfg #--name是自定义的可在列表中显示的名字,--distro是之前添加的自定义的系统名称,可以根据一个 --distro定制多个--name
  2. cobbler profile remove --name=tycl #删除这个条目录
  3. cobbler profile report --name=tycl #查看这个目录明细
  4. cobbler sync
  5. systemctl restart cobblerd

实验验证

步骤如下
image.png
image.png
image.png
image.png
image.png
image.png

web实现

安装web包

  1. yum install -y cobbler-web
  2. systemctl restart httpd
  3. vim /etc/cobbler/modules.conf
  4. 可以看到当前web登录的验证方法是authn_configfile
  5. htdigest -c /etc/cobbler/users.digest Cobbler test #添加cobbler-web用户test,后面输入2次密码

web登录

https://IP/cobbler-web
image.png
image.png
至此,cobbler自动安装系统完成!