安装Cobbler及其相关的服务和组件
yum -y install dhcp cobbler cobbler-web pykickstart
systemctl enable --now cobblerd httpd tftp dhcpd
dhcpd没启动没关系,cobbler会帮忙
Cobbler配置文件及各目录情况 (不需要管)
配置文件
/etc/cobbler/settings #cobbler 主配置文件 (重要)
/etc/cobbler/iso/ #iso模板配置文件
/etc/cobbler/pxe #pxe模板文件
/etc/cobbler/power #电源配置文件
/etc/cobbler/user.conf #web服务授权配置文件
/etc/cobbler/users.digest #web访问的用户名密码配置文件
/etc/cobbler/dhcp.template #dhcp服务器的的配置模板
/etc/cobbler/dnsmasq.template #dns服务器的配置模板
/etc/cobbler/tftpd.template #tftp服务的配置模板
/etc/cobbler/modules.conf #cobbler模块的配置文件
数据目录
/var/lib/cobbler/config/ #用于存放distros,system,profiles 等信息的配置文件 /var/lib/cobbler/triggers/ #用于存放用户定义的cobbler命令
/var/lib/cobbler/kickstarts/ # 默认存放kickstart文件
/var/lib/cobbler/loaders/ #存放各种引导程序
镜像目录
/var/www/cobbler/ks_mirror/ #导入的发行版系统的所有数据
/var/www/cobbler/images/ #导入发行版kernel和initrd镜像用于远程网络启动 /var/www/cobbler/repo_mirror/ #yum 仓库存储目录
日志目录
/var/log/cobbler/installing #客户端安装日志 /var/log/cobbler/cobbler.log #cobbler日志
执行cobbler check
配置及启动cobblerd服务
/etc/cobbler/settings
(检测cobbler的运行环境,并根据提示逐步配置cobbler)
1-9
1、改server 就是把地址指向当前cobbler服务器地址
# (dual homed, etc), you need to read the --server-override section
# of the manpage for how that works.
server: 10.0.0.204
2、改next_server tftp服务器地址
# of the cobbler server here so that PXE booting guests can find it
# if you do not set this correctly, this will be manifested in TFTP open timeouts.
next_server: 10.0.0.204
3、不管 centso7用不上
4、 要联网 执行cobbler get-loaders
5-7不管
8、修改默认口令 执行openssl passwd -1
9、不管
下载 cobbler get-loaders
在搜索dhcp 把0改为1 cobbler自动生成DHCP文件
vi /etc/cobbler/settings
# set to 1 to enable Cobbler's DHCP management features.
# the choice of DHCP management engine is in /etc/cobbler/modules.conf
manage_dhcp: 1
修改cobbler下的dhcp文件
vi /etc/cobbler/dhcp.template
subnet 10.0.0.0 netmask 255.0.0.0 {
option routers 10.0.0.2; #网关
option domain-name-servers 8.8.8.8; #dns
option subnet-mask 255.0.0.0; #子网掩码
range dynamic-bootp 10.0.0.100 10.0.0.200; #范围
default-lease-time 21600; #租期
max-lease-time 43200; #最长租期
next-server $next_server;
重启 systemctl restart --now cobblerd
同步 cobbler sync
dhcp文件现在也创建成功
启动dhcp
systemctl start dhcpd
修改名字
vi /etc/cobbler/pxe/pxedefault.template
把镜像文件导入cobller中
先把镜像文件挂载好
mkdir /mnt/centos7
mount CentOS-7-x86_64-Everything-2003.iso /mnt/centos7/
导入镜像文件
cobbler import --name=centos-7.7-x86_64 --path=/mnt/cent --arch=x86_64
成功
[20:13:43 root@igcllq\ [ ~]#cobbler import --name=centos6-x86_64 --path=/mnt/centos6 --arch=x86_64
task started: 2020-09-12_201624_import
task started (id=Media import, time=Sat Sep 12 20:16:24 2020)
Found a candidate signature: breed=redhat, version=rhel6
Found a matching signature: breed=redhat, version=rhel6
Adding distros from path /var/www/cobbler/ks_mirror/centos6-x86_64:
creating new distro: centos6-x86_64
trying symlink: /var/www/cobbler/ks_mirror/centos6-x86_64 -> /var/www/cobbler/links/centos6-x86_64
creating new profile: centos6-x86_64
associating repos
checking for rsync repo(s)
checking for rhn repo(s)
checking for yum repo(s)
starting descent into /var/www/cobbler/ks_mirror/centos6-x86_64 for centos6-x86_64
processing repo at : /var/www/cobbler/ks_mirror/centos6-x86_64
need to process repo/comps: /var/www/cobbler/ks_mirror/centos6-x86_64
looking for /var/www/cobbler/ks_mirror/centos6-x86_64/repodata/*comps*.xml
Keeping repodata as-is :/var/www/cobbler/ks_mirror/centos6-x86_64/repodata
*** TASK COMPLETE ***
查看详情
[20:13:43 root@igcllq\ [ ~]cobbler distro list
centos-7-x86_64
centos-7.7-centso7-x86_64
centos-7.7-x86_64
[20:13:43 root@igcllq\ [ ~]cobbler profile list
centos-7-x86_64
centos-7.7-centso7-x86_64
centos-7.7-x86_64
新建虚拟机
这样就完成了
但是生产需要得话自动生成得应答文件就不太够,所以要把自己得应答文件放进去
存放位置
ll /var/lib/cobbler/kickstarts/
使用自己得应答文件需要修改
url --url=xxxxx 改为 url --url=$tree
准备 kickstart文件,并关联至指定的YUM源
将kickstart文件,关联指定的YUM源和生成菜单列表 (关联的是centos7,8的应答文件)
centos8的应答文件 应答文件名
cobbler profile add --name=CentOS-8.1_test --distro=CentOS-8.1x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos8.cfg
与发行版本名称一样(默认一样)(发行版本查看cobbler distro list )
centos7的应答文件
cobbler profile add --name=CentOS-7.7_test --distro=CentOS-7.7x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7.cfg
删除默认生成的菜单(cobbler生成的应答文件)
cobbler profile remove --name=centos-8.1-x86_64
cobbler profile remove --name=centos-7.7-x86_64
故障1
这种情况是ks文件中的安装源路径出错,改为如下: centos6: url --url=http://httpserver/ksdir/ks.cfg 或者 url --url= t r e e c e n t o s 7 : u r l − − u r l = h t t p : / / h t t p s e r v e r / k s d i r / k s . c f g 或 者 u r l − − u r l = tree centos7: url --url=http://httpserver/ksdir/ks.cfg 或者 url --url= treecentos7:url−−url=http://httpserver/ksdir/ks.cfg或者url−−url=tree centos8: url --url=http://httpserver/ksdir/ks.cfg 或者 url --url=$tree
故障2
这种情况是因为在安装配置cobbler时httpd服务一直在运行中,没有正确的为cobbler提供服务, 因此重启httpd服务就ok了 systemctl restart httpd
故障3
httpd服务运行中安装cobbler-web包后无法访问https://cobblerserver/cobbler-web管理界面?
yum源更新后的Django版本和cobbler不兼容,更新cobbler 2.8.5新版后,此故障已修复
#提示如果无法打开web页面,可以执行面操作
[root@centos7 ~]#yum install python2-pip
#安装指定版本的Django
[root@centos7 ~]#pip install Django==1.8.17
[root@centos7 ~]#systemctl restart httpd