Linux云计算 |【第一阶段】SERVICES-DAY4

news2024/12/23 4:34:06

主要内容:

DHCP概述、PXE批量装机、配置PXE引导、Kickstart自动应答、Cobbler装机平台

一、DHCP服务概述及原理

DHCP动态主机配置协议(Dynamic Host Configuration Protocol),由IETF(Internet网络工程师任务小组)组织指定,用来简化主机地址分配管理;

主要分配以下入网参数:

  • IP地址、子网掩码、广播地址默认网关地址、DNS服务器地址

DHCP地址分配的四次会话(以DHCP广播方式进行):

  • 方式:DISCOVERY -> OFFER -> REQUEST -> ACK

解释:客户端DHCP广播 — DHCP服务器回应广播(分配IP) — 客户端反馈 — ACK确认

(同一网络中可能有多个DHCP广播,所以一般要求一个网段中只能有一台DHCP服务器)

服务端基本概念:

  • 租期:允许客户机租用IP地址的时间期限,单位为秒
  • 作用域:分配给客户机的IP地址所在的网段
  • 地址池:用来动态分配的IP地址的范围

1)配置DHCP地址分配服务

  1. 所需软件包:dhcp
  2. 配置文件:/etc/dhcp/dhcpd.conf
  3. 系统服务:dhcpd

步骤1:安装dhcp软件包

[root@svr7 ~]# yum -y install dhcp     //安装软件包

步骤2:修改配置文件(末行模式:: -r /usr/share/doc/dhcp*/dhcpd.conf.example)

[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf        //保留关键配置信息
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example   //参考文件
#   see dhcpd.conf(5) man page
subnet 10.5.5.0 netmask 255.255.255.224 {     //声明分配的网段
  range 10.5.5.26 10.5.5.30;       //分配IP地址范围
  option domain-name-servers ns1.internal.example.org;    //分配客户端DNS
  option domain-name "internal.example.org";     //分配客户端域名(del)
  option routers 10.5.5.1;       //分配客户端网关
  option broadcast-address 10.5.5.31;      //分配客户端广播地址(del)
  default-lease-time 600;     //默认续租时间60秒
  max-lease-time 7200;      //最大续租时间720秒
}

修改关键字段:

[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf        //修改关键配置信息
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
subnet 192.168.4.0 netmask 255.255.255.0 {      //声明分配的网段
  range 192.168.4.100 192.168.4.200;           //分配IP地址范围
  option domain-name-servers 192.168.4.7;      //分配DNS
  option routers 192.168.4.254;                  //分配网关地址
  default-lease-time 600;       //默认续租时间60秒
  max-lease-time 7200;
}

步骤3:重启服务

[root@svr7 ~]# systemctl restart dhcpd

注意:每个字段的[ {} ]为一对(最后没有;分号)每个字段的[ ; ]前后注意不要多空格

常见报错:分配的地址不在分配网络字段范围则报错

二、PXE网络装机服务概述

网络装机服务是一种允许计算机通过网络启动和安装操作系统的技术。通常用于大规模部署操作系统、软件和配置,特别是在企业环境中,可以显著提高部署效率和一致性。

网络装机服务的工作原理如下:

  1. 客户端启动:当计算机启动时,BIOS或UEFI固件会检查网络接口卡(NIC)是否支持PXE,并尝试通过网络启动。

  2. DHCP请求:客户端发送一个DHCP请求到网络中的DHCP服务器,以获取IP地址和PXE启动所需的引导文件位置(通常是一个TFTP服务器的地址和文件路径)。

  3. TFTP引导:客户端从TFTP服务器下载引导文件(通常是一个小的引导加载程序,如PXELINUX或GRUB),并执行该文件。

  4. 引导加载程序:引导加载程序会提供一个菜单或界面,允许用户选择要安装的操作系统或进一步的配置选项。

  5. 操作系统安装:根据用户的选择,引导加载程序会从网络服务器(如HTTP、FTP或NFS)下载操作系统的安装文件,并启动安装过程。

网络装机服务的优势包括:

  • 集中管理:通过网络集中管理和部署操作系统,减少了对物理介质的依赖。
  • 灵活性:可以远程启动和安装操作系统,适用于各种硬件平台。
  • 效率:自动化和批量部署能力,提高了部署效率和一致性。
  • 自动化:装系统、配置各种服务;(可写脚本)
  • 远程实现:不需要光盘、U盘等物理安装介质;(网络克隆GHOST)

PXE(Pre-boot eXecution Environment)预启动执行环境,在操作系统之前运行,可用于远程安装;工作模式:

  • PXE client集成在网卡的启动芯片中(硬件支持)
  • 当计算机引导时,从网卡芯片中把PXE client调入内存执行并进行广播,获取PXE server配置、显示菜单,根据用户选择将远程引导程序下载到本地运行;

为了实现PXE网络装机服务,通常需要以下组件:

  1. 支持PXE的网络接口卡:客户端计算机需要支持PXE启动的NIC。
  2. DHCP服务器:分配IP地址,并提供TFTP服务器的地址和引导文件路径。
  3. TFTP服务器:提供引导加载程序文件。
  4. 引导加载程序:如PXELINUX或GRUB,提供启动菜单和进一步的引导功能。
  5. 操作系统镜像服务器:存储和提供操作系统安装文件,如HTTP、FTP或NFS服务器。

解释:客户端服务器机默认先找光驱、USB(需安装操作系统)— 调用硬件网卡广播 — DHCP分配IP 及 告知BootServer(TFTP提供启动文件使硬件正常启动)—FTP(软件包)

PXE装机-步骤1:配置DHCP服务(请求分配IP地址)

[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf     //修改配置文件
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
#   see dhcpd.conf(5) man page
subnet 192.168.4.0 netmask 255.255.255.0 {    //声明网段
  range 192.168.4.100 192.168.4.200;      //指定IP地址范围
  option domain-name-servers 192.168.4.7;    //指定DNS
  option routers 192.168.4.254;            //指定网关
  default-lease-time 600;
  max-lease-time 7200;
  next-server 192.168.4.7;    //指定PXE服务器(后续服务在192.168.4.7)
  filename "pxelinux.0";      //指明网卡引导文件名(网络装机说明书)
}

[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# netstat -anptu | grep dhcpd
udp        0      0 0.0.0.0:67              0.0.0.0:*                           3230/dhcpd     

注意:由于网卡引导文件是二进制文件,可以安装软件生成该文件,默认叫 pxelinux.0,建议在配置文件中指明的网卡引导文件名为 pxelinux.0,方便记忆无需修改其它文件名。

三、部署TFTP服务

TFTP简单文件传输协议(Trivial File Transfer Protocol),简单文件传输协议,UDP 69端口

  • 作用:主要用来传输小文件,不支持认证和复杂FTP操作
  • 所需软件包:tftp-server
  • 系统服务:tftp
  • 默认共享的主目录:/var/lib/tftpboot    //默认资源目录

(没有操作系统也可以传输数据,有IP即可,无需验证)

PXE装机-步骤2:配置TFTP服务(启用TFTP服务器、提供pxelinux.0引导、配置启动菜单)

1)启用TFTP服务端

① 安装tftp软件包

[root@svr7 ~]# yum -y install tftp-server.x86_64    //安装软件包

② 重启服务

[root@svr7 ~]# systemctl restart tftp    //自动生成/var/lib/tftpboot目录
[root@svr7 ~]# ls /var/lib/tftpboot/    //目录内容显示为空

2)提供PXE引导启动程序(pxelinux.0

  • 部署pxelinux.0启动程序(引导)
  • 此文件由软件包syslinux提供,网卡PXE启动完毕,主机引导权会交给此程序;
  • 需要存放路径:/var/lib/tftpboot

① 查看软件包

[root@svr7 ~]# yum provides */pxelinux.0    //查询哪个软件包产生该文件
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
mydvd/filelists_db                       | 6.9 MB     00:00     
syslinux-4.05-13.el7.x86_64 : Simple kernel loader which boots  //需下载
                            : from a FAT filesystem
源    :mydvd
匹配来源:
文件名    :/usr/share/syslinux/pxelinux.0
 
syslinux-tftpboot-4.05-13.el7.x86_64 : SYSLINUX modules in
     ...: /var/lib/tftpboot, available for network booting
源    :mydvd
匹配来源:
文件名    :/var/lib/tftpboot/pxelinux.0

建议安装:syslinux-4.05-13.el7.x86_64,为方便后续排查

② 下载安装软件包,生成pxelinux.0引导文件

[root@svr7 ~]# yum -y install syslinux      //安装syslinux软件包
[root@svr7 ~]# rpm -ql syslinux | grep pxelinux.0    //查询软件包安装清单
/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

③ 复制pxelinux.0引导文件到TFTP共享主目录

[root@svr7 ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0

3)配置启动菜单文件(default)

部署default菜单文件,将光盘中的菜单文件进行复制作为模板,为pxelinux.0启动程序提供配置;(作为模板的光盘菜单文件:/mydvd/isolinux/isolinux.cfg)

配置路径:/var/lib/tftpboot/pxelinux.cfg/default      //default为复制的菜单文件

注意:需手动创建/var/lib/tftpboot/pxelinux.cfg/,再拷贝光盘文件作为模板文件并改名default(文件名必须写成default)


① 手动创建配置路径并拷贝模板文件及改名

[root@svr7 ~]# ls /mydvd/isolinux/        //查看挂载的光盘内容(只读)
boot.cat   initrd.img    memtest     vesamenu.c32
boot.msg   isolinux.bin  splash.png  vmlinuz
grub.conf  isolinux.cfg  TRANS.TBL
[root@svr7 ~]# mkdir /var/lib/tftpboot/pxelinux.cfg  //手动创建路径pxelinux.cfg
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0  pxelinux.cfg
[root@svr7 ~]# cp /mydvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default   //拷贝光盘的isolinux.cfg作为模板菜单文件
[root@svr7 ~]# ls /var/lib/tftpboot/pxelinux.cfg/
default      //配置菜单文件

② 拷贝vesamenu.c32提供图形支持模块和splash.png背景图片(256M像素以下)

[root@svr7 ~]# cp /mydvd/isolinux/vesamenu.c32 /mydvd/isolinux/splash.png /var/lib/tftpboot/     //vesamenu.c32提供图形支持,splash.png背景图片
[root@svr7 ~]# ls /var/lib/tftpboot/
pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32

③ 拷贝Linux内核vmlinuz及initrd.img初始镜像文件(驱动文件)

[root@svr7 ~]# cp /mydvd/isolinux/vmlinuz /mydvd/isolinux/initrd.img /var/lib/tftpboot/
[root@svr7 ~]# ls /var/lib/tftpboot/
initrd.img  pxelinux.cfg  vesamenu.c32
pxelinux.0  splash.png    vmlinuz

归纳:共享目录中总共6个文件,包括:拷贝的5个文件,创建1的个目录(pxelinux.0)

① pxelinux.0   引导文件(工具生成)

② Pxelinux.cfg —> default  目录—>菜单文件(拷贝模板)

③ Vmlinuz   内核文件(拷贝)

④ Initrd.img  驱动文件(拷贝)

⑤ vesamenu.c32   图形支持模块(拷贝)

⑥ Splash.png   背景图片(拷贝)

4)default配置菜单文件调整

① 修改菜单显示及启动参数,为每个系统安装设置好的label菜单项标签内容:

[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default    //修改配置菜单文件
  1 default vesamenu.c32       //默认加载运行图形模块
  2 timeout 600        //读秒时间60秒(1/10秒)
 10 menu background splash.png      //背景图片
 11 menu title NSD  PXE  SERVER     //启动菜单标题信息
 61 label linux    //菜单项标签
 62   menu label ^Install CentOS 7
 63   menu default     //添加default,读秒结束后默认加载选项
 64   kernel vmlinuz    //内核的位置
 65   append initrd=initrd.img      //驱动(初始镜像)、inst.stage=安装源位置
...

补充:inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet   //光盘的安装源位置

注意:确定菜单文件目录中的Linux内核和初始化镜像文件存在

② 重启服务

[root@svr7 ~]# systemctl restart dhcpd     //重启DHCP服务
[root@svr7 ~]# systemctl restart tftp     //重启TFTP服务

PXE装机测试(初步验证)

注意事项:

  • 安装方式选择“网络引导(PXE)”
  • 新虚拟机与PXE服务器在同一网络(网卡类型:Private虚拟网络)
  • 排除其它DHCP服务干扰

① 新建一台虚拟机,选择网络引导PXE

② 选择系统(概述)

③ 内存:2048M,CPU:2

④ 磁盘空间:20G

⑤ 新虚拟机与PXE服务器在同一网络(网卡类型:Private虚拟网络),并点击完成

⑥ 进入DHCP广播页面

⑦ 进入菜单项页面

由于没有应答文件,等待一段时间后则超时报错;(找提供的应答文件)

排错思路:                              

  • 检查1:查看DHCP服务配置文件,指定的驱动文件名是否写错,注意分号【;】

# ls /etc/dhcp/dhcpd.conf) —》 filename  "pxelinux.0";

  • 检查2:查看/var/lib/tftpboot目录内容,需要准备的文件是否齐全

# ls /var/lib/tftpboot/ —》initrd.img  pxelinux.cfg  vesamenu.c32 pxelinux.0  splash.png    vmlinuz

  • 检查3:检查菜单文件内容是否有配置错误

# ls /var/lib/tftpboot/pxelinux.cfg —》Default

PXE引导过程:

1.通过DHCP配置网卡、获取TFTP地址及PXE启动文件

2.从TFTP服务器下载PXE启动文件

3.读取菜单启动配置(pxelinux.cfg/defualt)

4.根据选择vmlinuz和initrd.img

5.内核vmlinuz运行后,主导安装程序

、构建FTP服务(提供光盘内容)

FTP文件传输协议,默认端口:21

默认共享数据的主目录:/var/ftp


PXE装机-步骤3:配置FTP服务(挂载光盘目录)

① 安装FTP软件包并重启服务

[root@svr7 ~]# yum -y install vsftpd    //下载安装包
[root@svr7 ~]# systemctl restart vsftpd   //重启服务

② 建立挂载点并测试

[root@svr7 ~]# mkdir /var/ftp/centos
[root@svr7 ~]# mount /dev/cdrom /var/ftp/centos/      //注意临时挂载【/】
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 ~]# ls /var/ftp/centos/
CentOS_BuildTag  images    repodata
EFI              isolinux  RPM-GPG-KEY-CentOS-7
EULA             LiveOS    RPM-GPG-KEY-CentOS-Testing-7
GPL              Packages  TRANS.TBL
[root@svr7 ~]# curl ftp://192.168.4.7/centos/    //测试FTP
-rw-rw-r--    1 0        0              14 May 02  2018 CentOS_BuildTag
drwxr-xr-x    3 0        0            2048 May 03  2018 EFI
-rw-rw-r--    1 0        0             227 Aug 30  2017 EULA
-rw-rw-r--    1 0        0           18009 Dec 09  2015 GPL
drwxr-xr-x    2 0        0            2048 May 03  2018 LiveOS
drwxrwxr-x    2 0        0         1640448 May 03  2018 Packages
-rw-rw-r--    1 0        0            1690 Dec 09  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--    1 0        0            1690 Dec 09  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--    1 0        0            2883 May 07  2018 TRANS.TBL
drwxr-xr-x    3 0        0            2048 May 03  2018 images
drwxr-xr-x    2 0        0            2048 May 03  2018 isolinux
drwxrwxr-x    2 0        0            4096 May 07  2018 repodata

注意:curl测试ftp://192.168.4.7/centos/结尾必须要加【/】

补充:ftp://192.168.4.7/,相当于路径/var/ftp

五、Kickstart技术概述(无人职守/应答文件)

  • 预先提供应答文件,定义好各种安装设置;
  • 免去交互过程,实现全自动化安装;
  • 添加%post脚本,可执行安装后的各种配置;

PXE装机-步骤4:使用Kickstar工具(应答文件)

1)创建应答文件

  • 配置对应的YUM源,将YUM仓库文件的源ID标识设为[development]
  • 安装并使用system-config-kickstart工具

① 安装system-config-kickstart.noarch软件包

[root@svr7 ~]# yum -y install system-config-kickstart.noarch
[root@svr7 ~]# system-config-kickstart    //运行程序(不能使用远程方式)

如图所示:

注意:运行程序后软件包选择显示“下载软件包信息失败”,因为system-config-kickstart程序需要Yum仓库的支持才能显示软件包的选择,且必须要求Yum仓库的标识为[development](BUG)

修改YUM仓库配置文件的标识:[development]

[root@svr7 ~]# vim /etc/yum.repos.d/mydvd.repo
[root@svr7 ~]# cat /etc/yum.repos.d/mydvd.repo
[development]     //修改仓库标识
name=mydvd
baseurl=file:///mydvd
enable=1
gpgcheck=0

打开工具,检查软件包选择界面是否有软件包

② 运行system-config-kickstart程序,配置应答文件

[root@svr7 ~]# system-config-kickstart    //运行图形工具

1.【基本配置】设置默认语言、时区、Root密码(UTC针对双系统才需要)

2.【安装方法】执行全新安装、FTP目录为网络路径:192.168.4.7/centos

3.【引导装载程序选项】安装新引导转载程序

4.【分区信息】清除主引导记录、删除所有现存分区、初始化磁盘标签,并添加新的分区

5.【新分区】挂载点选择根目录【/】,使用磁盘上全部未用空间

分区后,保存配置确定

6.【网络配置】添加网络设备【eth0】,(不一定是eth0,后续还是需要修改网卡规则)

7.【验证】(无修改项)

8.【防火墙配置】禁用SELinux和防火墙

9.【显示设置】(无修改项)

10.【软件包选择】系统—>基本,最小安装

11.【文件 - 保存】保存在/root目录,默认命名为:ks.cfg,保存并退出工具

2)启用应答文件(PXE与Kickstar结合使用)

修改PXE启动配置,调用应答文件

③ 将保存在/root目录下的ks.cfg拷贝到/var/ftp目录

[root@svr7 ~]# ls /root/
anaconda-ks.cfg       ks.cfg  模板  图片  下载  桌面
initial-setup-ks.cfg  公共    视频  文档  音乐
[root@svr7 ~]# ls -l /root/ks.cfg
-rw-r--r--. 1 root root 895 3月  19 16:49 /root/ks.cfg
 
[root@svr7 ~]# cp /root/ks.cfg /var/ftp/     //复制应答文件到FTP目录
[root@svr7 ~]# ls /var/ftp/
centos  ks.cfg  pub
 
[root@svr7 ~]# curl ftp://192.168.4.7/ks.cfg      //curl查看应答文件
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw --iscrypted $1$9bo7fGdi$3IjOJ5eka2X37kVaxP5r40
# Use network installation
url --url="ftp://192.168.4.7/centos"
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use graphical install
graphical
firstboot --disable
# SELinux configuration
selinux --disabled
 
# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=eth0
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="xfs" --grow --size=1
 
%packages
@base
 
%end

④ 修改default菜单文件,指定应答文件获取方式(安装源)

[root@svr7 ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
...
 61 label linux
 62   menu label ^Install CentOS 7
 63   menu default
 64   kernel vmlinuz
 65   append initrd=initrd.img ks=ftp://192.168.4.7/ks.cfg

 查看PXE安装的虚拟机:

总结思路:   

  1. DHCP服务:分配IP地址、指定next-server、指定filename "pxelinux.0"
  2. TFTP服务:提供pxelinux.0引导(工具生成)、提供菜单default(模板)、vmlinuz内核、inited.img驱动、vesamenu.c32图形模块、背景图片(拷贝)
  3. pxelinux.0引导主机 —》读取菜单文件/var/lib/tftpboot/pxelinux.cfg/default
  4. default菜单配置 —》vesamenu.c32、标题、默认选项、读秒时间、vmlinuz、initrd.img、安装源ftp://192.168.4.7/ks.cfg
  5. FTP服务:提供挂载/var/ftp/centos、ks.cfg应答文件
  6. ks.cfg应答文件 —》语言、键盘类型、root密码、FTP软件包挂载点、新建分区、基本安装(最小化安装)

六、Cobbler概述

基本概念:

  • Cobbler是一款快速的网络系统部署工具
  • 集中管理所需服务,如DHCP、DNS、TFTP、WEB
  • Cobbler内部集成了一个镜像版本仓库
  • Cobbler内部集成了一个ks应答文件仓库
  • Cobbler还提供了包括yum源管理、Web界面管理、API接口、电源管理等功能;
  • 缺点:自定义性差,必须按照Cobbler格式更改且排查难度大

1)安装Cobbler组件

  • 所需软件包:cobbler cobbler-web
  • 其它软件包:dhcp tftp-server pyickstart httpd xinetd
  • 主配置文件:/etc/cobbler/settings

2)配置Cobbler

步骤1:解压软件包

[root@svr7 ~]# unzip /root/cobbler.zip -d /
[root@svr7 ~]# ls /cobbler/
cobbler_boot.tar.gz cobbler_rpm.zip cobbler_web.png
### 解释:引导文件(pxelinux.0)、软件包文件、图片 ###
[root@svr7 ~]# unzip /cobbler/cobbler_rpm.zip -d /opt/    //解压软件包文件
[root@svr7 ~]# ls /opt/cobbler/
Cobbler-2.8.2-1.el7.x86_64.rpm
Cobbler-web-2.8.2-1.el7.noarch.rpm
...
[root@svr7 ~]# cd /cobbler
[root@svr7 cobbler]# yum -y install dhcp httpd mod_ssl     //安装软件包
[root@svr7 cobbler]# yum -y *.repo
[root@svr7 cobbler]# cd /
[root@svr7 /]# rpm -q cobbler     //查看软件包
Cobbler-2.8.2-1.el7.x86_64

 步骤2:配置主配置文件

[root@svr7 /]# vim /etc/cobbler/srttings     //修改配置文件
--- YAML格式(不能更改,且冒号后面有空格)
server: 192.168.4.7    //指定本机为cobbler服务器
next_server: 192.168.4.7    //指定下一个服务器为本机(TFTP服务器)
manage_dhcp: 1     //设置cobber管理DHCP服务器
pxe_just_once: 1    //防止客户端重复安装操作系统(可选)
...

步骤3:配置cobbler的DHCP

[root@svr7 /]# vim /etc/cobbler/dhcp.template    //修改cobbler的DHCP配置文件

主要将默认192.168.1.X网段的地址通过% s/192.168.1/192.168.4/g 全局修改即可,如图所示:

补充:主配置文件赋予cobbler管理DHCP,当修改cobbler的DHCP配置文件并同步之后,将dhcp.template的配置应用到DHCP服务配置;

步骤4:部署引导文件

[root@svr7 /]# tar -tf /cobbler/cobbler_boot.tar.gz   //查看软件包内容
tar: 从成员中删除开头的“/”
/var/lib/cobbler/loaders/
/var/lib/cobbler/loaders/README
/var/lib/cobbler/loaders/COPYING.elilo
...
[root@svr7 /]# tar -xPf /cobbler/cobbler_boot.tar.gz   //绝对路径释放(PATH 以包的路径进行释放)
[root@svr7 /]# ls /var/lib/cobbler/loadres/
COPYING.elilo   COPY.yaboot  grubx86_64.efi  menu.c32  README
COPYING.syslinux  elilo-ia64.efi  grub-x86.efi  pxelinux.0  yaboot

步骤5:重启相关服务

[root@svr7 /]# systemctl restart cobblerd
[root@svr7 /]# systemctl restart httpd
[root@svr7 /]# systemctl restart tftp
[root@svr7 /]# systemctl restart rsyncd   //同步服务

补充:cobbler服务会借助Rsync同步把所有相关配置同步到各个服务当中,Cobblerd类似管家,会掌管其他服务的配置和更新(httpd dhcp tftp)

步骤6:验证服务

[root@svr7 /]# cobbler sync    //把cobbler所有配置及服务配置同步

3)Cobbler使用(Cobbler导入镜像内容、客户端测试)

格式:cobbler import --path=挂载点 --name=导入系统命名

补充:通过命令将光盘文件内容进行导入,导入后自动共享光盘的内容、自动生成应答文件、菜单文件,应当文件默认最小化安装,系统密码默认cobbler;

默认光盘文件内容目录:/var/www/cobbler/ks_mirror/

步骤7:导入镜像内容

[root@svr7 /]# cobbler import --path=/dvd --name=Cent0S7.5    //导入光盘文件(可导入多个)

步骤8:客户端测试

① 选择操作系统

② 虚拟机名称及存放位置

③ CPU默认即可

④ 内容建议2G

⑤ 进入菜单文件

⑥ 进入安装默认字符模式

⑦ 进入最小化安装的交互界面

补充:客户端测试,需要将网络设置成虚拟局域网;

列出可用网络安装的系统镜像

[root@svr7 /]# cobbler list     //列出可用网络安装的系统镜像
distros:
CentOS7-X86_64   //安装客户端至少2G内存
profiles:
CentOS7-X86_64

删除ISO系统

[root@svr7 /]# cobbler list
[root@svr7 /]# cobbler profile remove --name=CentOS7-x86_64   //删除菜单信息
[root@svr7 /]# cobbler distros remove --name=CentOS7-x86_64   //删除菜单信息

小结:

本篇章节为 【第一阶段】SERVICES-DAY4 的学习笔记,可以初步了解到 DHCP介绍、PXE批量装机、配置PXE引导、Kickstart自动应答、Cobbler装机平台。除此之外推荐参考相关学习网址:

  • iVentoy (推荐学习,平替PXE)
  • PXE+Kickstart无人值守安装操作系统(自主尝试部署)

Tip:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解

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

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

相关文章

最新!CSSCI(2023-2024)期刊目录公布!

【SciencePub学术】据鲁迅美术学院7月16日消息,近日,南京大学中国社会科学研究评价中心公布了中文社会科学引文索引(CSSCI)(2023—2024)数据库最新入选目录。 C刊一般指CSSCI来源期刊,即南大核心…

C++ | Leetcode C++题解之第263题丑数

题目&#xff1a; 题解&#xff1a; class Solution { public:bool isUgly(int n) {if (n < 0) {return false;}vector<int> factors {2, 3, 5};for (int factor : factors) {while (n % factor 0) {n / factor;}}return n 1;} };

GPT-4o mini 比gpt-3.5更便宜(2024年7月18日推出)

https://openai.com/index/gpt-4o-mini-advancing-cost-efficient-intelligence/ 人工智能学习网站 https://chat.xutongbao.top

CTFshow--web--xss

目录 web316 web317~319 web320~326 web327 web328 web329 web330 web331 web332 web333 先在自己的服务器写上代码 <?php$content $_GET[1]; if(isset($content)){file_put_contents(flag.txt,$content); }else{echo no data input; }要拿到管理员的cookie , 而…

BUUCTF逆向wp [MRCTF2020]Xor

第一步 查壳&#xff0c;该题是32位&#xff0c;无壳。 第二步 跟进main&#xff0c;发现反汇编不了 通过下图我们可以发现一串类似字符串的东西 第三步 我们看一下汇编 我们可以得到这些信息&#xff1a;flag的长度为27&#xff08;下面是对本条指令cmp edx 27指令的应用…

隐语隐私计算实训营「联邦学习」第 3 课:隐语架构概览

【隐私计算实训营】是蚂蚁集团隐语开源社区出品的线上课程&#xff0c;自实训营上线以来&#xff0c;获得行业内外广泛关注&#xff0c;吸引上千余名开发者报名参与。本次暑期夏令营课程中&#xff0c;除了最新上线的「联邦学习系列」&#xff0c;还包含了「隐私保护数据分析」…

TypeScript 教程(十):项目配置、代码质量与前端框架集成

目录 前言回顾类型声明文件与异步编程1. tsconfig.json 高级配置a. 基本配置b. 高级配置选项 2. 使用 Webpack 构建 TypeScript 项目a. 安装依赖b. 配置 Webpack 3. 使用 Babel 编译 TypeScripta. 安装依赖b. 配置 Babelc. 配置 Webpack 使用 Babel 4. 使用 ESLint 和 TSLinta.…

【Django】django自带后台管理系统样式错乱,uwsgi启动css格式消失的问题

正常情况&#xff1a; ERROR&#xff1a;&#xff08;css、js文件加载失败&#xff09; 问题&#xff1a;CSS加载的样式没有了&#xff0c;原因&#xff1a;使用了django自带的admin&#xff0c;在使用 python manage.py runserver启动 的时候&#xff0c;可以加载到admin的文…

昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别

昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别 文章目录 昇思25天学习打卡营第17天 | 基于MindSpore实现BERT对话情绪识别BERT模型对话情绪识别BERT模型的文本情绪分类任务数据集数据下载数据加载与预处理 模型构建模型验证模型推理 总结打卡 BERT模型 BERT&…

Python+Flask+MySQL/Sqlite的个人博客系统(前台+后端管理)【附源码,运行简单】

PythonFlaskMySQL/Sqlite的个人博客系统&#xff08;前台后端管理&#xff09;【附源码&#xff0c;运行简单】 总览 1、《个人博客系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 管理员登录2.2 程序主页面2.3 笔记新增界面2.4 文章新增界面2.5 文章/笔记管理界面2…

SpreadsheetLLM:微软对Excel编码的“摊膀伏”

--->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<--- SpreadsheetLLM Excel的特点是二维数据格式、灵活的布局和多样化的格式选项。微软最近引入了SpreadsheetLLM&#xff0c;开创了一种高效的编码方法&#xff0c;用于释放和优化LLMs在电子表格上…

[CP_AUTOSAR]_分层软件架构_接口之通信模块交互介绍

目录 1、协议数据单元(PDU)传输2、通信模块的案例2.1、SDU、 PCI & PDU2.2、通信模块构成2.3、从数据传输的角度看Communication2.4、Communication中的接口 在前面 《关于接口的一些说明》 以及  《Memory软件模块接口说明》 中&#xff0c;简要介绍了CP_AUTOSAR分层…

农田自动化闸门的结构组成与功能解析

在现代化的农业节水灌溉领域中&#xff0c;农田自动化闸门的应用越来越广泛。它集成了先进的技术&#xff0c;通过自动化控制实现水资源的精准调度和高效利用。本文将围绕农田自动化闸门的结构组成&#xff0c;详细介绍其各个部件的功能和特点。 农田自动化闸门主要由闸门控制箱…

【Java安全】基础配置篇-01

Java安全-01 文章目录 Java安全-01前置基础小demo开发记录文件上传 课程学习记录初始配置阶段0x00 微服务阶段历史0x01 第一个SpringBoot程序0x02 原理初探0x03 SpringBoot配置文件0x04 给属性赋值的几种方法0x05 JSR303校验0x06 多环境配置0x07 再探自动配置原理 开发阶段0x00…

勒索软件运营商的恶意软件

ARC Labs 发现并分析了一种用于Qilin勒索软件攻击的新工具。 这种恶意软件被称为“Killer Ultra”&#xff0c;旨在禁用流行的威胁检测和响应&#xff08;EDR&#xff09;以及防病毒软件。 ARC Labs 专家进行了深入分析&#xff0c;以了解 Killer Ultra 的全部功能&#xff0…

新品发布|全面适配鸿蒙NEXT安全检测,助力鸿蒙安全生态建设

鸿蒙系统打破了移动操作系统两极格局&#xff0c;实现操作系统核心技术的自主可控、安全可靠&#xff0c;在神州大地上掀起一波科技革新的浪潮&#xff0c;HarmonyOS NEXT成为大型企业必须要布局的应用系统之一&#xff0c;如何检测鸿蒙应用的安全性是企业内部的核心难点之一&a…

C++基础语法:STL之容器(4)--序列容器中的list(一)

前言 "打牢基础,万事不愁" .C的基础语法的学习 引入 序列容器的学习.以<C Prime Plus> 6th Edition(以下称"本书")内容理解 本书中容器内容不多只有几页.最好是有数据结构方面的知识积累,如果没有在学的同时补上. 序列容器回顾:序列容器内元素按严格…

加密软件有什么用?五款电脑文件加密软件推荐

加密软件对于个人和企业来说至关重要&#xff0c;尤其是在2024年这样一个高度数字化的时代&#xff0c;数据安全变得尤为重要。 数据保护&#xff1a;加密软件可以保护敏感信息不被未经授权的人访问。这包括个人数据、财务记录、健康信息、企业机密等。 防泄漏&#xff1a;防…

组合数学+费用背包+刷表,G2 - Playlist for Polycarp (hard version)

目录 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 二、解题报告 1、思路分析 2、复杂度 3、代码详解 一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 G2 - Playlist for Polycarp (hard version) 二、解题报告 1、思路分析 一…

Linux驱动开发-05APP和驱动的交互方式

一、传输数据 APP和驱动: copy_to_usercopy_from_user驱动和硬件: 各个子系统的函数通过ioremap映射寄存器地址后,直接访问寄存器二、APP使用驱动的四种方式 驱动程序:提供能力,不提供策略 非阻塞(查询)(应用程序访问底层驱动时(read、write时),驱动没有数据不等待,…