admin | 世界杯足球赛事
Cobbler全自动批量安装部署Linux系统
pxe远程安装过程预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。
pxe网络安装的流程:bios启动——pxe client中的程序进入内存,显示命令菜单——此程序开始寻找网络引导程序(bootstrap文件,这个文件的名字随着发行版的不同而不同,在centos中,它是pxelinux.0)——引导程序读取配置文件pxelinux.cfg,获得系统初始化的相关文件信息——系统启动,开始进行安装。过程如下:① PXE 客户端发送UDP广播请求
PXE 客户端从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。
② DHCP服务器提供信息
DHCP服务器收到客户端的请求,验证是否来至合法的PXE 客户端的请求,验证通过它将给客户端一个“提供”响应,这个“提供”响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。
③ PXE客户端请求下载启动文件
客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。
④ TFTP服务器响应客户端请求并传送文件
当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从tftp服务器 下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。
⑤ 请求下载自动应答文件
客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。
⑥ 客户端安装操作系统
将ks.cfg文件下载回来后,通过该文件找到http镜像,并按照该文件的配置请求下载安装过程需要的软件包。
http镜像和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。
安装完成后,将提示重新引导计算机。
Cobbler介绍Cobbler是一个快速网络安装Linux操作系统服务,并支持众多的Linux发行版:Red Hat、Fedora、CentOS、Debian、Ubuntu和SuSE,同样也支持网络安装windows系统。使用Cobbler,无需进行人工操作即可安装系统。
Cobbler为Python编写,具有小巧轻便的特点,提供了CLI和Web的管理形式,作为PXE的二次开发,将多种安装参数都集合封装到一个菜单里,实现了更便捷的系统无人批量安装。
Cobbler 集成的服务
l PXE 服务支持
l DHCP 服务管理
l DNS 服务管理 (可选 bind,dnsmasq)
l 电源管理
l Kickstart 服务支持
l YUM 仓库管理
l TFTP(PXE 启动时需要)
l Apache(提供 kickstart 的安装源,并提供定制化的 kickstart 配置)
由之前pxe介绍,我们可以得知,使用自动化安装需要使用的包有:
n DHCP
n Tftp
n 安装必须的文件(启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)
n 安装软件包传输软件(vsftp,http或者其它软件)
Cobbler的工作流程:
l Client裸机配置从网络启动后,开机会广播包请求DHCP服务器(Cobbler Server)发送其分配好的一个IP地址
l DHCP服务器(Cobbler Server)收到请求后发送responese,包括其IP地址
l Client裸机获取到IP地址后再向Cobbler Server发送请求OS引导文件的请求
l Client裸机通过上面告知的TFTP Server地址通信,下载引导文件
l Client裸机执行该引导文件,确定加载信息,选择要安装的OS,期间会再向Cobbler Server请求kickstart文件和OS image
l Client裸机加载kickstart文件
l Client裸机接收到OS image,安装该os image
Cobbler安装为了简化部分配置,这里记得关闭所有的安全软件,firewalld,iptables,selinux等。
在常规的yum包中没有cobbler的包,这里需要配置一个epel源即可:
[root@centos777 ~]# yum -y install cobbler cobbler-web dhcp tftp-server pykickstart httpd
...
...
...
No package cobbler available.
No package cobbler-web available.
这里显示在centos的yum中,没有cobbler的包
这是经过网上的资料,需要从epel中下载cobbler包,命令如下:
https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-13.noarch.rpm
安装了epel,再安装的时候就可以了,之前用红帽安装,但是一直找不到包就很麻烦,换了centos7后,直接安装成功。
注:EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包) 是Fedora小组维护的一个软件仓库项目,为RHEL/CentOS提供他们默认不提供的软件包。这个源兼容RHEL及像CentOS和Scientific Linux这样的衍生版本。
Cobbler配置首先先看看cobbler的配置文件:
/etc/cobbler # 配置文件目录
/etc/cobbler/settings # cobbler主配置文件,这个文件是YAML格式,Cobbler是python写的程序。
/etc/cobbler/dhcp.template # DHCP服务的配置模板
/etc/cobbler/tftpd.template # tftp服务的配置模板
/etc/cobbler/rsync.template # rsync服务的配置模板
/etc/cobbler/iso # iso模板配置文件目录
/etc/cobbler/pxe # pxe模板文件目录
/etc/cobbler/power # 电源的配置文件目录
/etc/cobbler/users.conf # Web服务授权配置文件
/etc/cobbler/users.digest # 用于web访问的用户名密码配置文件
/etc/cobbler/dnsmasq.template # DNS服务的配置模板
/etc/cobbler/modules.conf # Cobbler模块配置文件
/var/lib/cobbler # Cobbler数据目录
/var/lib/cobbler/config # 配置文件
/var/lib/cobbler/kickstarts # 默认存放kickstart文件
/var/lib/cobbler/loaders # 存放的各种引导程序
/var/www/cobbler # 系统安装镜像目录
/var/www/cobbler/ks_mirror # 导入的系统镜像列表
/var/www/cobbler/images # 导入的系统镜像启动文件
/var/www/cobbler/repo_mirror # yum源存储目录
/var/log/cobbler # 日志目录
/var/log/cobbler/install.log # 客户端系统安装日志
/var/log/cobbler/cobbler.log # cobbler日志
启动相关服务:
[root@centos777 ~]# systemctl start httpd
[root@centos777 ~]# systemctl enable httpd
[root@centos777 ~]# systemctl start cobblerd
[root@centos777 ~]# systemctl enable cobblerd
使用cobbler check来检查配置:
[root@centos777 ~]# cobbler check
The following are potential configuration items that you may want to fix:
1 : The 'server' field in /etc/cobbler/settings must be set to something other than localhost, or kickstarting features will not work. This should be a resolvable hostname or IP for the boot server as reachable by all machines that will use it.
2 : For PXE to be functional, the 'next_server' field in /etc/cobbler/settings must be set to something other than 127.0.0.1, and should match the IP of the boot server on the PXE network.
3 : change 'disable' to 'no' in /etc/xinetd.d/tftp
4 : Some network boot-loaders are missing from /var/lib/cobbler/loaders, you may run 'cobbler get-loaders' to download them, or, if you only want to handle x86/x86_64 netbooting, you may ensure that you have installed a *recent* version of the syslinux package installed and can ignore this message entirely. Files in this directory, should you want to support all architectures, should include pxelinux.0, menu.c32, elilo.efi, and yaboot. The 'cobbler get-loaders' command is the easiest way to resolve these requirements.
5 : enable and start rsyncd.service with systemctl
6 : debmirror package is not installed, it will be required to manage debian deployments and repositories
7 : The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
8 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
Restart cobblerd and then run 'cobbler sync' to apply changes.
可以看到,检查出来八条问题,我们一条条来修改:
第一条,在cobbler设置文件中的server字段应该被设置为非localhost的字段,且这个值能够被解析,并且客户端能够连通。那么,首先,我们先备份所有的配置文件:[root@centos777 cobbler]# mkdir -p /etc/cobbler/bakdir[root@centos777 cobbler]# cp -r * bakdir/然后修改设置:
第二条,为了让pxe正常运行, 必须将setting中的next_server设置为非127.0.0.1的其它值,并且这个值是tftp的ip,由于我这里将所有服务安装在一个服务器上,那么就也是192.168.116.10
第三条,在xinetd服务中,将tftp关闭
第四条,使用cobbler get-loaders下载缺失的网络启动文件:[root@centos777 cobbler]# cobbler get-loaders
第五条,启动rsync并设置为开机自启动[root@centos777 cobbler]# systemctl start rsyncd
[root@centos777 cobbler]# systemctl enable rsyncd
第六条,debian系统相关,可以忽略第七条,使用openssl生成自己的密码,并在配置文件中修改[root@centos777 cobbler]# openssl passwd -1 -salt '123456' '123456'
$1$123456$wOSEtcyiP2N/IfIl15W6Z0
第八条,电源管理的,暂时用不上,忽略在设置文件中前面两行可以看到提示:# cobbler settings file
# restart cobblerd and run "cobbler sync" after making changes在修改后重启cobbler并且运行cobbler sync来应用修改
再运行一次cobbler检查:
显示的是之前忽略的两个问题,所以基本设置已经做好了
配置cobbler-dhcp
将/etc/cobbler/setting中的manage_dhcp的值设置为1,这样就启动了cobbler的dhcp功能。
修改cobbler的dhcp的配置文件模板(仅仅将修改过的部分显示出来):
vim /etc/cobbler/dhcp.template
subnet 192.168.116.0 netmask 255.255.255.0 {
option routers 192.168.116.2;
option domain-name-servers 192.168.116.2;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.116.100 192.168.116.254;
注意,在/etc/cobbler/dhcp.template文件的开头提示了,不要去修改/etc/dhcpd.conf,我们应该就在/etc/cobbler/dhcp.template中修改,这样我们修改会覆盖掉dhcp的配置文件,这样就可以同步修改,如果我们去修改了/etc/dhcpd.conf,那么在经过cobbler同步之后,配置只会保存了我们在cobbler中的修改,可能导致运行结果不在我们的预想之内;使用cobbler的话就只在/etc/cobbler/dhcp.template中修改就号。
重启cobbler并同步配置:
[root@centos777 cobbler]# cobbler sync
task started: 2020-11-17_162641_sync
task started (id=Sync, time=Tue Nov 17 16:26:41 2020)
running pre-sync triggers
cleaning trees
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying images
generating PXE configuration files
generating PXE menu structure
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout:
received on stderr:
running: service dhcpd restart
received on stdout:
received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.manage_genders
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
检查dhcp是否启动:
配置服务开机启动:
[root@centos777 ~]# systemctl enable httpd.service
[root@centos777 ~]# systemctl enable cobblerd
[root@centos777 ~]# systemctl enable dhcpd
导入镜像
挂载镜像
[root@centos777 mnt]# mkdir cdrom
[root@centos777 mnt]# mount /dev/cdrom /mnt/cdrom/
导入系统镜像
[root@centos777 ~]# cobbler import --path=/mnt/cdrom/ --name=CentOS-7-x86_64-DVD-2009 --arch=x86_64
说明,将位于/mnt/cdrom下的文件导入到cobbler中,将这个iso文件命名为CentOS-7-x86_64-DVD-2009,系统是x86_64类型的。
可以使用命令查看导入了哪些镜像:
[root@centos777 ~]# cobbler distro list
CentOS-7-DVD-2009-x86_64
显示导入了Centos7的镜像。
Cobbler将镜像存储在/var/www/cobbler/ks_mirror/下,如下:
[root@centos777 ~]# ll /var/www/cobbler/ks_mirror/
total 0
drwxr-xr-x 8 root root 254 Nov 4 19:35 CentOS-7-x86_64-DVD-2009-x86_64
drwxr-xr-x 2 root root 43 Nov 18 10:26 config
[root@centos777 ~]# ll /var/www/cobbler/ks_mirror/CentOS-7-x86_64-DVD-2009-x86_64/
total 340
-rw-r--r-- 1 root root 14 Oct 30 05:14 CentOS_BuildTag
drwxr-xr-x 3 root root 35 Oct 27 00:25 EFI
-rw-rw-r-- 1 root root 227 Aug 30 2017 EULA
-rw-rw-r-- 1 root root 18009 Dec 10 2015 GPL
drwxr-xr-x 3 root root 57 Oct 27 00:26 images
drwxr-xr-x 2 root root 198 Nov 3 00:17 isolinux
drwxr-xr-x 2 root root 43 Oct 27 00:25 LiveOS
drwxr-xr-x 2 root root 233472 Nov 4 19:30 Packages
drwxr-xr-x 2 root root 4096 Nov 4 19:35 repodata
-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r-- 1 root root 1690 Dec 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r-- 1 root root 2883 Nov 4 19:36 TRANS.TBL
修改ks.cfg文件:
Cobbler的ks.cfg文件的存放位置是:/var/lib/cobbler/kickstarts/,自带很多ks.cfg模板文件,可以根据需要修改,本次实验是使用安装系统的的cfg文件:
[root@centos777 ~]# cd /var/lib/cobbler/kickstarts/
[root@centos777 kickstarts]# ll
total 64
-rw-r--r-- 1 root root 115 Aug 30 2019 default.ks
-rw-r--r-- 1 root root 22 Aug 30 2019 esxi4-ks.cfg
-rw-r--r-- 1 root root 22 Aug 30 2019 esxi5-ks.cfg
drwxr-xr-x 2 root root 56 Nov 17 14:54 install_profiles
-rw-r--r-- 1 root root 1424 Aug 30 2019 legacy.ks
-rw-r--r-- 1 root root 292 Aug 30 2019 pxerescue.ks
-rw-r--r-- 1 root root 2825 Aug 30 2019 sample_autoyast.xml
-rw-r--r-- 1 root root 1856 Aug 30 2019 sample_end.ks
-rw-r--r-- 1 root root 0 Aug 30 2019 sample_esx4.ks
-rw-r--r-- 1 root root 324 Aug 30 2019 sample_esxi4.ks
-rw-r--r-- 1 root root 386 Aug 30 2019 sample_esxi5.ks
-rw-r--r-- 1 root root 386 Aug 30 2019 sample_esxi6.ks
-rw-r--r-- 1 root root 1913 Aug 30 2019 sample.ks
-rw-r--r-- 1 root root 3419 Aug 30 2019 sample_old.seed
-rw-r--r-- 1 root root 6694 Aug 30 2019 sample.seed
-rw-r--r-- 1 root root 6706 Jun 18 2019 sample.seed.28
导入IOS镜像后,在此文件夹下会有自动有一个ks文件供其使用,即是sample_end.ks。
但在本次实验中,我们使用安装服务器时留下的ks文件使用:
[root@centos777 kickstarts]# ll /root
total 8
-rw-------. 1 root root 1987 Nov 14 17:09 anaconda-ks.cfg
-rw-r--r--. 1 root root 2018 Nov 14 17:15 initial-setup-ks.cfg
下面我们将这个文件拷贝到cobbler放置ks.cfg文件的目录中:
[root@centos777 kickstarts]# cp /root/anaconda-ks.cfg ./CentOS-7-DVD-2009-x86_64.cfg
[root@centos777 kickstarts]# ll
total 68
-rw------- 1 root root 1987 Nov 19 12:43 CentOS-7-DVD-2009-x86_64.cfg
-rw-r--r-- 1 root root 115 Aug 30 2019 default.ks
-rw-r--r-- 1 root root 22 Aug 30 2019 esxi4-ks.cfg
-rw-r--r-- 1 root root 22 Aug 30 2019 esxi5-ks.cfg
drwxr-xr-x 2 root root 56 Nov 17 14:54 install_profiles
-rw-r--r-- 1 root root 1424 Aug 30 2019 legacy.ks
-rw-r--r-- 1 root root 292 Aug 30 2019 pxerescue.ks
-rw-r--r-- 1 root root 2825 Aug 30 2019 sample_autoyast.xml
-rw-r--r-- 1 root root 1856 Aug 30 2019 sample_end.ks
-rw-r--r-- 1 root root 0 Aug 30 2019 sample_esx4.ks
-rw-r--r-- 1 root root 324 Aug 30 2019 sample_esxi4.ks
-rw-r--r-- 1 root root 386 Aug 30 2019 sample_esxi5.ks
-rw-r--r-- 1 root root 386 Aug 30 2019 sample_esxi6.ks
-rw-r--r-- 1 root root 1913 Aug 30 2019 sample.ks
-rw-r--r-- 1 root root 3419 Aug 30 2019 sample_old.seed
-rw-r--r-- 1 root root 6694 Aug 30 2019 sample.seed
-rw-r--r-- 1 root root 6706 Jun 18 2019 sample.seed.28
这样在自动安装的时候就会按照安装服务端机器的配置来安装客户端。
现在来看看镜像文件的信息:
[root@centos777 ~]# cobbler distro report --name=CentOS-7-DVD-2009-x86_64
Name : CentOS-7-DVD-2009-x86_64
Architecture : x86_64
TFTP Boot Files : {}
Breed : redhat
Comment :
Fetchable Files : {}
Initrd : /var/www/cobbler/ks_mirror/CentOS-7-x86_64-DVD-2009-x86_64/images/pxeboot/initrd.img
Kernel : /var/www/cobbler/ks_mirror/CentOS-7-x86_64-DVD-2009-x86_64/images/pxeboot/vmlinuz
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart Metadata : {'tree': 'http://@@http_server@@/cblr/links/CentOS-7-DVD-2009-x86_64'}
Management Classes : []
OS Version : rhel7
Owners : ['admin']
Red Hat Management Key : <
Red Hat Management Server : <
Template Files : {}
查看所有配置信息:
[root@centos777 ~]# cobbler profile report
Name : CentOS-7-DVD-2009-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : CentOS-7-DVD-2009-x86_64
Enable gPXE? : 0
Enable PXE Menu? : 1
Fetchable Files : {}
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart : /var/lib/cobbler/kickstarts/sample_end.ks
Kickstart Metadata : {}
Management Classes : []
Management Parameters : <
Name Servers : []
Name Servers Search Path : []
Owners : ['admin']
Parent Profile :
Internal proxy :
Red Hat Management Key : <
Red Hat Management Server : <
Repos : []
Server Override : <
Template Files : {}
Virt Auto Boot : 1
Virt Bridge : xenbr0
Virt CPUs : 1
Virt Disk Driver Type : raw
Virt File Size(GB) : 5
Virt Path :
Virt RAM (MB) : 512
Virt Type : kvm
可以看到,ks文件仍然时默认文件,虽然之前将自己的文件放在目录下,但是在配置文件中还是没有修改,需要我们自己修改:
[root@centos777 ~]# cobbler profile edit --name=CentOS-7-DVD-2009-x86_64 --kickstart=/var/lib/cobbler/kickstarts/CentOS-7-DVD-2009-x86_64.cfg
再次查看配置文件:
[root@centos777 ~]# cobbler profile report
Name : CentOS-7-DVD-2009-x86_64
TFTP Boot Files : {}
Comment :
DHCP Tag : default
Distribution : CentOS-7-DVD-2009-x86_64
Enable gPXE? : 0
Enable PXE Menu? : 1
Fetchable Files : {}
Kernel Options : {}
Kernel Options (Post Install) : {}
Kickstart : /var/lib/cobbler/kickstarts/CentOS-7-DVD-2009-x86_64.cfg
Kickstart Metadata : {}
Management Classes : []
Management Parameters : <
Name Servers : []
Name Servers Search Path : []
Owners : ['admin']
Parent Profile :
Internal proxy :
Red Hat Management Key : <
Red Hat Management Server : <
Repos : []
Server Override : <
Template Files : {}
Virt Auto Boot : 1
Virt Bridge : xenbr0
Virt CPUs : 1
Virt Disk Driver Type : raw
Virt File Size(GB) : 5
Virt Path :
Virt RAM (MB) : 512
Virt Type : kvm
同步一次:
[root@centos777 ~]# cobbler sync
task started: 2020-11-19_130847_sync
task started (id=Sync, time=Thu Nov 19 13:08:47 2020)
running pre-sync triggers
cleaning trees
removing: /var/www/cobbler/images/CentOS-7-DVD-2009-x86_64
removing: /var/lib/tftpboot/pxelinux.cfg/default
removing: /var/lib/tftpboot/grub/images
removing: /var/lib/tftpboot/grub/grub-x86.efi
removing: /var/lib/tftpboot/grub/grub-x86_64.efi
removing: /var/lib/tftpboot/grub/efidefault
removing: /var/lib/tftpboot/images/CentOS-7-DVD-2009-x86_64
removing: /var/lib/tftpboot/s390x/profile_list
copying bootloaders
trying hardlink /var/lib/cobbler/loaders/grub-x86.efi -> /var/lib/tftpboot/grub/grub-x86.efi
trying hardlink /var/lib/cobbler/loaders/grub-x86_64.efi -> /var/lib/tftpboot/grub/grub-x86_64.efi
copying distros to tftpboot
copying files for distro: CentOS-7-DVD-2009-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7-x86_64-DVD-2009-x86_64/images/pxeboot/vmlinuz -> /var/lib/tftpboot/images/CentOS-7-DVD-2009-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7-x86_64-DVD-2009-x86_64/images/pxeboot/initrd.img -> /var/lib/tftpboot/images/CentOS-7-DVD-2009-x86_64/initrd.img
copying images
generating PXE configuration files
generating PXE menu structure
copying files for distro: CentOS-7-DVD-2009-x86_64
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7-x86_64-DVD-2009-x86_64/images/pxeboot/vmlinuz -> /var/www/cobbler/images/CentOS-7-DVD-2009-x86_64/vmlinuz
trying hardlink /var/www/cobbler/ks_mirror/CentOS-7-x86_64-DVD-2009-x86_64/images/pxeboot/initrd.img -> /var/www/cobbler/images/CentOS-7-DVD-2009-x86_64/initrd.img
Writing template files for CentOS-7-DVD-2009-x86_64
rendering DHCP files
generating /etc/dhcp/dhcpd.conf
rendering TFTPD files
generating /etc/xinetd.d/tftp
processing boot_files for distro: CentOS-7-DVD-2009-x86_64
cleaning link caches
running post-sync triggers
running python triggers from /var/lib/cobbler/triggers/sync/post/*
running python trigger cobbler.modules.sync_post_restart_services
running: dhcpd -t -q
received on stdout:
received on stderr:
running: service dhcpd restart
received on stdout:
received on stderr: Redirecting to /bin/systemctl restart dhcpd.service
running shell triggers from /var/lib/cobbler/triggers/sync/post/*
running python triggers from /var/lib/cobbler/triggers/change/*
running python trigger cobbler.modules.manage_genders
running python trigger cobbler.modules.scm_track
running shell triggers from /var/lib/cobbler/triggers/change/*
*** TASK COMPLETE ***
安装系统新建一台虚拟机,启动即可:
可以看到是因为tftp超时,来检查一下:
[root@centos777 ~]# systemctl status tftp
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: inactive (dead)
Docs: man:in.tftpd
[root@centos777 ~]# systemctl start tftp
[root@centos777 ~]# systemctl status tftp
● tftp.service - Tftp Server
Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
Active: active (running) since Thu 2020-11-19 13:13:05 CST; 1s ago
Docs: man:in.tftpd
Main PID: 3213 (in.tftpd)
Tasks: 1
CGroup: /system.slice/tftp.service
└─3213 /usr/sbin/in.tftpd -s /var/lib/tftpboot
Nov 19 13:13:05 centos777 systemd[1]: Started Tftp Server.
原来是没有打开tftp的服务,打开后再来测试一下:
红色框住的部分还是cobbler的信息,这里我们可以修改为我们自己的信息:
修改/etc/cobbler/pxe/pxedefault.template文件的信息即可,修改完成后同步一下就可以了。
但是仍然出问题:
修改/var/lib/cobbler/kickstarts/CentOS-7-DVD-2009-x86_64.cfg文件,如下:
并且在安装的时候,如下:
在上图的时候要自己选择第二个选项。。。很不智能,还是pxe好用一些,只是配置没这个方便。
当然在实际使用的时候还有很多问题,但是在网上都能找到答案,就不多说了。