Cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立Linux系统的网络安装环境,Cobbler最初支持Fedora、RedHat和衍生版(如CentOS和Scientific Linux),现在还支持Debian、Ubuntu、SuSE、以及FreeBSD、ESXI等。Cobbler的诞生,将Linux网络安装系统的门槛从大专以上文化水平,成功降低到初中一下,连补鞋匠(Cobbler的中文解释)都能学会。
Cobbler提供了DHCP管理、YUM源管理、电源管理等功能,除此之外还支持命令行管理、WEB界面管理,并且提供了API接口,方便进行二次开发。


实验环境:

CentOS7

实验准备:

  • 1)一台CentOS7虚拟机
  • 2)利用DHCP分配同网段IP地址(将虚拟机网卡功能开启及在VMware
  • Workstation中允许使用DHCP给虚拟机分配IP地址)
  • 3)将放有epel-release-latest-7.noarch.rpm软件包的文件夹在宿主机中远程共
  • 享出来并能在虚拟机中挂载使用
  • 4)安装更新源epel-release-latest-7.noarch.rpm
    Cobbler自动装机
    Cobbler自动装机
    Cobbler自动装机
    Cobbler自动装机
    Cobbler自动装机

一. 安装YUM仓库,并安装cobbler cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd相关服务软件包:

#yum list
#yum install cobbler cobbler-web dhcp tftp-server pykickstart httpd rsync xinetd –y

二. 修改Cobbler配置文件,指定PXE位置并启动DHCP,开启httpd及cobbler服务:

#vim /etc/cobbler/settings
    next_server: 192.168.111.130        //指定PXE位置
    server:192.168.111.130
    manage_dhcp:1                    //管理DHCP启动 
#systemctl start httpd.service            //开启httpd服务
#systemctl start cobblerd.service            //开启cobbler服务

三. 关闭防火墙及关闭增强安全功能:

#systemctl stop firewalld.service            //关闭防火墙
#setenforce 0                            //关闭增强安全功能

四. 使用cobbler check对Cobbler做检查设置并逐个对所需修改的项目进行设置:

Cobbler自动装机

++其中第1,5,7条不影响Cobbler自动装机可暂不处理++

  • 第2条:
#vim /etc/xinetd.d/tftp

disable = no //将disable修改配置为no

  • 第3条:
#cobbler get-loaders        //下载引导操作系统文件
  • 第4条:
#systemctl enable rsyncd.service       //开启rsyncd服务
  • 第6条:
#openssl passwd -1 -salt 'abc123' 'abc123'   //盐值加密
  • $1$abc123$9v8z2./E/PZihXrVcy3II0 //加密结果
  • 回到/etc/cobbler/settings文件中,将加密结果放置于default_password_crypted后
  • default_password_crypted: $1$abc123$9v8z2./E/PZihXrVcy3II0
  • 修改后保存退出settings文件

五. 修改cobbler控制的dhcp服务模板配置内容:

#vim /etc/cobbler/dhcp.template      //cobbler控制的dhcp服务模板
        subnet 192.168.111.0 netmask 255.255.255.0 {
     option routers             192.168.111.1;          //修改网关
     option domain-name-servers 192.168.111.2;           //修改DNS 
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.111.100 192.168.111.200;      //修改地址池   #cobbler sync       //同步生成DHCP配置文件

六. 将各项服务重启后导入iso镜像文件

#cobbler import --path=/mnt --name=CentOS-7-x86_64 --arch=x86_64    //导入镜像文件,默认导入存放位置为/var/www/cobbler/ks_mirror/CentOS-7-x86_64

七. 利用tree命令(若未安装则用yum安装tree软件包)查看压缩内核和初始化文件:

#tree /var/lib/tftpboot/images
/var/lib/tftpboot/images
└── CentOS-7-x86_64
    ├── initrd.img                 //引导文件   
    └── vmlinuz                  //压缩内核

八. 再重启完相关服务(cobbler、dhcpd、xinetd、httpd)后进行测试:

Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机
Cobbler自动装机Cobbler自动装机Cobbler自动装机Cobbler自动装机Cobbler自动装机

开启新建虚拟机:

Cobbler自动装机
Cobbler自动装机Cobbler自动装机

至此使用cobbler自动装机实验成功。