大量安装Linux服务器系统时,如果手动安装,会花费很多时间,但是使用PXE安装时,会相对容易一些。Cobbler是一个结合了PXE全过程的工具,可以帮助我们快速搭建PXE安装所需的各种工具,在配置上也更加方便。本文将介绍如何部署Cobbler环境,并安装CentOS7、Ubuntu18作为测试。文章结构安装配置Cobbler安装Ubuntu18、CentOS7测试常用操作及错误处理部署前准备一个CentOS8系统。作为cobbler服务器上要安装的测试机,推荐使用VMWare虚拟机。启动速度更快,测试更方便。详细步骤Cobbler安装配置在准备好的CentOS8中,按照以下步骤进行:系统相关优化配置-关闭selinuxvim/etc/selinux/configSELINUX=disabled并调整重启系统-关闭firewalldsystemctlstopfirewalld&&systemctldisablefirewalld安装Cobbler及相关软件包dninstallepel-release-y&&dnfmoduleenablecobbler-y&&dnfinstallcobblertftpdhcp-servercobbler-webyum-utilspykickstartdebmirrorfence-agentsvimwget-y生成加密密码,安装的系统会将其作为root密码#按照提示输入两次你要设置的密码,生成的加密保存passwordGood#下面命令生成的加密密码明文为“password”opensslpasswd-1Password:Verifying-Password:$1$rLza5zNH$xLKFqWoK32/IA/zslG3Up0修改cobbler主配置文件/etc/cobbler/setting#修改server和next_server为本机服务器的IP地址:10.1.1.1next_server:10.1.1.1manage_tftpd:1manage_dhcp:1#这里填写上一步生成的加密密码default_password_crypted:$1$rLza5zNH$xLKFqWoK32/IA/zslG3Up0修改DHCP/etc/cobbler/dhcp的配置模板。templatedhcp模板内容很多,修改下面setting中的部分内容即可#只修改下面部分配置,根据自己的测试环境修改要分配的gateway和IPsubnet10.1.1.0netmask255.255.255.0{optionrouters10.1.1.254;optiondomain-name-servers223.5.5.5;optionsubnet-mask255.255.255.0;rangedynamic-bootp10.1.1.10010.1.1.200;文件名“/pxelinux.0”;默认租用时间21600;最大租用时间43200;下一个服务器$next_server;编辑/etc/cobbler/tftpd.template#default:off#description:Thetftpserverservesfilesusingthetrivialfiletransfer\#protocol.Thetftpprotocolisoftenusedtobootdiskless\#workstations,downloadconfiguration-filestoners,#andtostarttheinstallationprocessforsomeoperatingsystems.servicetftp{disable=nosocket_type=dgramprotocol=udpwait=yesuser=$userserver=$binaryserver_args=-B1380-v-s$argsper_source=11cps=1002flags=IPv4}开启相关的服务systemctlrestartcobblerdtftpdhcp&&systemctlenablecobblerdtftpdhcpd执行命令cobblerget-loaders下载相关的loader组件Executecobblercheck检查配置,解决出现的问题vim/etc/debmirror.conf#注释掉下面两行#@dists="sid";#@arches="i386";反复执行cobblercheck解决问题并执行cobblersync生成配置文件并自动重启相关Ubuntu18和CentOS7镜像下载镜像的服务配置#下载ubuntu18mirror#注意从以下链接下载,不要下载各大镜像源中带有“live”字样的系统,带有“live”字样的操作系统不是适合种子文件安装wgethttp://cdimage.ubuntu.com/ubuntu/releases/bionic/release/ubuntu-18.04.5-server-amd64.iso#下载centos7镜像wgethttp://mirrors.163.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso将镜像挂载到本地mkdir-p/mnt/ubuntu18;mkdir-pv/mnt/centos7mount-tiso9660-oloop,ro/root/ubuntu-18.04.5-server-amd64.iso/mnt/ubuntu18mount-tiso9660-oloop,ro/root/CentOS-7-x86_64-Minimal-2009.iso/mnt/centos7importcobbleimport--name=ubuntu1804--path=/mnt/ubuntu18cobbleimport--name=centos7--path=/mnt/centos7createsystem#获取配置文件名cobblerprofilelist#填写配置文件名上一步得到的--profilebehindcobblersystemadd--name=ubuntu1804--profile=ubuntu1804-x86_64cobblersystemadd--name=centos7--profile=centos7-x86_64编辑ubuntu18的种子文件打开cobbler的web控制台:https://ip/cobbler_web,用户名和密码都是cobbler点击左边的“Templates”,右边编辑sample.seed,复制所有内容,新建一个Template文件,可以命名为ubuntu1804.seed这里只列出需要修改的地方#我已经将文件系统格式调整为ext4,分区为自动。也可以根据自己的情况调整d-ipartman-auto/diskstring/dev/sdad-ipartman-auto/choose_recipeselectatomicd-ipartman-auto/methodstringregulard-ipartman-lvm/device_remove_lvmbooleantrued-ipartman-md/device_remove_mdbooleantrued-ipartman-partitioning/confirm_write_new_labelbooleantrued-ipartman/choose_partitionselectfinishd-ipartman/confirmbooleantrued-ipartman/confirm_nooverwritebooleantrued-ipartman/default_filesystemstringext4d-ipartman/mount_styleselectuuid#该命令表示可以从cobbler的指定目录下载os初始化脚本,用于配置IP地址或其他操作#脚本可以放在/var/www/cobbler/pub/commands/d-ipreseed/late_commandstringwget-P/target/roothttp://$http_server/cblr/pub/commands/ubuntu18_os_start.sh;\uname-a编辑centos的kickstart文件打开cobbler的web控制台:https://ip:cobbler_web,用户名和密码都是cobbler点击左边的“Templates”,右边编辑default.kst端,复制所有内容,新建一个Template文件,可以命名为centos7.ks这里只列出需要修改的地方#Partitionclearinginformation#xfs文件系统,boot分配1g,其余分配给/,没有交换分区clearpart--all--initlabelpart/boot--asprimary--fstype="xfs"--ondisk=sda--size=1024part/--asprimary--fstype="xfs"--ondisk=sda--grow--size=5000#下载os初始化脚本curl-o/root/centos7_os_start.shhttp://$server/cblr/pub/commands/centos7_os_start.sh其他配置完成上述步骤后,cobblersync需要执行如下命令来同步配置文件。否则PXE启动会报光驱识别错误,每次cobblersync后需要执行如下命令cp/mnt/ubuntu18/install/netboot/ubuntu-installer/amd64/initrd.gz/var/lib/tftpboot/images/ubuntu1804-x86_64/installation测试创建一个A虚拟机,注意网卡必须和Cobbler在同一个VLAN或广播域,并且该网段不能有其他DHCP服务器。注意:内存必须在4G以上,否则会安装失败,选择ubuntu18或centos安装即可开机。ubuntu18的hwe版本内核比较新,对硬件的支持也比较好。您可以根据需要选择等待自动安装完成日常操作和问题解决。cobblersync命令很常用,也很重要。xxx.template文件解析后写入到各自的配置文件或tftp根目录和/var/www/cobbler。执行后会重启一些服务。比如dhcpdcentos8安装cobbler和centos7安装的区别。centos8epel源中的cobbler是3.x版本比较新。推荐使用centos7安装cobbler。执行get-loader会报错,但多次执行可能会成功。PXE开机报PXE-E3BTFTPErrorCheck/var/lib/tftpboot/grub,可能没有grub.0,如果没有,执行/usr/share/cobbler/bin/mkgrub.sh,会报错,但是不用担心/var/lib/cobbler/lo查看aders/确认是否有grub文件夹。如果是这样,那应该没问题。然后运行补鞋匠同步。·https://askubuntu.com/questions/1235723/automated-20-04-server-installation-using-pxe-and-live-server-image·https://wiki.ubuntu.com/UEFI/PXE-netboot-安装https://ubuntu.com/server/docs/install/netboot-amd64
