Rocky部署Cobbler

news2024/11/24 0:24:28

1、安装软件

cobbler版本3.3.3  rockyliux9.2

[root@wenzi ~]#dnf -y install cobbler dhcp-server
[root@wenzi ~]#systemctl enable --now cobblerd tftp.service httpd dhcpd

2、配置cobbler

cobbler配置检查

[root@wenzi ~]#cobbler check
The following are potential configuration items that you may want to fix:

1: The 'server' field in /etc/cobbler/settings.yaml must be set to something other than localhost, or automatic installation 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_v4' field in /etc/cobbler/settings.yaml 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: For PXE to be functional, the 'next_server_v6' field in /etc/cobbler/settings.yaml must be set to something other than ::1, and should match the IP of the boot server on the PXE network.
4: some network boot-loaders are missing from /var/lib/cobbler/loaders. 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, andmenu.c32.
5: reposync is not installed, install yum-utils or dnf-plugins-core
6: yumdownloader is not installed, install yum-utils or dnf-plugins-core
7: debmirror package is not installed, it will be required to manage debian deployments and repositories
8: ksvalidator was not found, install pykickstart
9: The default password used by the sample templates for newly installed machines (default_password_crypted in /etc/cobbler/settings.yaml) is still set to 'cobbler' and should be changed, try: "openssl passwd -1 -salt 'random-phrase-here' 'your-password-here'" to generate new one
10: 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.

根据check结果提示安装相关包

[root@wenzi ~]#dnf -y install syslinux dnf-plugins-core pykickstart
#使用md5加密生成密码,用于下面cobbler配置文件
[root@wenzi ~]#openssl passwd -1
Password:
Verifying - Password:
$1$L9q17zY8$VGlrtSiCN5IkRnqkpEB/o1

修改cobbler主配置文件 

[root@wenzi ~]#vim /etc/cobbler/settings.yaml
...
#新装系统的root密码
default_password_crypted: "$1$L9q17zY8$VGlrtSiCN5IkRnqkpEB/o1"
...
#使用cobbler管理dhcp
manage_dhcp: true
...
manage_dhcp_v4: true
...
#tftp地址
next_server_v4: 192.168.28.128
...
#cobbler服务器地址
server: 192.168.28.128
...
#使用cobbler管理tftp
manage_tftpd: true
...
#当bios首选启动项是pxe时,此项设置为true,可避免重启反复安装系统,否则为false
pxe_just_once: true
...

修改dhcp模版文件

[root@wenzi ~]#vim /etc/cobbler/dhcp.template
...
subnet 192.168.28.0 netmask 255.255.255.0 {
     option routers             192.168.28.2;
     option domain-name-servers 223.5.5.5,180.76.76.76;
     option subnet-mask         255.255.255.0;
     range dynamic-bootp        192.168.28.130 192.168.28.254;
     default-lease-time         21600;
     max-lease-time             43200;
     next-server                $next_server_v4;
...

重启cobblerd、dhcpd、tftp.service、httpd;cobbler同步配置

[root@wenzi ~]#systemctl restart cobblerd httpd tftp.service dhcpd
[root@wenzi ~]#cobbler sync

修改启动菜单模版

菜单标题为:Wenzi Cobbler Menu。

[root@wenzi ~]#vim /etc/cobbler/boot_loader_conf/pxe_menu.template
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | Wenzi Cobbler Menu
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local

LABEL local
        MENU LABEL (local)
        MENU DEFAULT
        KERNEL chain.c32
        APPEND hd0 0

导入系统镜像资源

centos6/7/8;镜像资源存放在 /var/www/cobbler/distro_mirror/

[root@wenzi ~]#lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sr0              11:0    1  3.6G  0 rom  /mnt/centos6
sr1              11:1    1  1.5G  0 rom
sr2              11:2    1  4.4G  0 rom  /mnt/centos7
sr3              11:3    1  7.7G  0 rom  /mnt/centos8
nvme0n1         259:0    0   40G  0 disk
├─nvme0n1p1     259:1    0    1G  0 part /boot
└─nvme0n1p2     259:2    0   39G  0 part
  ├─rl_192-root 253:0    0 35.1G  0 lvm  /
  └─rl_192-swap 253:1    0  3.9G  0 lvm  [SWAP]
nvme0n2         259:3    0   20G  0 disk
[root@wenzi ~]#cobbler import --name=centos-6.8-x86_64 --path=/mnt/centos6 --arch=x86_64
[root@wenzi ~]#cobbler import --name=centos-7.9-x86_64 --path=/mnt/centos7 --arch=x86_64
[root@wenzi ~]#cobbler import --name=centos-8.2-x86_64 --path=/mnt/centos8 --arch=x86_64
[root@wenzi ~]#ls /var/www/cobbler/distro_mirror/
centos-6.8-x86_64  centos-7.9-x86_64  centos-8.2-x86_64  config
[root@wenzi ~]#cobbler distro list
   centos-6.8-x86_64
   centos-7.9-x86_64
   centos-8.2-x86_64
[root@wenzi ~]#cobbler profile list
   centos-6.8-x86_64
   centos-7.9-x86_64
   centos-8.2-x86_64

重启cobbler,同步配置。查看生成的启动菜单

[root@wenzi ~]#systemctl restart  cobblerd
[root@wenzi ~]#cobbler sync
[root@wenzi ~]#vim /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | Wenzi Cobbler Menu
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local

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

LABEL centos-6.8-x86_64
        MENU LABEL centos-6.8-x86_64
        kernel /images/centos-6.8-x86_64/vmlinuz
        append initrd=/images/centos-6.8-x86_64/initrd.img  kssendmac inst.ks=http://192.168.28.128/cblr/svc/op/autoinstall/profile/centos-6.8-x86_64
        ipappend 2
LABEL centos-7.9-x86_64
        MENU LABEL centos-7.9-x86_64
        kernel /images/centos-7.9-x86_64/vmlinuz
        append initrd=/images/centos-7.9-x86_64/initrd.img  kssendmac inst.ks=http://192.168.28.128/cblr/svc/op/autoinstall/profile/centos-7.9-x86_64
        ipappend 2
LABEL centos-8.2-x86_64
        MENU LABEL centos-8.2-x86_64
        kernel /images/centos-8.2-x86_64/vmlinuz
        append initrd=/images/centos-8.2-x86_64/initrd.img  kssendmac inst.ks=http://192.168.28.128/cblr/svc/op/autoinstall/profile/centos-8.2-x86_64
        ipappend 2
MENU end

生成引导加载程序 cobbler mkloaders 此命令适用cobblerV3.3.1及之后的版本。

此命令不执行的话新建虚拟机(无cd/dvd)开机会提示pxe-T01:file not found

[root@wenzi ~]#cobbler mkloaders
[root@wenzi ~]#ls /var/lib/cobbler/loaders/
grub  ldlinux.c32  libutil.c32  memdisk  menu.c32  pxelinux.0

自定义kickstart文件

centos6

root密码admin.

install
text
reboot
url --url=$tree
lang en_US.UTF-8
keyboard us
network --onboot yes --device eth0 --bootproto dhcp --noipv6
rootpw  --iscrypted $6$OYCRKMSDIK6mn9VG$jul4P1wBUGqDzj9ZWOi.KLoadka.qlhvUMP1L88RCf96SQp91BVG/kcj34U6toB2PZRcXcWzyF2NYIFSmYeY31
firewall --disabled
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="nomodeset crashkernel=auto rhgb quiet"
zerombr
clearpart --all --initlabel
part /boot --fstype="ext4" --ondisk=sda --size=1024
part /swap --fstype="swap" --ondisk=sda --size=2048
part / --fstype="ext4" --ondisk=sda --grow --size=1


%packages
@chinese-support
@core
@server-policy
@workstation-policy

%end

%post
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-6.10.repo
yum makecache
yum -y install vim

%end

centos7

#version=DEVEL
install
# System authorization information
auth --enableshadow --passalgo=sha512
# Use CDROM installation media
# Use graphical install
text
url --url=$tree
# Run the Setup Agent on first boot
firstboot --enable
selinux --disabled
firewall --disabled
skipx
ignoredisk --only-use=sda
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang en_US.UTF-8

# Network information
network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
network  --hostname=wenzi.localhost
reboot
# Root password
rootpw --iscrypted $6$h9zNLvxii9Zkts/H$Mv8n6MBuLk0HLD1arRA0A/T38ZMpeU0DYLKkdFSYlWG3A3LE7lVhydaLQqSRlxpu9cq6qJ7FPZ5.14WHS4kOv1
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc
# System bootloader configuration
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --ondisk=sda --size=1024
part /swap --fstype="swap" --ondisk=sda --size=2048
part / --fstype="xfs" --ondisk=sda --grow --size=1

%packages
@^minimal
@core
chrony
kexec-tools

%end

%post
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum -y install vim


%end



%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

centos8

#version=RHEL8
install
ignoredisk --only-use=sda
# Partition clearing information
clearpart --all --initlabel
# Use graphical install
text
# Use CDROM installation media
url --url=$tree

reboot
# Keyboard layouts
keyboard --vckeymap=cn --xlayouts='cn'
# System language
lang en_US.UTF-8

selinux --disabled
firewall --disabled
# Network information
network  --bootproto=dhcp --device=ens160 --ipv6=auto --activate
network  --hostname=wenzi.localhost
# Root password
rootpw --iscrypted $6$IdPDEApucOtJWpXv$0VvvGoESO82WtIutqgKaViQPEiFLzd9sjXZqZwUhxRsuLR.7bVA6CSiCiaIvnR.QE4KSeKYZU.UeM0h8TtUes1
# Run the Setup Agent on first boot
firstboot --enable
# Do not configure the X Window System
skipx
# System services
services --disabled="chronyd"
# System timezone
timezone Asia/Shanghai --isUtc --nontp
# Disk partitioning information
zerombr

part /boot --fstype="ext4" --ondisk=sda --size=1024
part /swap --fstype="swap" --ondisk=sda --size=2048
part / --fstype="xfs" --ondisk=sda --grow --size=1


%packages
@^minimal-environment
kexec-tools

%end

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

%post
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/* /etc/yum.repos.d/backup
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
yum makecache
yum -y install vim


%end


%anaconda
pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
%end

更新启动菜单

[root@wenzi ~]#cobbler profile remove --name=centos-6.8-x86_64
[root@wenzi ~]#cobbler profile remove --name=centos-7.9-x86_64
[root@wenzi ~]#cobbler profile remove --name=centos-8.2-x86_64
[root@wenzi ~]#cobbler profile add --name=centos-6.8-x86_64 --distro=centos-6.8-x86_64 --autoinstall=centos6.ks
[root@wenzi ~]#cobbler profile add --name=centos-7.9-x86_64 --distro=centos-7.9-x86_64  --autoinstall=centos7.ks
[root@wenzi ~]#cobbler profile add --name=centos-8.2-x86_64 --distro=centos-8.2-x86_64  --autoinstall=centos8.ks
[root@wenzi ~]#systemctl restart cobblerd
[root@wenzi ~]#cobbler sync

测试

测试出现问题,后查询许久发现已经有人在github上反馈了该bug,暂未修复

https://github.com/cobbler/cobbler/issues/3417

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/914006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

html动态爱心代码【四】(附源码)

目录 前言 特效 完整代码 总结 前言 情人节马上就要到了,为了帮助大家高效表白,下面再给大家带来了实用的HTML浪漫表白代码(附源码)背景音乐,可用于520,情人节,生日,表白等场景,可直接使用。…

logistic自相关检测

logistic自相关检测 clc clearvars;T10000 xzeros(1,T); x(1)0.98; for n1:(T-1)x(n1)4*x(n)*(1-x(n)); end p(x>0.5); n-(x<0.5); H1pn; % sum(pn,all) % sum(x,all)t-T1:T-1; N2*T-1; Rh1zeros(1,N); %自相关函数 Rh2zeros(1,N); fo…

React+Typescript 父子组件事件传值

好 之前我们将 state 状态管理简单过了一下 那么 本文 我们来研究一下事假处理 点击事件上文中我们已经用过了 这里 我们就不去讲了 主要来说说 父子之间的事件 我们直接来编写一个小dom 我们父组件 编写代码如下 import Hello from "./components/hello";functio…

Zabbix监控系统最新版安装

setenforce 0 设置SELinux 成为permissive模式 临时关闭selinux的 [rootwww yum.repos.d]# curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo % Total % Received % Xferd Average Speed Time Time Time Current …

远程控制:用了向日葵控控A2后,我买了BliKVM v4

远程控制电脑的场景很多&#xff0c;比如把办公室电脑的文件发到家里电脑上&#xff0c;但是办公室电脑旁边没人。比如当生产力用的电脑一般都比较重&#xff0c;不可能随时带在身边&#xff0c;偶尔远程操作一下也是很有必要的。比如你的设备在工况恶劣的环境中&#xff0c;你…

线性代数强化第三章

目录 一&#xff0c;关于A伴随&#xff0c;A逆与初等矩阵 二&#xff0c;分块矩阵 三&#xff0c;矩阵方程 ​ 一&#xff0c;关于A伴随&#xff0c;A逆与初等矩阵 如何证明行列式的值不能是0&#xff1b; 此秩为1. 法一&#xff1a; 法二&#xff1a; 不用看是列变换还是行变…

CSPJ2020A真题大全 优秀的拆分,直播获奖,表达式,方格取数

CSPJ2020A. 优秀的拆分 (Excellent Split) 题目描述 一般来说&#xff0c;一个正整数可以拆分成若干个正整数的和。 例如&#xff0c;111111&#xff0c;101234101234101234 等。对于正整数 nnn 的一种特定拆分&#xff0c;我们称它为“优秀的”&#xff0c;当且仅当在这种拆分…

linux中互斥锁,自旋锁,条件变量,信号量,与freeRTOS中的消息队列,信号量,互斥量,事件的区别

RTOS 对于目前主流的RTOS的任务&#xff0c;大部分都属于并发的线程。 因为MCU上的资源每个任务都是共享的&#xff0c;可以认为是单进程多线程模型。 【freertos】003-任务基础知识 在没有操作系统的时候两个应用程序进行消息传递一般使用全局变量的方式&#xff0c;但是如…

高等数学之微分中值定理,柯西中值定理,拉格朗日中值定理,罗尔定理

高等数学之微分中值定理 极值点处的导数为0 但不能反推 驻点&#xff1a;导数为0的点 翻译&#xff1a;一笔画&#xff0c;光滑&#xff0c;两端相等 看图即可 这个推导由于不一点是同一点&#xff0c;不能证明

函数式编程-Stream流学习第一节

1 为什么学习 1.现在很多公司在编程中大量使用函数式编程-Stream流格式代码&#xff0c;所以为了能够看懂公司的代码 2.大量数据下处理集合效率高--因为有并行流 3.代码可读性高 4.消灭嵌套地狱 2 函数式编程思想 2.1 概念 面向对象编程是关注于用对象完成什么事情。而函数式…

Linux 进程间通信(IPC)

文章目录 进程间通信介绍进程间通信的概念进程间通信的目的进程间通信的本质理解进程间通信分类 管道匿名管道匿名管道的原理 pipe函数管道的特点 命名管道命名管道的原理使用相关命令创建命名管道使用命名管道实现server端和client端通信 system V共享内存共享内存通信的基本原…

Linux: scp 使用 Permission denied 错误解决

scp: /system.img Permission denied权限被拒绝&#xff0c;换一个目录执行&#xff0c;或者给这个目录添加权限 chmod 777 从本地复制到远程 scp local_file remote_usernameremote_ip:remote_file scp local_file remote_ip:remote_file 从远程复制到本地 scp rootwww.run.…

3D WEB轻量化引擎HOOPS产品助力NAPA打造船舶设计软件平台

NAPA&#xff08;Naval Architectural PAckage&#xff0c;船舶建筑包&#xff09;&#xff0c;来自芬兰的船舶设计软件供应商&#xff0c;致力于提供世界领先的船舶设计、安全及运营的解决方案和数据分析服务。NAPA拥有超过30年的船舶设计经验&#xff0c;年营业额超过2560万欧…

罗勇军 →《算法竞赛·快冲300题》每日一题:“小球配对” ← 并查集

【题目来源】http://oj.ecustacm.cn/problem.php?id1850http://oj.ecustacm.cn/viewnews.php?id1023【题目描述】 给定 n 个小球&#xff0c;编号为 1-n&#xff0c;给定 m 个篮子&#xff0c;编号为 1-m。 每个球只允许放入样例给定的编号为 Ai 或者 Bi 的两个篮子中的 1 个…

从不均匀性角度浅析AB实验

本篇的目的是从三个不均匀性的角度,对AB实验进行一个认知的普及,最终着重讲述AB实验的一个普遍的问题&#xff0c;即实验准确度问题。 一、AB实验场景 在首页中&#xff0c;我们是用红色基调还是绿色基调&#xff0c;是采用门店小列表外商品feed&#xff08;左图&#xff09;…

【jstat命令】查看jvm内存占用和GC情况

以下两个常用命令 第一个命令&#xff1a;用作查看内存占用和GC情况&#xff08;当前老年代内存空间、老年代使用空间…&#xff09;&#xff1b; 第二个命令&#xff1a;用作查看内存分配情况&#xff08;老年代最小内存空间、老年代最大内存空间…&#xff09;。 1、当前内存…

excel文本函数篇3

replace的替换&#xff0c;是通过指定位置做替换&#xff0c;只能替换一个&#xff0c;跟python中的不一样&#xff0c;python中是通过字串替换。那么怎么实现全部替换呢&#xff1f; ----> substitute函数 &#xff08;1&#xff09;后缀没有B&#xff1a;一个字节代表一个…

补充1 MATLAB_GUI_通过普通按钮PushButton的回调函数ButtonDownFcn创建一个长按回调按钮

目录 一、实例效果二、补充的知识点&#xff08;两种回调函数&#xff09;三、步骤  1. 先建一个空白的GUI。  2.在GUI Figure 上添加一个按钮&#xff08;PushButton&#xff09;组件&#xff0c;并设置其属性&#xff0c;例如位置、大小和文本等。  3.CtrS保存一下GUI。…

回流焊炉温曲线图讲解

从下面回流焊炉温曲线标准图分析回流焊的原理&#xff1a; 当PCB进入升温区&#xff08;干燥区&#xff09;时&#xff0c;焊锡膏中的溶剂、气体蒸发掉&#xff0c;同时焊锡膏中的助焊剂润湿焊盘、元器件端头和引脚&#xff0c;焊锡膏软化、塌落、覆盖了焊盘&#xff0c;将焊盘…

vue 项目在编译时,总是出现系统崩的状态,报错信息中有v7 或者 v8 的样式-项目太大内存溢出

vue 项目在编译时&#xff0c;总是出现系统崩的状态&#xff0c;node 命令框也会报错&#xff0c;如下图&#xff1a;有v7 或者 v8 的样式。 原因分析&#xff1a; 分析&#xff1a;遇到与上面图片相似的问题&#xff0c;我们要首先要想到是否是 有关内存的问题&#xff0c;当然…