Cobbler批量陈设CentOS【美高梅手机登录网站】

作者:电脑系统

简介

Cobbler是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装windows。该工具使用python开发,小巧轻便(才15k行python代码),使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、以及yum仓库、构造系统ISO镜像。今天这里只介绍在企业中利用cobbler进行批量自动化安装centos。其他更多的功能这里不做介绍。如果想详细了解cobbler请百度 Cobbler部署指南

一、实现过程

2.基本配置文件结构

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                       管理力工具,将几者集中管理

五、常见错误

  1. 如下图的错误经常出现在虚拟机环境下,这时因为创建的虚拟机内存不够大。将虚拟机关机调整需虚拟机内最为1.5G以上,就不会出现如下错误。

美高梅手机登录网站 1

  1. 提示TFTP连接超时,请检查防火墙是否关闭。

美高梅手机登录网站 2

  1. 选择操作系统后可以出现下图所示,加载内核、加载伪文件系统。那么就说明各项服务包括cobbler配置没有错误,如果之后再出现问题,请排查yum源是否完整可用。

美高梅手机登录网站 3

1. 前期准备

iptables -F
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
vim /etc/selinux/config
    修改为SELINUX=disabled

3.配置cobbler

  • 检查cobbler配置文件,根据提示修改参数
    cobbler check可以检查cobbler的各项参数,以提示那些没有修改好的错误,如果有些报错你更改后还在提示那么可以忽略提示。
cobbler check
  • 编辑cobbler配置文件
    每次修改cobbler的配置文件后都要重启服务,并更新配置文件
vim /etc/cobbler/settings
next_server: 192.168.25.107      #设置tftp地址
manage_dhcp: 1                   #cobberl接管dhcp
server: 192.168.25.107           #cobbler的地址,也就是本机地址。
pxe_just_once: 1                 #cobbler接管pxe
systemctl restart cobblerd       #重启服务
cobbler sync                     #更新配置
  • 生成dhcp模板
    dhcp.template时cobberl的dhcp模板文件,当cobberl更新配置时就会把这些模板文件覆盖服务的配置文件。比如这个dhcp模板一旦执行cobbler sync就会将dhcp的默认模板就行覆盖。
vim /etc/cobbler/dhcp.template            #设定子网段,限定可以分配的地址范围
subnet 192.168.25.0 netmask 255.255.255.0 {
   range dynamic-bootp        192.168.25.100 192.168.25.254;
}
cobbler sync 
  • 生成启动文件
    当安装完tftp服务后会自动在tftp的目录下生成菜单文件、启动文件。前面也说明了cobbler的机制时将自己的模板文件覆盖至服务的配置文件,但是cobbler默认没有菜单文件、启动文件的模板。那就需要手动创建cobbler的tftp模板文件,可以通过外网直接下载,也可以将tftp的文件复制到cobbler中然后在通过cobbler修改即可。
#服务器连接了外网
cobbler get-loaders
#服务器没有连接外网可以直接复制
cp /var/lib/tftpboot/{menu.c32,pxelinux.0} /var/lib/cobbler/loaders
  • 导入yum源
    导入的过程也就是cobbler将源文件复制到/var/www/cobbler/ks_mirror的过程。/var/www时httpd服务目录cobbler将镜像源复制到httpd目录中,这个路径也就是ISO的镜像的路径。可以通过导入不同的yum源来实现多系统安装。
cobbler import --path=/mnt/cdrom/centos7 --name=centos7.3 --arch=x86_64
cobbler import --path=/mnt/cdrom/centos6 --name=centos6.9 --arch=x86_64
 # --path  光盘的路径,也可以使用ftp、http等yum源地址
 # --name 镜像名称可以随便写,便于cobbler的管理
 # --acrh  指定架构如果不指定架构,cobbler会分别创建两个架构的镜像
 # 但是镜像本身就是64位的所以创建两个没有必要,因此直接指定架构
cobbler distro list            #查看创建的yum源
  • 生成ks文件
  1. 生成ks.cfg文件有两种方式,一种是通过vim手动创建,一种是通过工具生成。我个人还是比较推荐工具生成,因为ks.cfg文件配置众多通过工具生成更加稳定。
  2. cobbler在导入yum源时发现没有合适的ks文件,就默认创建了一个ks文件但这个ks文件是不可用的,直接将他删除
  3. 注意如果是手动创建ks文件的话,要将本地启动设为默认项,否则的话用户没有来得即选就直接安装操作系统,而你又正好配置了清空磁盘、清空分区表,那用户的系统将被重新安装。
# 删除默认创建的ks文件
cobbler profile list
cobbler profile remove --name=centos6.9-x86_64
cobbler profile remove --name=centos7.3-x86_64

# 创建ks文件
system-config-kickstart            #kickstart图形化生成工具,生成完毕后记得点击左上角的file将其保存
cp  centos6.cfg centos7.cfg /var/lib/cobbler/kickstarts/      #将生成的ks文件复制到cobbler模板目录下
# 将创建的ks文件导入cobbler
cobbler profile add --name=centos6.9_desktop --distro=centos6.9-x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos6.cfg
cobbler profile add --name=centos7.3_mini --distro=centos7.3-x86_64  --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
# add          增加配置
# --name       名称可以随便写便于cobbler管理
# --distro     指定yum源,也就是之前导入的yum源,如果导入了多个yum源需要一一对应
# --kickstart  自己生成ks文件的路径,cobbler会将你自己生成的ks文件转换成cobbler可以识别的ks文件
cobbler sync   同步配置
#创建完成的ks文件中url这一项可以使用$tree来代替。cobbler会自动将其替代

二、实现步骤

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

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

美高梅手机登录网站 4

三、测试

将机器与cobbler接入同一vlan中,开机后会自动进入pxelinux界面。让用户选择是通过本地启动还是安装操作系统。现在只需要敲下回车即可自动安装操作系统。
美高梅手机登录网站 5


四、cobbler的web端管理

cobbler可以通过安装web服务使管理更加的便捷。

  1. 安装
yum install cobbler-web
  1. 配置认证方式
    打开modules.conf配置文件,可以看到cobbler支持众多的用户登录认证方式。常用的认证方式有两种认证方式,第一种为cobbler默认的authn_configfile通过配置文件认证。第二种为authn_pam通过PAM模块来认证即系统用户。
  • 基于配置文件的认证方式。此方式为系统默认的认证方式,确认 module = authn_configfile即可。
# 修改配置文件
vim /etc/cobbler/modules.conf
     [authentication] 
     module = authn_configfile      #   <-------仅修改了这里
# 创建认证用户 aubin,仅在创建第一用户时使用 -c选项创建后续的用户则不在使用
# 倒数第二个参数是relam的名称必须为Cobbler且第一个字母为大写
htdigest -c /etc/cobbler/users.digest Cobbler aubin
  • 基于PAM模块的认证,通过PAM模块将cobbler的认证方式交给系统来认证。
# 修改配置文件
vim /etc/cobbler/modules.conf
     [authentication]
     module = authn_pam            #   <-------仅修改了这里
#创建系统用户,且设置为不可登陆
useradd -s /sbin/nologin  aubin
# 修改用户文件
vim /etc/cobbler/users.conf
[admins]admin = "aubin"            #    <-------写入刚刚创建的系统用户
  1. 测试登录
    输入创建的用户即可登录,web界面的管理过于简单仅用鼠标点击点击再点击即可进行管理,如遇问题请自行百度。

美高梅手机登录网站 6


3.cobbler命令的使用

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

本文由美高梅4858官方网站发布,转载请注明来源

关键词: