部署PXE实现Kickstart无人值守安装

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

部署PXE实现Kickstart⽆⼈值守安装
⼀、部署PXE远程安装服务
1.PXE服务相关介绍
PXE是有Intel公司开发的⽹络引导技术,⼯作在Client/Server模式(也简称CS模式),允许客户机通过⽹络从远程服务器下载引导镜像,并加载安装⽂件或整改操作系统。

2..若要搭建PXE⽹络体系,必须要满⾜⼀下⼏个前提条件
客户机的⽹卡⽀持PXE协议(集成BOOTROM芯⽚),且主板⽀持⽹络引导;
⽹络中有⼀台DHCP服务器以便于为客户机⾃动分配IP地址、指定引导⽂件位置;
服务器通过TFTP(简单⽂件传输协议)提供引导镜像⽂件的下载
3.PXE服务具备的优点
规模化:同时装配多台服务器,⽆需每⼀台单独安装操作系统;
⾃动化:实现服务器的⾃动安装及⾃动配置各种服务;
远程实现:不需要光盘、U盘等安装介质,⽅便快捷的同时⼜可以保障服务器安全。

4.PXE服务的⼯作原理
PXE(Pre-boot Execution Environment远程引导技术)是RPL (Remote Initial Program Load远程启动服务)的升级产品。

它们的不同之处为: RPL是静态路由,PXE是动态路由。

RPL 是根据⽹卡上的ID号加上其它的记录组成的⼀个帧向服务器发出请求,⽽服务器那⾥早已经有了这个ID数据,匹配成功则进⾏远程启动;
PXE则是根据服务器端收到的⼯作站MAC地址(就是⽹卡号)使⽤DHCP服务给这个MAC地址指定⼀个IP地址,每次重启动可能同⼀台⼯作站有与上次启动有不同的IP,即动态分
配地址
以⼯作站引导过程说明PXE的原理:
⼯作站开机后,PXEBootROM(⾃启动芯⽚)获得控制权之前先做⾃我测试,然后以⼴播形式发出⼀个请求FIND帧。

如果服务器收到⼯作站所送出的要求,就会送回DHCP回应,内容包括⽤户端的IP地址,预设通讯通道,及开
机映像⽂件。

否则,服务器会忽略这个要求。

⼯作站收到服务器发回的相应后则会回应⼀个帧,以请求传送启动所需⽂件。

之后,将有更多的讯息在⼯作站与服务器之间作应答,⽤以决定启动参数。

BootROM 由TFTP通讯协议从服务器下载开机映像档,这个映像档就是软盘的映像⽂件
⼯作站使⽤TFTP协议接收启动⽂件后,将控制权转交启动块,引导操作系统,完成远程启动
5.搭建PXE远程安装服务器⼤概步骤
操作前相关介绍:
PXE远程安装服务器集成了CentOS 7安装源、TFTP服务、DHCP服务、FTP服务,能够向客户机裸机发送 PXE引导程序、Linux内核、启动菜单等数据,以及提供安装⽂件
TFTP(简单⽂件传输协议),是⼀个基于UDP协议实现的⽤于在客户机和服务器之间进⾏简单⽂件传输的协议,适合于⼩⽂件传输的应⽤场合。

TFTP服务默认由xinetd服务进⾏管理,使⽤UDP端⼝69;xineta是新⼀代的⽹络守护进程服务程序,⼜叫超级服务器,常⽤来管理多种轻量级Internet服务。

第⼀步:安装启⽤TFTP服务
yum install -y tftp-server xinetd #使⽤yum安装tftp-server 和 xinetd程序
vim /etc/xinetd.d/tftp #修改TFTP服务的配置⽂件,如下:
service tftp
{
socket_type = dgram
protocol = udp #TFTP默认使⽤的UDP协议
wait = yes #yes:客户机单台连接,no:多台连接
user = root
server = /usr/sbin/in.tftpd #指定TFTP跟⽬录(引导⽂件的存储路径)
server_args = -s /var/lib/tftpboot
disable = no #no:表⽰开启TFTP服务
per_source = 11
cps = 100 2
flags = IPv4
}
#将tftp和xinetd服务开启并设为开机⾃启
systemctl start tftp
systemctl enable tftp
systemctl start xinetd
systemctl enable xinetd
————————————————
版权声明:本⽂为CSDN博主「码海⼩虾⽶_」的原创⽂章,遵循CC 4.0 BY-SA版权协议,转载请附上原⽂出处链接及本声明。

原⽂链接:https:///weixin_45551608/article/details/116485321
第⼆步:安装启⽤DHCP服务
yum install -y dhcp #使⽤yum安装dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf #复制dhcp配置⽂件
ddns-update-style none; #禁⽤DNS动态更新(取消原有的#号)
next-server 192.168.80.77; #指定TFTP服务器的地址
filename "pxelinux.0"; #指定要下载的PXE引导程序的⽂件
subnet 192.168.80.0 netmask 255.255.255.0 { #声明要分配的⽹段地址
range 192.168.80.100 192.168.80.200; #设置地址池
option routers 192.168.80.77; #默认⽹关地址指向TFTP服务器的IP地址
}
#启⽤DHCP服务并设为开机⾃启
systemctl start dhcpd
systemctl enable dhcpd
第三步:准备Linux内核、初始化镜像⽂件
cd /mnt/images/pxeboot/ #进⼊到挂载的光盘⽬录(⽆法进⼊的话检查挂载情况)
cp vmlinuz /var/lib/tftpboot/ #复制Linux 系统的内核⽂件到TFTP根⽬录下
cp initrd.img /var/lib/tftpboot/ #复制初始化镜像⽂件(linux引导加载模块)到TFTP根⽬录下
第四步:准备PXE引导程序
yum install -y syslinux ##PXE引导程序由软件包syslinux 提供
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ #复制PXE引导程序到TFTP根⽬录下
第五步:安装FTP服务,准备CentOS 7安装源
yum install -y vsftpd #使⽤yum安装vsftpd服务
mkdir /var/ftp/centos7 #在/var/ftp⽬录下创建centos7,作为安装源⽬录
cp -rf /mnt/* /var/ftp/centos7/ #将挂载的光盘内的⽂件全部复制到centos7中
#将vsftpd服务开启并设置为开机⾃启动
systemctl start vsftpd
systemctl enable vsftpd
第六步:配置启动菜单⽂件
#默认的启动菜单⽂件在TFTP根⽬录的pxelinux.cfg ⼦⽬录下,⽂件名为default,
所以需要创建pxelinux.cfg⽬录和 default 配置⽂件
mkdir /var/lib/tftpboot/pxelinux.cfg #创建⽬录
vim /var/lib/tftpboot/pxelinux.cfg/default #创建配置⽂件并修改
default auto #指定默认⼊⼝名称
prompt 1 #设置是否等待⽤户选择,“1"表⽰等待⽤户控制
label auto #图形安装(默认)引导⼊⼝,label⽤来定义启动项
kernel vmlinuz #kernel和append⽤来定义引导参数
append initrd=initrd.img method=ftp://192.168.80.77/centos7
label linux text #text安装(默认)引导⼊⼝,label⽤来定义启动项
kernel vmlinuz
append text initrd=initrd.img method=ftp://192.168.80.77/centos7
label linux rescue #rescue安装(默认)引导⼊⼝,label⽤来定义启动项
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.80.77/centos7
第七步:关闭防⽕墙和安全防护,验证PXE⽹络安装
systemctl stop firewalld #关闭防⽕墙 setenforce 0 #关闭安全防护
6.使⽤VMware搭建PXE远程安装服务器详细步骤
第⼀步:安装并启⽤TFTP服务
检查yum本地源是否配置正确和是否已经挂载。

2)使⽤yum安装tftp-server 和 xinetd程序
)修改TFTP服务的配置⽂件
4)将tftp和xinetd服务开启并设为开机⾃启
第⼆步:安装启⽤DHCP服务
1)使⽤yum安装dhcp服务,从/usr/share/doc/dhcp-4.2.5/⽬录中复制dhcpd.conf.example配置⽂件到 /etc/dhcp/中,并修改名称为dhcpd.confdhcp覆盖原⽂件。

2)修改dhcpd.conf配置⽂件
第三步:准备Linux内核、初始化镜像⽂件
第四步:准备PXE引导程序
第五步:安装FTP服务,准备CentOS 7安装源
第六步:配置启动菜单⽂件
第七步:关闭防⽕墙和安全防护,验证PXE⽹络安装
1)关闭防⽕墙和安全防护
2)在VMware中创建新Linux虚拟机,内存选择为⾄少2G,其他⽆需改变,在启动boot页⾯直接回车即可
3)⾃动装机成功,但是可以看到安装设置仍然⾃⼰⼿动操作,这时就需要我们的Kicstart⽆⼈值守安装了。

⼆、实现Kickstart⽆⼈值守安装
上⾯介绍了通过PXE技术远程安装CentOS 7 系统的⽅法,安装介质不再受限于光盘、移动硬盘等设备,⼤⼤提⾼了系统安装的灵活性,然⽽安装期间⼈需要⼿动选择语⾔、键盘类型、指定安装源等⼀系列交互操作,当需要批量安装时⾮常不⽅便,这⾥我将介绍通过Kickstart⼯具配置安装应答⽂件,⾃动完成安装过程中的各种设置,从⽽⽆须⼿动⼲
预,提⾼⽹络装机效率,同时也可以在应答⽂件中通过添加%post脚本,完成安装后的各种配置操作(这⾥我举例添加脚本⾃动挂载光盘)1.实现kickstart⽆⼈值守安装⼤概步骤
第⼀步:安装应答⽂件
yum install -y system-config-kickstart #安装Kickstart程序
第⼆步:打开Kickstart配置程序窗⼝
通过桌⾯菜单“应⽤程序”————>>“系统⼯具”————>>“Kickstart”打开,
或者执⾏
system-config-kickstart #调出Kickstart配置程序
第三步:配置Kickstary选项
> 1)基本配置:
> 默认语⾔:中⽂(简体)
> 时区设为:Asia/shanghai
> 设置root密码
> 勾选“安装后重启”
> 2)安装⽅法:
> 选择TFP
> FTP服务器:ftp://192.168.80.77 #选择服务器的ip,本机IP
> FTP⽬录:centos7 #之前创建的⽬录
> 3)引导装载程序选项:
> “安装类型”:安装新引导装载程序
> “安装选项”:在主引导记录(MBR)中安装引导装载程序
> “GRUB选项”:可以根据⾃⼰的需求进⾏设置
> 4)分区信息:
> 主引导记录:清除主引导记录
> 分区:删除所有现存分区
> 磁盘标签:初始化磁盘标签
> 点击布局:添加分区
> 挂载点: /boot,⽂件系统类型: xfs,固定⼤⼩: 500M
> ⽂件系统类型: swap,固定⼤⼩: 4096M
> 挂载点: /home,⽂件系统类型: xfs,固定⼤⼩: 4096M
> 挂载点: /,⽂件系统类型: xfs,使⽤磁盘上全部未使⽤空间
> 5)⽹络配置
> 添加⽹络设备:ens33
> ⽹络类型设为:DHCP
> 6)防⽕墙配置:
> SELinux:禁⽤
> 安全级别:禁⽤防⽕墙
> 7)安装后脚本:(设置装机后⾃动配置yum本地源)
> mkdir /etc/yum.repos.d/repo.bak
> mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
> echo"[local]
> name=local
> baseurl=file:///mnt
> enabled=1
> gpgcheck=0" > /etc/yum.repos.d/local.repo
第四步:保存⾃动应答⽂件
选择“Kickstart 配置程序“窗⼝的”⽂件”—————>>“保存命令”,选择指定保存位置,⽂件名为ks.cfg
默认保存在/root/ks.cfg
cp /root/ks.cfg /var/ftp/ks.cfg #将ks.cfg⽂件复制到FTP根⽬录下
第五步:配置需要安装的软件包
可以根据需要将/root/anaconda-ks.cfg的软件包安装脚本复制到ks.cfg⽂件中,只需要复制%packages到%end部分即可。

如要求最⼩化安装,可复制下⾯内容:
vim ks.cfg
%packages
@^minimal
%end
第六步:编辑引导菜单⽂件default,添加ks引导参数
vim /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 0 #设置是否等待⽤户选择,“0”表⽰不等待⽤户控制
label auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.80.77/centos7 ks=ftp://192.168.80.77/ks.cfg
第七步:测试功能,将之前新创建未配置的虚拟机重启即可测试。

相关文档
最新文档