【Linux集群教程】15 集群装机 - Cobbler 简介和搭建
操作系统进入到图形化界面,接下来就要构建 kisckstart 剧本文件。#进入到图形化界面 $ init 5 #配置 kisckstart 无人值守安装脚本(是使用python编写的软件包) $ yum -y install system-config-kickstart #进入图形界面执行 $ system-config-kickstart #后续操作就直接跟 kickstart 的向导进行配
3 Cobbler
参考文献:[ https://blog.csdn.net/weixin_46108954/article/details/106385094 ]
3.1 Cobbler 与 PXE 的不同点
3.1.1 Cobbler 是什么?
Cobbler 是红帽公司研发的基于 PXE 技术的装机服务,可以选着性安装多个不同的操作系统
Cobbler 是一个快速网络安装linux的服务,而且在经过调整也可以支持网络安装 Windows。
使用简单的命令即可完成PXE网络安装环境的配置,同时还可以管理DHCP、DNS、TFTP、RSYNC以及yum仓库、构造系统ISO镜像。 Cobbler支持命令行管理,web界面管理,还提供了API接口,可以方便二次开发使用,Cobbler客户端Koan支持虚拟机安装和操作系统重新安装。
Cobbler 是一款自动化操作系统安装的实现,与 PXE 安装系统的区别就是可以同时部署多个版本的系统,而 PXE 只能选择一种系统。
Cobbler优点:
- 搭建更为简单,管理更为便捷
- 能够选择相同版本进行安装
Cobbler 基础原理
Cobbler是通过将DHCP、TFTP、DNS、HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电源管理等。 Cobbler的最终目的是实现无需进行人工干预即可安装机器。
3.1.2 Cobbler 可以干什么?
- 服务器上架后,可以手动选择需要安装的系统(如:Centos6.8 或 Centos 7.3)
- 服务器上架后,能够根据需求,安装配置操作系统(如:修改IP地址、主机名、选择安装包)
- 系统安装后,可以自定义的执行脚本,完成系统基础软件初始化(如:Zabbix安装配置、SaltStack安装配置)
- 可以当内部YUM源,并在系统安装时进行初始化
- 可以重装系统
- Cobbler支持API,可以无缝融合到自建运维平台中
- Cobbler支持网卡的路由配置、DNS配置、bonding
3.1.3 Cobbler 基础原理
Cobbler是通过将DHCP、TFTP、DNS、HTTP等服务进行集成,创建一个中央管理节点,其可以实现的功能有配置服务,创建存储库,解压缩操作系统媒介,代理或集成一个配置管理系统,控制电源管理等。 Cobbler的最终目的是实现无需进行人工干预即可安装机器。在进行进一步的操作之前,我们有必要先了解下pxe和kickstart 。
PXE概述
预启动执行环境(Preboot eXecution Environment,PXE,也被称为预执行环境)是让计算机通过网卡独立地使用数据设备(如硬盘)或者安装操作系统。Intel 搞出来的。
其工作原理:
- PXE Client发送广播包请求DHCP分配IP地址DHCP
- Server回复请求,给出IP地址以及Boot
- Server的地址PXE下载引导文件执行引导程序
- 总结来说,PXE主要是通过广播的方式发送一个包,并请注获取一个地址,而后交给TFTP程序下载一个引导文件。
Kickstart 概述
Kickstart 是红帽开发的一种工具,我们可以简单理解为一个自动安装应答配置管理程序。通过读取这个配置文件,系统知道怎么去分区,要安装什么包,配什么IP,优化什么内核参数等等。其主要有以下部分组成:
Kickstart 安装选项,包含语言的选择,防火墙,密码,网络,分区的设置等;
- %Pre 部分,安装前解析的脚本,通常用来生成特殊的ks配置,比如由一段程序决定磁盘分区等;
- %Package 部分,安装包的选择,可以是 @core 这样的group的形式,也可以是这样 vim-* 包的形式;
- %Post 部分,安装后执行的脚本,通常用来做系统的初始化设置。比如启动的服务,相关的设定等。
3.1.4 Cobbler 的设计方式
Cobbler 的配置结构基于一组注册的对象。每个对象表示一个与另一个实体相关联的实体(该对象指向另一个对象,或者另一个对象指向该对象)。当一个对象指向另一个对象时,它就继承了被指向对象的数据,并可覆盖或添加更多特定信息。以下对象类型的定义为:
- 发行版:表示一个操作系统。它承载了内核和 initrd 的信息,以及内核参数等其他数据。
- 配置文件:包含一个发行版、一个 kickstart 文件以及可能的存储库,还包含更多特定的内核参数等其他数据。
- 系统:表示要配给的机器。它包含一个配置文件或一个镜像,还包含 IP 和 MAC 地址、电源管理(地址、凭据、类型)以及更为专业的数据等信息。
- 存储库:保存一个 yum 或 rsync 存储库的镜像信息。
- 镜像:可替换一个包含不属于此类别的文件的发行版对象(例如,无法分为内核和 initrd 的对象)
3.1.5 Cobbler 工作原理
Server 端:
第一步,启动Cobbler服务
第二步,进行Cobbler错误检查,执行cobbler check命令
第三步,进行配置同步,执行cobbler sync命令
第四步,复制相关启动文件文件到TFTP目录中
第五步,启动DHCP服务,提供地址分配
第六步,DHCP服务分配IP地址
第七步,TFTP传输启动文件
第八步,Server端接收安装信息
第九步,Server端发送ISO镜像与Kickstart文件
Client 端:
第一步,客户端以PXE模式启动
第二步,客户端获取IP地址
第三步,通过TFTP服务器获取启动文件
第四步,进入Cobbler安装选择界面
第五步,客户端确定加载信息
第六步,根据配置信息准备安装系统
第七步,加载Kickstart文件
第八步,传输系统安装的其它文件
第九步,进行安装系统
3.1.6 Cobbler 与 PXE 如何选择?
- PXE:适合环境中只需要安装同一操作系统即可,并且开机后不需介入
- Cobbler:适合环境中有多种操作系统的需求,开机后需人员选择安装的操作系统版本
3.2 Cobbler 安装记录
3.2.0 环境准备
两台主机
一台主机:充当Cobbler,http,dhcp,tftp服务器,并关闭防火墙和SELinux
一台主机:充当测试机,用于实现自动化安装Linux系统
网络要求:关闭Vmware软件中的网卡模式中的DHCP服务。
3.2.1 CentOS 7 安装 Cobbler
3.2.1.1 环境准备
两台主机
一台主机:CentOS 7.9.2009 充当Cobbler,http,dhcp,tftp服务器,并关闭防火墙和SELinux
一台主机:充当测试机,用于实现自动化安装Linux系统
网络要求:关闭Vmware软件中的NAT模式中的DHCP服务,两个主机网卡基于NAT模式
3.2.1.2 安装相关包并启动服务
# 配置阿里云源的epel源和Base源(需要联网操作执行)
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
# 加速Yum源索引速度
yum makecache fast
# 下载Cobbler所需的软件
yum install -y cobbler cobbler-web pykickstart debmirror dhcp httpd tftp-server xinetd syslinux rsync fence-agents
# 安装图形化界面,方便后续的kickstarts文件的生成(可选择)
nohup yum groupinstall -y "Server with GUI" &
# 启动Cobbler等相关依赖服务
systemctl enable --now cobblerd httpd tftp dhcpd rsyncd
#dhcpd 服务可能启动会报错,DHCP会在后面进行配置
# 查看端口
netstat -auntlp | grep 25151
3.2.1.3 修改cobbler相关的配置
# 用于检查cobbler的当前配置是否正常
$ 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 : ksvalidator was not found, install pykickstart
8 : 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
9 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
# 根据以上提示,只需要做1,2,8这三项即可,修改下面四行
$ vim /etc/cobbler/settings
# 该密码是所有使用Cobbler安装系统的初始化密码
default_password_crypted: "$1$8e6153d5$fyfLhvrYCKId0TypgsSh9."
# < tftp服务器的 IP 地址 >
next_server:10.10.10.11
# < cobbler服务器的 IP 地址 >
server:10.10.10.11
# 设置为1,表示通过cobbler生成dhcpd.conf配置文件(可选择)
# manage_dhcp:1
# 设置为1,防止重复安装系统(可选择)
# pxe_just_once: 1
### default_password_crypted 密码设置
$ openssl passwd -1 -salt $(openssl rand -hex 4)
# 创建与系统加密方案一直的密码,用于系统初始化密码
$1$8e6153d5$fyfLhvrYCKId0TypgsSh9.
# 使用的密码:1qaz2wsx
#$ vim /etc/cobbler/settings # 设置默认密码
#default_password_crypted "$1$2e9f34a6$agRUt.mZhgUF56FJqSoLO."
$ sed -i.bak -r '/disable/s#(.*) = (.*)#\1 = no#ig' /etc/xinetd.d/tftp
$ cat /etc/xinetd.d/tftp
disable = no
$ systemctl restart xinetd && systemctl enable xinetd
#注释/etc/debmirror.conf文件中的@dists="sid";一行
$ sed -i 's/@dists="sid";/#@dists="sid";/' /etc/debmirror.conf
#注释/etc/debmirror.conf文件中的@arches="i386";一行
$ sed -i 's/@arches="i386";/#@arches="i386";/' /etc/debmirror.conf
# 安装 Cobbler 隔离机制,防止重复安装,centos7 中没有 cman 报错正常
$ yum -y install cman fence-agents xinetd
$ systemctl restart cobblerd
#用于同步配置到cobbler的数据目录,对于cobbler的任何更改,都应该在更改后执行这条命令用于同步。
# 进行自动同步文件
$ cobbler sync
# 进行 Cobbler 自检
$ cobbler check
#以下可以暂时不进行管理
1 : 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, menu.c32, elilo.efi, and yaboot.
#2 : fencing tools were not found, and are required to use the (optional) power management features. install cman or fence-agents to use them
### 注意:新版本的 Cobbler 已经不再支持 cobbler get-loaders 参数的使用,需要注意一下
### 大部分使用的 cobbler sync && cobbler check 以及 systemctl restart cobbler
3.2.1.4 下载启动的相关文件
$ cobbler get-loaders
#注意:若出现相关的"No such command: get-loaders"
#则是在安装的cobbler版本中,压根就不支持使用该命令下载引导启动文件!cobbler也给出了其他的解决办法,
#即安装syslinux,我们可以直接通过YUM的方式进行安装,安装后,尽管cobbler check命令依然报错,但是我们可以不用理会该报错,直接进行cobbler的下一步配置即可!
$ yum install -y syslinux*
$ cobbler check
$ systemctl restart cobblerd
3.2.1.5 实现dhcp服务
#修改dhcp的模版文件下面的行,用来生成dhcp的配置文件
$ vim /etc/dhcp/dhcpd.conf
option domain-name "chinasoft.com";
option domain-name-servers 223.5.5.5,223.6.6.6;
default-lease-time 43200;
max-lease-time 86400;
log-facility local7;
subnet 10.10.10.0 netmask 255.255.255.0 {
option routers 10.10.10.11;
#option domain-name-servers 223.5.5.5,223.6.6.6;
option subnet-mask 255.255.255.0;
range dynamic-bootp 10.10.10.100 10.10.10.200;
#next-server 10.10.10.11;
}
next-server 10.10.10.11;
filename="pxelinux.0";
$ systemctl restart dhcpd && systemctl enable dhcpd
$ systemctl restart tftp && systemctl enable tftp
$ cobbler sync
#忽略cobbler get-loaders错误,往下继续执行
#cobbler最新版本get-loaders命令已废弃,安装 syslinux 即可yum install syslinux
注意:若出现相关的"No such command: get-loaders"
则是在安装的cobbler版本中,压根就不支持使用该命令下载引导启动文件!cobbler也给出了其他的解决办法,即安装syslinux,我们可以直接通过YUM的方式进行安装,安装后,尽管cobbler check命令依然报错,但是我们可以不用理会该报错,直接进行cobbler的下一步配置即可!
3.2.1.6 修改菜单的标题信息
$ vim /etc/cobbler/pxe/pxedefault.template
MENU TITLE Cobbler | http://www.kube-cobbler.com/
$ cobbler sync
$ cat /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT menu
PROMPT 0
MENU TITLE Cobbler | http://www.kube-cobbler.com/
TIMEOUT 200
TOTALTIMEOUT 6000
ONTIMEOUT local
LABEL local
MENU LABEL (local)
MENU DEFAULT
LOCALBOOT -1
MENU end
3.2.1.7 导入CentOS系统的安装文件,生成相应的YUM源
# 导入yum源时,会自动生成菜单项并自动关联最小化安装系统的文件kickstart文件,默认root密码为cobbler
# 也可自己制作kickstart文件并放至/var/lib/cobbler/kickstarts目录中
# 挂载光盘 #/dev/sr0为CentOS 7,/dev/sr1为CentOS 6
mkdir -pv /mnt/cdrom{6,7}
mount -t iso9660 /dev/sr0 /mnt/cdrom7
mount -t iso9660 /dev/sr1 /mnt/cdrom6
# 导入CentOS系统的安装文件(消耗时间较长,需要耐心等待)
nohup cobbler import --name=centos-7.9-x86_64 --path=/mnt/cdrom7 --arch=x86_64 &
nohup cobbler import --name=centos-6.10-x86_64 --path=/mnt/cdrom6 --arch=x86_64 &
# 将其对其进程丢到后台运行
# 实时查看目录下的大小
$ watch -n 1 du -sh /var/www/cobbler/ks_mirror/*
# 查看导入的Cobbler镜像信息
$ cobbler distro list
centos-7.9-x86_64
centos-6.10-x86_64
# 将原有的Cobbler生成的 均以最小化安装。若管理员觉得最小化安装即可,那么就安装完毕了。
# 若要安装 Cobbler Web 端,则跳到3.2.1.11 - 3.2.1.12 小节
$ cobbler profile list
centos-7.9-x86_64
centos-6.10-x86_64
# 默认生成的是最小化安装
# 若是按步骤做的这里,最小化的安装 root 密码就应该是 1qaz2wsx
# 就可以在 Cobbler 安装出来的系统使用该密码进行登录
#若觉得不能满足生产需要,需要将其删除删除默认生成的菜单,然后重新制作kisckstart 文件
$ cobbler profile remove --name centos-7.9-x86_64
$ cobbler profile remove --name centos-6.10-x86_64
可以在浏览器中查看 http://10.10.10.11/cobbler 。
部分实验截图:可以通过访问格式:http:///cobbler/ 看到文件列表
3.2.1.8 管理员根据自身的需要自定义 kisckstart 文件
操作系统进入到图形化界面,接下来就要构建 kisckstart 剧本文件。
#进入到图形化界面
$ init 5
#配置 kisckstart 无人值守安装脚本(是使用python编写的软件包)
$ yum -y install system-config-kickstart
#进入图形界面执行
$ system-config-kickstart
#后续操作就直接跟 kickstart 的向导进行配置
#这里以 CentOS 7操作系统为例
- 进入图形化界面操作并打开 kisckstart
- 基本配置,根据自己的需求选择,输入 Root 密码
- 安装方式:选择Http,如果使用的是FTP搭建就使用 FTP
- 引导装载程序选择安装
- 分区信息,选择清除主引导记录,添加好自己的分区信息
- 网络添加 DHCP
- 认证
- 禁用防火墙,根据需要,可以不禁用防火墙功能
- 根据需求,选择是否安装图形界面
- 最后根据自己的需求,写入脚本信息,可以不写,其他没截图的均为默认。这里将 Yum 源进行配置即可。
cd /etc/yum.repos.d
rm -rf *
echo -e "[CentOS-Base]" > CentOS-Base.repo
echo -e "baseurl=http://10.10.10.11/cobber/ks_mirror/centos-7.9-x86_64/" >> CentOS-Base.repo
echo -e "enabled=1" >> CentOS-Base.repo
echo -e "gpgcheck=0" >> CentOS-Base.repo
- 最后保存文件即可(我将文件保存到 /root/ 目录下)
- kickstart 生成了绝大部分的配置文件,但是依旧需要管理员手动填写一些信息,才能实现真正的无人值守安装系统。
cat >> /var/lib/cobbler/kickstarts/centos7-9.cfg <<-'EOF'
#platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$MMY4G7dF$0N/xkGmmq77i09oxz3znb1
# System language
lang en_US
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Firewall configuration
firewall --disabled
# Network information
network --bootproto=dhcp --device=ens33
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# Use network installation
#注意此行必须指定(自己浏览器的地址)
url --url="http://10.10.10.11/cobbler/ks_mirror/centos-7.9-x86_64/"
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all
# Disk partitioning information
part / --fstype="xfs" --size=102400
part /boot --fstype="ext4" --size=2048
part /home --fstype="xfs" --size=102400
%post
cd /etc/yum.repos.d
rm -rf *
echo -e "[CentOS-Base]" > CentOS-Base.repo
echo -e "baseurl=http://10.10.10.11/cobber/ks_mirror/centos-7.9-x86_64/" >> CentOS-Base.repo
echo -e "enabled=1" >> CentOS-Base.repo
echo -e "gpgcheck=0" >> CentOS-Base.repo
%end
EOF
在保存的文件末尾进行编辑添加最小化操作系统,不然依旧会导致进入到图形化的界面
$ cat >> /var/lib/cobbler/kickstarts/centos7-9.cfg <<EOF
# Operating System Selection
%packages
@^minimal
%end
EOF
# 添加完毕后,修改再对配置文件进行一部分修改
$ vim /var/lib/cobbler/kickstarts/centos7-9.cfg
# 将Root密码修改为Cobbler的变量
rootpw --iscrypted $default_password_crypted
# 设置系统的默认时区
timezone Asia/Shanghai
3.2.1.9 准备 kickstart文件,并关联至指定的YUM源
#CentOS 6操作系统的 kickstart 文件示例
cat > /var/lib/cobbler/kickstarts/centos6-10.cfg <<EOF
ignoredisk --only-use=sda
zerombr
text
reboot
clearpart --all --initlabel
selinux --disabled
timezone Asia/Shanghai
firewall --disabled
#注意此行必须指定(自己浏览器的地址)
url --url="http://10.10.10.11/cobbler/ks_mirror/centos-6.10-x86_64/"
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
network --bootproto=dhcp --device=eth0 --ipv6=auto --activate
network --hostname=centos6.kubernetes.com
#需要使用Cobbler配置文件的变量
rootpw --iscrypted $default_password_crypted
firstboot --enable
skipx
services --disabled="chronyd"
timezone Asia/Shanghai --isUtc --nontp
part / --fstype="xfs" --ondisk=sda --size=102400
part /data --fstype="xfs" --ondisk=sda --size=51200
part swap --fstype="swap" --ondisk=sda --size=2048
part /boot --fstype="ext4" --ondisk=sda --size=1024
%packages
@base
@chinese-support
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@office-suite
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@workstation-policy
@x11
mtools
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
abrt-gui
samba-winbind
certmonger
pam_krb5
krb5-workstation
libXmu
%end
EOF
#将kickstart文件,关联指定的YUM源和生成菜单列表
$ cobbler profile add --name=centOS-7.9-basic --distro=centos-7.9-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos7-9.cfg
$ cobbler profile add --name=centOS-6.10-basic --distro=centos-6.10-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6-10.cfg
$ cobbler profile list
centOS-7.9-basic
centOS-6.10-basic
# 删除默认的菜单列表
#cobbler profile remove --name=<Profile_Name>
3.2.1.10 测试客户端基于Cobbler实现自动安装
部分实验截图:在 VMware workstation 新建虚拟机,网络设置在与 Cobbler 服务器一样的网络中,开启虚拟机,就可以看到两个操作系统使用。
管理员进行手动选择操作系统即可,当然也Cobbler 也支持选择默认的操作系统自动安装,这里就不多赘述。
有需求的管理员可以寻找官网文档的资料或者借助搜索引擎进行配置即可。
部分实验截图:CentOS 7 Cobbler 安装完毕后的效果
3.2.1.11 实现cobbler 的web管理
yum -y install cobbler-web
systemctl restart httpd
通过浏览器访问下面地址:https://< cobblerserver IP地址>/cobbler_web
用户名:cobbler,默认密码:cobbler
3.2.1.12 创建cobbler的自定义的web用户
$ cat /etc/cobbler/users.digest
cobbler:Cobbler:a2d6bae81669d707b72c0bd9806e01f3
#添加自定义账号
$ htdigest -c /etc/cobbler/users.digest Cobbler admin
Adding password for admin in realm Cobbler.
New password:
Re-type new password:
$ cat /etc/cobbler/users.digest
admin:Cobbler:461941848a17e1b412f94c100a79bf75
3
$ htdigest /etc/cobbler/users.digest Cobbler kube-zhong
Adding user admin2 in realm Cobbler
New password:
Re-type new password:
$ cat /etc/cobbler/users.digest
admin:Cobbler:422a093725c6f5cf1ee8082feb533646
3
kube-zhong:Cobbler:8eafc7c069b76e22657bbad729842913
使用上面命令创建的用户登录web界面
登录成功后,可以看到下面界面
3.3 CentOS 6 KS 模板
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url="http://10.10.10.11/cobbler/ks_mirror/centos6.10/"
# Root password
# 用的变量
rootpw --iscrypted $default_password_crypted
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="ext4" --size=600
part swap --fstype="swap" --size=4000
part / --fstype="ext4" --grow --size=1
%post --interpreter=/bin/bash
touch /root/README.txt
echo "hello Cobbler" >> /root/README.txt
echo "Please Use the server with care"
%end
%packages
@base
@chinese-support
@core
@debugging
@basic-desktop
@desktop-debugging
@desktop-platform
@directory-client
@fonts
@general-desktop
@graphical-admin-tools
@input-methods
@internet-applications
@internet-browser
@java-platform
@legacy-x
@network-file-system-client
@office-suite
@print-client
@remote-desktop-clients
@server-platform
@server-policy
@workstation-policy
@x11
mtools
pax
python-dmidecode
oddjob
wodim
sgpio
genisoimage
device-mapper-persistent-data
abrt-gui
samba-winbind
certmonger
pam_krb5
krb5-workstation
libXmu
%end
3.4 CentOS 7 KS 模板
#Kickstart Configurator by Jason Zhao
#platform=x86, AMD64, or Intel EM64T
#System language
lang en_US
#System keyboard
keyboard us
#Sytem timezo
timezone Asia/Shanghai
#Root password
rootpw --iscrypted $default_password_crypted
#rootpw --iscrypted $1$ops-node$7hqdpgEmIE7Z0RbtQkxW20
#Use text mode install
text
#Install OS instead of upgrade
install
#Use NFS installation Media
#自己浏览器的地址
url --url="http://10.10.10.11/cobbler/ks_mirror/centos7.9/"
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype xfs --size 1024 --ondisk sda
part swap --size 4000 --ondisk sda
part / --fstype xfs --size 1 --grow --ondisk sda
#System authorization infomation
auth --useshadow --enablemd5
#Network information
$SNIPPET('network_config')
#network --bootproto=dhcp --device=eth0 --onboot=on
# Reboot after installation
reboot
#Firewall configuration
firewall --disabled
#SELinux configuration
selinux --disabled #
Do not configure XWindows
skip
%pre
$SNIPPET('log_ks_pre')
$SNIPPET('kickstart_start')
$SNIPPET('pre_install_network_config')
# Enable installation monitoring
$SNIPPET('pre_anamon')
%end
#Package install information
%packages
@base
@core
%end
3.5 Cobbler 命令的介绍
参考文献:[ https://blog.csdn.net/weixin_40228200/article/details/123394822 ]
在安装cobbler的设备上,执行命令:
cobbler --help
$ cobbler --help
usage
=====
cobbler <distro|profile|system|repo|image|mgmtclass|package|file> ...
[add|edit|copy|getks*|list|remove|rename|report] [options|--help]
cobbler <aclsetup|buildiso|import|list|replicate|report|reposync|sync|validateks|version|signature|hardlink> [options|--help]
从上图中可以看到,cobbler的命令比较简单,常用命令主要有以下9种:
1、cobbler check
用于检查cobbler的当前配置是否正常。
2、cobbler list
用于列出当前所有的cobbler元素,比如镜像、repo仓库、配置文件等等。该命令执行结果如下:
$ cobbler list
distros:
centos-6.10-x86_64
centos-7.9-x86_64
profiles:
centos-6.10-x86_64
centos-7.9-x86_64
systems:
repos:
images:
mgmtclasses:
packages:
files:
3、cobbler report
该命令用于查看指定cobbler元素的详细信息。
4、cobbler sync
该命令用于同步配置到cobbler的数据目录,对于cobbler的任何更改,都应该在更改后执行这条命令用于同步。
5、cobbler reposync
该命令用于同步yum仓库。
6、cobbler distro
该命令用于查看导入的cobbler镜像信息。
7、cobbler system
该命令用于查看添加的系统信息。
8、cobbler profile
该命令用于查看配置信息。
9、cobbler import
该命令用于向cobbler中导入镜像文件。
示例:
最后,我们再来列举一下在cobbler的实际使用过程中的cobbler命令示例。
1、导入系统镜像
cobbler import --path=/centos6 --name=centos6 --arch=x86_64
2、修改系统的ks文件
cobbler profile edit --name=centos6-x86_64 --kickstart=/var/lib/cobbler/kickstarts/centos6.ks
3、查看系统镜像信息
cobbler distro report --name=centos6-x86_64
4、查看系统的配置文件
cobbler profile report --name=centos6-x86_64

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)