一、cobbler工作流程

  • 远程裸机开机启动网络启动,开机后会广播给DHCP服务器,分配给远程主机一个IP地址
  • 拿到IP地址后,远程主机向cobbler server发送请求OS启动文件的请求。
  • cobbler服务器告诉远程主机OS应到文件的名字,和 TFTP 服务器的IP地址和端口。
  • 远程主机根据IP地址和端口,到TFTP 服务器上下载引导文件。
  • 远程主机执行OS引导文件,加载信息和menu.c32,启动选择菜单,选择要安装的OS,然后向cobbler服务器请求 kickstart 文件和OS iamge
  • 远程主机加载kickstart 文件,开始安装OS image

二、 准备工作

  • 安装 cobbler 基于epel源
  • 安装 cobbler 所需要的服务
    • DHCP
    • TFTP
    • HTTP
  • 关闭SElinux 关闭防火墙 启动各个服务
  • 启动httpd ,tftp.socket服务
  • 启动cobblerd服务
  • 检查cobbler环境
    cobbler check
  • 下面开始配置环境检查 出来的问题

    cobbler自动安装系统
    在主配置文件/etc/cobbler/settings里进行一些设置

server: 192.168.163.100  # 384行,cobbler的服务器地址,本机IP地址

cobbler自动安装系统

next_server: 192.168.163.100   # 272行,TFTP的服务器的IP地址,一般装在本机。填写本机ip即可

cobbler自动安装系统

centos6中的老提示,启动TFTP服务的,6中tftp服务由xinted接管的,所以需要设置启动。

cobbler自动安装系统_第1张图片

  • 如果可以联网的情况下,可以使用命令 cobbler get-loaders即可
  • 没有联网联网,则需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,menu.c32}等文件到/var/lib/cobbler/loaders/目录中

cobbler自动安装系统

  • 使用 openssl passwd -1 生成密码,替换/etc/cobbler/settings文件中 default_password_crypted参数的值
  • 重新启动cobbler服务
  • 然后使用 cobbler sync 同步文件数据
    CentOS7中其他的错误不影响使用。
    cobbler自动安装系统_第2张图片

使用cobbler帮助生成dhcp配置文件

  • /etc/cobbler/setttings配置文件中 manage_dhcp: 0 参数设置为1,则cobbler自动生成DHCP配置文件
  • /etc/cobbler/dhcp.template dhcp的配置模版文件
    subnet 192.168.1.0 netmask 255.255.255.0 {
     option routers             192.168.1.254; 
     option domain-name-servers 192.168.1.1;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.1.100  192.168.1.254;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server;
    #修改IP的范围 网段 网关 等属性即可
  • 重启cobbler服务 cobbler sync 命令同步配置文件数据
  • 制作yum源
cobbler import --path=/mnt/7  --name=CentOS7.4 --arch=x86_64
# --path  光盘挂载路径  --name 生成的包名   --arch 系统架构
cobbler import --path=/mnt/6  --name=CentOS6.9 --arch=x86_64
du -sh  /var/www/cobbler/ks_mirror/  
#可以查看生成大小,生成包所在的路径
  • 这样就可以网络自动安装系统了。
  • 可以修改/var/lib/tftpboot/pxelinux.cfg/default 的文件内容,自己指定ks(kickstart文件)的路径。 ks文件可以根据自己的需求编写。
    url --url=$tree 安装源路径
    开启后可以看见如下图:
    cobbler自动安装系统_第3张图片

    三、cobbler的一些命令使用

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

四 、cobbler-web的实现
cobbler-web访问要基于ssl加密,所以需要mod_ssl安全包。
查看文件 /etc/cobbler/modules.conf

#    authn_denyall    -- no one (default)
#    authn_configfile -- use /etc/cobbler/users.digest (for basic setups)
#    authn_passthru   -- ask Apache to handle it (used for kerberos)
#    authn_ldap       -- authenticate against LDAP
#    authn_spacewalk  -- ask Spacewalk/Satellite (experimental)
#    authn_pam        -- use PAM facilities
#    authn_testing    -- username/password is always testing/testing (debug)

[authentication]
module = authn_configfile #密码的验证方式,基于/etc/cobblerusers.digest 文件帐号验证

创建Cobbler管理账号

htdigest -c /etc/cobbler/users.digest Cobbler  cobbleradmin
 # 给Cobbler创建 帐号 为  cobbleradmin
 # 然后开始输入要创建的帐号的密码
  • 可以看见/etc/cobbler/users.digest 文件中有帐号密码生成,密码是加密过的。
  • 然后访问https://地址/cobbler_web/
    cobbler自动安装系统_第4张图片
  • 进入后可以看到
    cobbler自动安装系统_第5张图片

下面就可以操作web界面了。

  • 也可以使用pam模块验证
    将/etc/cobbler/modules.conf 的配置修改为如下
[authentication]
module =  authn_pam
  • 然后修改/etc/cobbler/users.conf 文件
[admins]
admin = "cobbler " #输入要登陆的linux系统普通用户名
cobbler = "" #不用填写

服务重启后,登陆时使用 这个用户名登陆即可。