Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用Python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、以及yum仓库、构造系统ISO镜像。今天这里只介绍在企业中利用cobbler进行批量自动化安装CentOS。其他更多的功能这里不做介绍。如果想详细了解cobbler请百度 Cobbler部署指南
一、实现过程 1.自动安装过程简单的来说客户端的电脑网卡带有并开启pxe功能,开机会自动获取IP地址、tftp地址、pexlinux文件名----->加载pxelinux.0、内核文件vmlinuz、伪文件系统initrd.img----->启动系统----->到pxelinux指定的tftp地址下载ks.cfg文件----->根据ks.cfg文件的去http、ftp、nfs寻找镜像、安装操作系统
客户端<-------IP---------DHCP服务器
客户端<----pxelinux----tftp服务器
客户端<----default------tftp服务器
客户端<-----ks.cfg------http、ftp、nfs
客户端<----镜像地址---http、ftp、nfs
客户端<----安装系统---http、ftp、nfs
pxe批量部署操作系统就是通过以下几个服务共同完成的,cobbler工具是将几者更加集中地进行管理,使运维人员不需要在乎底层的工作。这里只介绍了cobbler用于批量部署系统用到的服务以及相关的文件。
dhcp /etc/dhcp/dhcp.conf 提供IP地址,提供tftp服务器、pexlinux文件名 tftp /var/lib/tftpboot/ 提供初始内核以伪文件系统 \---vmlinuz 内核文件 \---initrd.img 伪文件系统 \---menu.c32 菜单风格 \---pxelinux.0 启动文件 \---pxelinux.cfg \---default 指定ks.cfg文件的路径.ks.cfg指定了镜像的地址与安装的方式 httpd /var/www/html/centos 提供ks.cfg或镜像 ftp /var/ftp/pub/centos 提供ks.cfg或镜像 cobbler 管理力工具,将几者集中管理 3.cobbler命令的使用 cobbler commands 介绍 cobbler check 核对当前设置是否有问题 cobbler list 列出所有的cobbler元素 cobbler report 列出元素的详细信息 cobbler sync 同步配置到数据目录,更改配置最好都要执行下 cobbler reposync 同步yum仓库 cobbler distro 查看导入的发行版系统信息 cobbler system 查看添加的系统信息 cobbler profile 查看配置信息 二、实现步骤 1. 前期准备 iptables -F systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 vim /etc/selinux/config 修改为SELINUX=disabled 2.安装软件 yum install cobbler dhcp tftp ftp httpd systemctl enable cobblerd systemctl start cobblerd systemctl enable tftp systemctl start tftp systemctl enable httpd systemctl start httpd 3.配置cobbler
检查cobbler配置文件,根据提示修改参数
cobbler check可以检查cobbler的各项参数,以提示那些没有修改好的错误,如果有些报错你更改后还在提示那么可以忽略提示。
编辑cobbler配置文件
每次修改cobbler的配置文件后都要重启服务,并更新配置文件
生成dhcp模板
dhcp.template时cobberl的dhcp模板文件,当cobberl更新配置时就会把这些模板文件覆盖服务的配置文件。比如这个dhcp模板一旦执行cobbler sync就会将dhcp的默认模板就行覆盖。
生成启动文件
当安装完tftp服务后会自动在tftp的目录下生成菜单文件、启动文件。前面也说明了cobbler的机制时将自己的模板文件覆盖至服务的配置文件,但是cobbler默认没有菜单文件、启动文件的模板。那就需要手动创建cobbler的tftp模板文件,可以通过外网直接下载,也可以将tftp的文件复制到cobbler中然后在通过cobbler修改即可。