一、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 -
下面开始配置环境检查 出来的问题
server: 192.168.163.100 # 384行,cobbler的服务器地址,本机IP地址
next_server: 192.168.163.100 # 272行,TFTP的服务器的IP地址,一般装在本机。填写本机ip即可
centos6中的老提示,启动TFTP服务的,6中tftp服务由xinted接管的,所以需要设置启动。
- 如果可以联网的情况下,可以使用命令
cobbler get-loaders
即可- 没有联网联网,则需要安装syslinux程序包,而后复制/usr/share/syslinux/{pxelinux.0,menu.c32}等文件到/var/lib/cobbler/loaders/目录中
使用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的一些命令使用
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
# 然后开始输入要创建的帐号的密码
下面就可以操作web界面了。
- 也可以使用pam模块验证
将/etc/cobbler/modules.conf 的配置修改为如下
[authentication]
module = authn_pam
- 然后修改/etc/cobbler/users.conf 文件
[admins]
admin = "cobbler " #输入要登陆的linux系统普通用户名
cobbler = "" #不用填写
服务重启后,登陆时使用 这个用户名登陆即可。