首页 系统自动部署PXE和Cobbler教程利用cobbler实现自动化安装

利用 PXE 实现自动化系统部署

故障排查Trouble Shooting

运维派是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai

利用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等,甚至支持windows的安装

Cobbler实质是PXE的二次封装,将多种安装参数封装到一起,并提供统一的管理方法

Cobbler的相关服务

使用Cobbler安装系统需要一台专门提供各种服务的服务器,提供的服务包括(HTTP/FTP/NFS,
TFTP,DHCP),也可以将这几个服务分别部署到不同服务器。事实上在实际应用中,总是将不同的服务分别
部署到专门的服务器。

Cobbler是在HTTP、TFTP、DHCP等各种服务的基础上进行相关操作的,实际安装的大体过程类似于基
于PXE的网络安装:客户端(裸机)开机使用网卡引导启动,其请求DHCP分配一个地址后从TFTP服务器获取
启动文件,加载到客户端本地内存中运行,并显示出可安装的系统列表;在人为的选定安装的操作系统类
型后,客服端会到HTTP服务器下载相应的系统安装文件并执行自动安装

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所依赖的服务包括HTTPD,TFTP,DHCP等,如果有web界面要求,还需要安装相关的组件

CentOS 8目前还没有提供Cobbler相关包

相关包说明:

  • httpd:提供yum源,并配合cobbler-web使得cobbler可以通过web网页界面进行配置管理
  • tftp-server:提供启动和菜单等相关文件网络下载功能
  • cobbler-web : 提供基于web的cobbler管理界面
  • pykickstart.noarch : 基于python的管理kickstart文件的库

说明:

  • Cobbler依赖于epel源,在安装cobbler之前需要配置epel源
  • 在安装cobbler时会自因为依赖而安装httpd,tftp-server相关包

Cobbler配置文件及各目录情况

配置文件

数据目录

镜像目录

日志目录

配置及启动cobblerd服务

检测cobbler的运行环境,并根据提示逐步配置cobbler

cobbler命令用法

可以使用下面的方式得到使用帮助

常见用法:

将linux发行版导入到cobbler在httpd服务的文件夹下

cobbler将系统yum源文件存放在 /var/www/cobbler/ks_mirror目录下

导入后重启并同步

范例:

配置linux发行版和关联相应的ks文件

拷贝事先准备好的ks文件至/var/lib/cobbler/kickstarts目录下

将linux发行版系统镜像与其对应的ks文件建立关联

注意,在导入distro时,cobbler会自动生成distro条目,这些并未和ks文件关联,可以使用

删除后,再关联ks文件。

建立关联后重启并同步

查看详细信息

范例:

上面信息中有一行如下:

该行的定义在文件 /var/www/cobbler/ks_mirror/config/centos8-x86_64.repo中

是cobbler自己定义安装源路径的特有语法规定的,因此可以在ks文件中指定安装
源时直接指定为$tree变量。

范例:

启动菜单优化

修改/etc/cobbler/pxe/pxedefault.template模板文件,重启同步

重启同步后cobbler更新文件/var/lib/tftpboot/pxelinux.cfg/default

基于web界面来管理配置cobbler

安装cobbler-web

访问web界面

用浏览器访问:https://cobblerserver/cobbler_web

cobbler-web界面的默认账号,用户名:cobbler 密码:cobbler

cobbler访问图示

在这里插入图片描述
默认账户密码都是:cobbler
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

WEB的登录认证方式

认证方法配置文件:/etc/cobbler/modules.conf
支持多种认证方法:

  • authn_configfile,此为默认的认证方法
  • authn_pam

使用authn_configfile模块认证cobbler_web用户

创建其认证文件/etc/cobbler/users.digest,并添加所需的用户

使用已有用户文件,在其中添加新用户

注意:

  • 使用“-c”选项用于创建用户文件,如果文件已存在,将覆盖原文件
  • cobbler_web的realm只能为Cobbler

使用authn_pam模块认证cobbler_web用户

创建cobbler用户:

本文链接:http://www.yunweipai.com/36150.html

利用 PXE 实现自动化系统部署

故障排查Trouble Shooting

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2020 YUNWEIPAI.COM - 运维派
扫二维码
扫二维码
返回顶部