Rocky 9.3 上部署最新版本cobbler 3.3.4

本文详细描述了如何在Rocky9.3操作系统上安装和配置Cobbler3.3.4,包括关闭SELinux和防火墙,设置软件源,安装必要的组件,配置密码,Cobbler配置,以及PXE和UEFI引导文件的安装和管理。最后介绍了自动安装文件的配置和镜像软件包的导入。
摘要由CSDN通过智能技术生成

   之所以选择操作系统安装rocky 9.3 (因为这个版本EPEL软件源里面有可以装最新的cobbler3.3.4),系统装完了配置主机名和IP,配置了DNS可以通公网

1、关闭selinux,防火墙等服务

sed -i s#SELINUX=enforcing#SELINUX=disabled# /etc/selinux/config
setenforce 0 
systemctl stop firewalld
systemctl disable firewalld

2、安装软件源和软件包依赖包等等。

dnf install epel-release -y 
dnf makecache
dnf module enable cobbler -y 
dnf install cobbler git httpd  tftp-server tftp dhcp-server yum-utils pykickstart dnf-plugins-core vim wget -y

3、安装PXE启动文件。

# 安装pxe,uefi等引导文件()
# /var/lib/poepper/loaders中缺少一些网络引导加载程序。如果您只想处理x86/x86_64网络引导,您可以确保已安装syslinux包的*最新版本
dnf -y install syslinux syslinux-extlinux syslinux-tftpboot  
# 安装bootx64.efi引导文件制作工具,这是为了获得 grub2-mkstandalone 该命令(注意这个包的全名,后续生成uefi 引导程序,就是这个名字)
# 这个程序非常关键,安装完成后,后面用 cobbler mkloader 命令才能生成 uefi的引导文件,才能正常给uefi服务器装机
dnf -y install grub2-efi-modules grub2-efi-x64-modules   grub2-efi-x64-cdboot
dnf -y install shim-x64 
# 安装适用于 debian 系列的(将需要它来管理debian部署和存储库)  
dnf -y install debmirror 
sed -i 's/@dists="sid";/#@dists="sid";/' /etc/debmirror.conf
sed -i 's/@arches="i386";/#@arches="i386";/' /etc/debmirror.conf

4、配置生成密码加密文

openssl passwd -1 'Uec@1907'     # 最后面单引号里面是要加密的密码

5、配置Cobbler配置文件/etc/cobbler/settings.yaml ,

其中Next_server|Manager_dhcp|manage_tftpd等需要修改
# 可以采用sed替换地址。

cp /etc/cobbler/settings.yaml /etc/cobbler/settings.yaml.bak
sed -ri 's/^(next_server:).*/\1 192.168.4.200/' /etc/cobbler/settings.yaml
sed -ri 's/^(next_server_v4:).*/\1 192.168.4.200/' /etc/cobbler/settings.yaml
sed -ri 's/^(server:).*/\1 192.168.4.200/' /etc/cobbler/settings.yaml
sed -ri 's/^(manage_dhcp:).*/\1 true/' /etc/cobbler/settings.yaml
sed -ri 's/^(manage_dhcp_v4:).*/\1 true/' /etc/cobbler/settings.yaml
sed -ri 's#^(default_password_crypted:).*#\1 "$1$BK3iznjB$zgxM/NypM8LOaQ3FV0LAz/"#' /etc/cobbler/settings.yaml    

6、修改默认的dhcp模板文件

cp /etc/cobbler/dhcp.template /etc/cobbler/dhcp.template.bak
sed -i 's/192.168.1/192.168.4/g' /etc/cobbler/dhcp.template
sed -i 's/192.168.4.5/192.168.4.1/g' /etc/cobbler/dhcp.template    #replace router

7、启动相关服务

cobbler check 
systemctl enable cobblerd tftp dhcpd httpd
systemctl start cobblerd 
cobbler sync
systemctl restart cobblerd tftp dhcpd httpd
ss -ntlp 


8、导入系统镜像软件包

cobbler import --path=/mnt/cdrom/ --name=CentOS-7.6-x86_64 --arch=x86_64
ls /var/www/cobbler/distro_mirror/
#查看已经导入的软件包
cobbler distro list
cobbler profile report --name CentOS-7.6-x86_64 
cobbler sync
#cobbler 3生成 bootloader的命令
cobbler mkloader

tree /var/lib/cobbler/loaders/    #查看PXE的引导文件
/var/lib/cobbler/loaders/
├── grub
│   ├── arm64-efi -> /usr/lib/grub/arm64-efi
│   ├── grub.0
│   ├── grubaa64.efi
│   ├── grubx64.efi     # x86架构下 uefi的网络引导加载程序
│   ├── i386-pc -> /usr/lib/grub/i386-pc
│   ├── shim.efi -> /boot/efi/EFI/rocky/shim.efi  # x86架构下 uefi的网络安全引导加载程序
│   └── x86_64-efi -> /usr/lib/grub/x86_64-efi
├── ldlinux.c32 -> /usr/share/syslinux/ldlinux.c32
├── libcom32.c32 -> /usr/share/syslinux/libcom32.c32
├── libutil.c32 -> /usr/share/syslinux/libutil.c32
├── linux.c32 -> /usr/share/syslinux/linux.c32
├── memdisk -> /usr/share/syslinux/memdisk
├── menu.c32 -> /usr/share/syslinux/menu.c32
├── pxelinux.0 -> /usr/share/syslinux/pxelinux.0          # 普通 传统 bios pxe的引导加载程序
└── undionly.pxe -> /usr/share/ipxe/undionly.kpxe

[root@cobbler3 cobbler]# 
/var/lib/tftpboot/pxelinux.cfg/default      # 从 bios 的 pxe 引导后的菜单
/var/lib/tftpboot/ipxe/default.ipxe         # 从 uefi 的 ipxe 引导后的菜单

[root@cobbler3 cobbler]# cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | https://cobbler.github.io
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local

LABEL local
        MENU LABEL (local)
        MENU DEFAULT
        LOCALBOOT -1

LABEL CentOS-7.6-x86_64
        MENU LABEL CentOS-7.6-x86_64
        kernel /images/CentOS-7.6-x86_64/vmlinuz
        append initrd=/images/CentOS-7.6-x86_64/initrd.img  kssendmac ks=http://192.168.4.200/cblr/svc/op/autoinstall/profile/CentOS-7.6-x86_64 repo=http://192.168.4.200/cblr/links/CentOS-7.6-x86_64
        ipappend 2
MENU end

9、重新配置自动启动的autoinstall文件位置。

#查看当前镜像的默认ks文件为sample.ks,此文件有大量变量,不要轻易修改。建议用命令生成后修改。
[root@cobbler3 loaders]# cobbler profile report --name CentOS-7.6-x86_64 
Name                           : CentOS-7.6-x86_64
Automatic Installation Template : sample.ks
Automatic Installation Metadata : <<inherit>>
TFTP Boot Files                : <<inherit>>
Boot loaders                   : <<inherit>>
Comment                        : 
DHCP Tag                       : 
Distribution                   : CentOS-7.6-x86_64
Enable iPXE?                   : False
Enable PXE Menu?               : True
.......
#导出当前的autoinstall配置文件
cobbler profile get-autoinstall --name CentOS-7.6-x86_64  > /var/lib/cobbler/templates/mycentos7.ks
#修改autoinstall配置文件
vi /var/lib/cobbler/templates/mycentos7.ks  

# 配置绑定autoinstall文件
# cobbler profile edit --name CentOS-7.6-x86_64 --autoinstall mycentos7.ks # 适用cobbler3

10、参考知识

其他参考知识:

# 1、dhcp与tftp相关
    /etc/cobbler/dhcp.template  # cobbler 的 dhcp 模版文件
    /etc/dhcp/dhcpd.conf        # dhcpd 服务的配置文件

# 2、bootloaders 网络引导程序相关
    /usr/share/syslinux/                # 原始syslinux软件带的

    cobbler mkloaders           # cobbler 3 生成 bootloader的命令
    /var/lib/cobbler/loaders/   # 上面生成的文件,存放与这里
    [root@localhost loaders]# tree /var/lib/cobbler/loaders/
    ├── grub
    │   ├── arm64-efi -> /usr/lib/grub/arm64-efi
    │   ├── grub.0              # 普通 bios pxe的引导加载程序
    │   ├── grubaa64.efi        # 不清楚是什么价格
    │   ├── grubx86.efi         # x86架构下 uefi的网络引导加载程序
    │   ├── i386-pc -> /usr/lib/grub/i386-pc
    │   └── x86_64-efi -> /usr/lib/grub/x86_64-efi
    ├── ldlinux.c32 -> /usr/share/syslinux/ldlinux.c32
    ├── libutil.c32 -> /usr/share/syslinux/libutil.c32
    ├── memdisk -> /usr/share/syslinux/memdisk
    ├── menu.c32 -> /usr/share/syslinux/menu.c32
    └── pxelinux.0 -> /usr/share/syslinux/pxelinux.0    # 普通 bios pxe的引导加载程序

    /var/lib/tftpboot/                  # tftpd软件的工作目录
    /var/lib/tftpboot/pxelinux.0        # bios pxe
    /var/lib/tftpboot/grub/grub.0       # bios pxe
    /var/lib/tftpboot/grub/grubx86.efi  # uefi pxe

# 3、引导后加载的目录MENU菜单
    [root@localhost ~]# cd /etc/cobbler/boot_loader_conf/    # 这是 cobbler 控制的各个模版
    [root@localhost boot_loader_conf]# tree
    ├── bootcfg.template
    ├── grub.template
    ├── grub_menu.template
    ├── grub_submenu.template
    ├── ipxe.template
    ├── ipxe_menu.template
    ├── ipxe_submenu.template
    ├── pxe.template
    ├── pxe_menu.template       # bios pxe 的 menu 模版(实测修改后,cobbler sync 后,tftp文件是生效的,但实际却看不到效果)
    └── pxe_submenu.template

    /var/lib/tftpboot/pxelinux.cfg/default      # 从 bios 的 pxe 引导后的菜单
    /var/lib/tftpboot/ipxe/default.ipxe         # 从 uefi 的 ipxe 引导后的菜单

# 4、ks模版文件目录
    /var/lib/cobbler/templates/

# 5、镜像软件包存放目录(如rpm等)
    /var/www/cobbler/distro_mirror

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值