文章目录
- Cobbler 部署
- 一、Cobbler简介
- 二、Cobbler的工作原理
- 三、Cobbler安装
- 1、操作过程命令格式
- 2、cobbler安装图文详解
Cobbler 部署
一、Cobbler简介
-
Cobbler是一款Linux生态的自动化运维工具,基于Python2开发,用于自动化批量部署安装操作系统;其提供基于CLI的管理方式和WEB配置界面,其中WEB配置界面是基于Python2和Django框架开发。另外,cobbler还提供了API,方便二次开发。当然,Cobbler属于C/S模型(客户端/服务器模型)
-
Cobbler主要用于快速网络安装linux操作系统,支持众多的Linux发行版如:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE等。
-
在cobbler之前,微软曾开发过另一项类似的基于C/S工作模式的技术PXE(Prebot eXecute Environment,预启动执行环境),其支持通过网络启动操作系统,亦可以让需要安装系统的带支持PEX技术网卡的裸机通过网络从http服务器下载映像来安装,在启动过程中,客户端需要从dhcp服务器得到IP地址、掩码、网关以及相关的配置文件路径,再用TFTP(trivial file transfer protocol)协议从服务器下载一个引导启动的软件包(类似linux光盘的isolinux文件夹下的文件)并加载到本机内存中执行,经过启动软件包中配置文件指定的ks应答文件指明服务器中的操作系统位置,进而找到安装源,并在ks文件的指导下完成操作系统的安装。
-
Cobbler实质是PXE的二次封装,将多种安装参数封装到一起,并提供统一的管理方法。
总结:cobbler是基于PXE技术的工作原理二次封装,通过命令的方式简化了PXE配置过程。
二、Cobbler的工作原理
- client裸机配置了从网络启动后,开机后会广播包请求DHCP服务器(cobbler server)发送其分配好的一个IP
- DHCP服务器(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 iamge
- client裸机加载kickstart文件
- client裸机接收os image,安装该os image
三、Cobbler安装
- cobbler安装之前要先部署PXE配置
1、操作过程命令格式
yum install epel-release.noarch -y #安装yum额外源
yum install cobbler dhcp -y #安装软件包
systemctl enable --now cobblerd httpd tftp dhcpd #开启服务
cobbler check #查看Cobbler服务器的配置
openssl passwd -1 "123456" #生成一个加密密码
vim /etc/cobbler/settings #编辑配置文件
101 default_password_crypted: "$1$sfAXRcPG$4Q2ko.mlKbf6Fx5J9Cg4H/"
242 manage_dhcp: 1
278 next_server: 192.168.10.11
298 pxe_just_once: 1
390 server: 192.168.10.11
#101行:将密码替换成生成的加密密码
#242行:将值改为1,表示通过cobbler工具生成dhcp.conf配置文件
#278行:地址改成自己的ip地址
#298行:将值改为1,表示如果客户端有系统,则该工具不生效,防止重复安装系统
#390行:地址改成自己的ip地址
vim /etc/cobbler/dhcp.template #编辑配置文件
21 subnet 192.168.10.0 netmask 255.255.255.0 {
22 option routers 192.168.10.2;
23 option domain-name-servers 8.8.8.8;
24 option subnet-mask 255.255.255.0;
25 range dynamic-bootp 192.168.10.20 192.168.10.30;
#修改内容跟dhcp服务配置文件一致
cobbler sync #同步生成的配置文件
systemctl restart cobblerd.service #开启服务
tree /var/lib/tftpboot/ #查看给目录下生成的文件
mount /dev/sr0 /mnt #挂载
cobbler import --name=centos-7-x86_64 --path=/mnt --arch=x86_64 #将/mnt目录下的所有文件,复制到固定目录/var/www/cobbler/ks_mirror/,文件名为centos-7.7-x86_64
du -sh /var/www/cobbler/ks_mirror/* #实时查看该目录下文件的大小
#客户机以网络方式启动,进入显示界面,选择之前复制的文件名centos-7-x86_64
2、cobbler安装图文详解
- 服务端
-
客户端
客户机以网络方式启动,进入下图显示界面,选择centos-7-x86_64,(centos-7-x86_64是之前复制光盘文件时设置的文件名)