ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

PXE与kickstat

2022-01-16 21:03:42  阅读:115  来源: 互联网

标签:20.0 kickstat root 客户机 PXE 安装 localhost


PXE高效批量网络装机及kickstat自动化安装

一,PXE

1.原理和概念:

预启动执行环境(Preboot eXecution Environment,PXE)也被称为预执行环境,提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(硬盘)或本地已安装的操作系统。

服务端:运行DHCP服务,用来分配地址,定位引导程序

​ 运行TFTP服务,提供引导程序下载

客户端:网卡支持PXE协议

​ 主板支持网络引导

优点:

  • 规模化:同时装配多台服务器
  • 自动化:安装系统,配置各种服务
  • 远程实现:不需要光盘,U盘等安装介质

2.PXE服务的流程

PXE服务器和客户机的工作过程:

1.PXE客户机发出DHCP请求,向DHCP服务器申请IP地址。 
 
2.DHCP服务器响应PXE客户机的请求,自动从IP地址池中分配一个IP地址给PXE客户机,并且告知PXE客户机:TFTP服务器的IP地址和PXE引导程序文件pxelinux.0,默认在TFTP共享目录/var/lib/tftpboot/下
 
3.PXE客户机向TFTP服务器发起获取pxelinux.0引导程序文件的请求。
 
4.TFTP服务器响应PXE客户机的请求,将其共享的pxelinux.0文件传输给PXE客户机。
 
5.PXE客户机通过网络来启动到系统安装主界面。
 
6.PXE客户机向文件共享服务器(ftp、http、nfs等)发起获取centos或windows系统安装文件的请求。
 
7.文件共享服务响应PXE客户机的请求,将共享的系统安装文件传输给PXE客户机。

8.PXE客户机进入到安装提示向导界面,用户需要手动来完成系统安装的操作

3.配置

前提条件:
●客户机的网卡支持 PXE 协议(集成 BOOTROM 芯片),且主板支持网络引导。
●网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置。
●服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
1)配置双网卡 一个作用是dhcp,一个是使用网络源安装环境包
2)DHCP部署     
3)tftp-server 服务器通过 TFTP(Trivial File Transfer Protocol,简单文件传输协议)提供引导镜像文件的下载。
4)syslinux  //用来提供pxe的引导程序
5)xinetd  //用来托管tftp
6)vsftpd   //用来放置安装镜像,通过ftp访问镜像安装
7)kickstart //用来无人值守安装


在服务器上部署一个 YUM 软件仓库。

[root@localhost ~]# mkdir -p /var/ftp/centos7
[root@localhost ~]# mount /dev/cdrom /mnt
[root@localhost ~]# cp -rf /mnt/* /var/ftp/centos7
[root@localhost ~]# yum -y install vsftpd
[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd

安装并启用 TFTP 服务
[root@localhost ~]# yum -y install tftp-server
[root@localhost ~]# vi /etc/xinetd.d/tftp
service tftp
{
####省略部分信息
protocol = udp                                            ###TFTP 采用 UDP 传输协议
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot             ###指定 TFTP 根目录
disable = no
####省略部分信息

[root@localhost ~]# systemctl start tftp
[root@localhost ~]# systemctl enable tftp


准备 Linux 内核、初始化镜像文件
[root@localhost ~]#   cd /mnt/images/pxeboot/          ####切换到挂载目录/mntimages/pxeboot/   

[root@localhost pxeboot]# cp vmlinuz initrd.img /var/lib/tftpboot/  ###两个文件并将其复制到 tftp 服务的根目录下

准备 PXE 引导程序 pxelinux.0由软件包 syslinux 提供
[root@localhost ~]# yum -y install syslinux
[root@localhost pxeboot]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/


安装并启用 DHCP 服务
由于 PXE 客户机通常是尚未装系统的裸机,因此为了与服务器取得联系并正确下载相关引导文件,需要预先配置好 DHCP 服务来自动分配地址并告知引导文件位置。如 PXE 服务器的 IP 地址为 20.0.0.254, DHCP 地址池为 20.0.0.100~20.0.0.200

[root@localhost ~]# yum -y install dhcp
[root@localhost ~]# vi /etc/dhcp/dhcpd.conf
subnet 20.0.0.0 netmask 255.255.255.0 {
option routers 20.0.0.2;		###这是网关
option subnet-mask 255.255.255.0;
option domain-name "bdqn.com";
option domain-name-servers 20.0.0.254,202.106.0.20;
default-lease-time 21600;
max-lease-time 43200;
range 20.0.0.100 20.0.0.200;
next-server 20.0.0.21;                    #####指定 TFTP 服务器的地址
filename "pxelinux.0";                     ####指定 PXE 引导程序的文件名
}
[root@localhost ~]# systemctl start dhcpd
[root@localhost ~]# systemctl enable dhcpd
配置文件中增加了 netx-server 和filename 这两行记录,分别用来指定 TFTP 服务器的地址和 PXE 引导程序的文件名。
配置启动菜单文件
启动菜单用来指导客户机的引导过程,包括如何调用内核,如何加载初始化镜像。默认的启动菜单文件为 default,应放置在 tftp 根目录的 pxelinux.cfg 子目录下

[root@localhost ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost ~]# vi /var/lib/tftpboot/pxelinux.cfg/default
default auto
prompt 1
label auto
	kernel vmlinuz
	append initrd=initrd.img method=ftp://20.0.0.21/centos7
label linux text
	kernel vmlinuz
	append text initrd=initrd.img method=ftp://20.0.0.21/centos7
label linux rescue
	kernel vmlinuz
	append rescue initrd=initrd.img method=ftp://20.0.0.21/centos7
	

上述配置记录中定义了三个引导入口,分别为图形安装(默认)、文本安装、救援模式。其中, prompt 用来设置是否等待用户选择; label 用来定义并分隔启动项; kernel 和 append用来定义引导参数。引导入口的个数及内容根据需要自行定义。
验证 PXE 网络安装
搭建好 PXE 远程安装服务器以后,就可以使用客户机进行安装测试了。对于PC 裸机,一般不需要额外设置;
若要为已有系统的主机重装系统,则可能需要修改BIOS 设置,将“Boot First”设为“NETWORK”或“LAN”,然后重启主机;若使用 VMware创建的虚拟机进行测试,虚拟机内存至少需要 2GB,否则在启动安装时会报错。
如果服务器配置正确,网络连接、 PXE 支持等都没有问题,则客户机重启后将自动配置 IP 地址,然后从 TFTP 服务器中获取引导程序 pxelinux.0,并根据引导菜单配置提示用户指定启动入口,

在提示字串“boot:”后直接按 Enter 键(或执行“auto”命令),将会进入默认的图形
安装入口;若执行“linux text”命令,则进入文本安装入口;若执行“linux rescue”命
令,则进入救援模式。
直接按 Enter 键确认后将自动通过网络下载安装文件,并进入图形安装程序界面

二,Kickstart 无人值守安装

背景:通过 PXE 技术远程安装 CentOS 7 系统的方法,安装介质不再受限于光盘、
移动硬盘等设备,大大提高了系统安装的灵活性。然而,安装期间仍需要手动选择语言、键盘类型、指定安装源等一系列交互操作,当需要批量安装时非常不方便。

通过使用 Kickstart 工具配置安装应答文件,自动完成安装过程中的各种设置,从而无须手动干预,提高网络装机效率。

可通过图形化向导工具来配置安装应答文件。如果用户对自动应答文件的配置比较熟悉,也可以直接编辑 CentOS7 安装后自动创建的应答文件(/root/anaconda-ks.cfg)

最小化安装可以通过命令安装图形界面以此来使用Kickstart 配置程序

[root@localhost ~]#  yum -y groupinstall 'GNOME Desktop'		###安装图形界面工具
[root@localhost ~]# systemctl set-default graphical.target		###图形界面启动

安装应答文件
[root@localhost ~]# yum -y install  system-config-kickstart		###安装kickstart

配置安装应答参数
通过桌面菜单“应用程序”→“系统工具”→“Kickstart”即可打开“Kickstart 配
置程序”窗口。在“Kickstart 配置程序”窗口中,可以针对基本配置、安装方法、引导装载程序选项、分区信息、网络配置等各种安装设置进行指定

基本配置:
	默认语言:Chinese (P.R. of China)---中文(简体)
	键盘:U.S English
	时区:Asia/Shanghai
	Root密码:123456
	默认密码:123456
	勾选√:给root密码加密
高级配置:
	目标架构:X86、AMD64、活IntelEm64T
	勾选√:安装后重启
	不勾选:在文本模式中执行安装(默认为图形化模式)
	
安装方法:
	勾选√:执行全新安装

安装方法:
	勾选√:FTP  
	FTP服务器:ftp://20.0.0.21
	FTP目录:centos7
	
安装类型:
	勾选√:安装新引导装载程序
	
分区信息:
/boot  	 xfs 	是   	1024
/home  	xfs 	是 	4096
swap    	swap 	是 	2048
/	xfs	是	1

网络配置:
添加一个网络设备“ens33”,将网络类型设为“DHCP”

防火墙配置:
禁用 SELinux、禁用防火墙

使用解释程序:/bin/bash

安装后脚本的运行

mkdir /etc/yum.repos.d/bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak
echo “[local]
name=local
baseurl=ftp://20.0.0.21/centos7
enabled=1
gpgcheck=0" > /etc/yum.repos.d/local.repo

配置好以后保存为ks.cfg文件,保存的路径为/var/ftp下

注意:软件包安装默认是禁用的,如果需要启用必须修改yum源配置文件,将[]里的内容改成development,立即生效
软件包选择
如果需要安装软件包,可以根据需要将/root/anaconda-ks.cfg 的软件包安装脚本复制到 ks.cfg 文件中,只需要复制%packages 到%end 部分即可,在%packages 到%end 之间,包含以@开头的软件包列表,将不需要的软件名删除,剩下的就是系统会自动安装的软件包

最小化安装
####
%packages
@^minimal
%end
####

如果需要自己配置软件包,需要编辑ks.cfg文件
vim ks.cfg
添加至最后

%packages
@^graphical-server-environment
@base
@core
@desktop-debugging
@development
@dial-up
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@hardware-monitoring
@input-methods
@internet-browser
@multimedia
@print-client
@x11
chrony

%end
添加 ks 引导参数至引导菜单文件
vi /var/lib/tftpboot/pxelinux.cfg/default 
default auto 
prompt 0    ##值为“0”时表示自动执行ks.cfg文件(无人值守)、为“1”时表示手动配置(有人值守
label auto 
kernel vmlinuz 
append initrd=initrd.img method=ftp://20.0.0.21/centos7 ks=ftp://20.0.0.21/ks.cfg

对ks进行优化
vi /var/lib/tftpboot/pxelinux.cfg/default 
default auto
prompt 1

label auto
        kernel vmlinuz
        append initrd=initrd.img method=ftp://20.0.0.21/centos7  ks=ftp://20.0.0.21/ks.cfg

label linux text
        kernel vmlinuz
        append text initrd=initrd.img method=ftp://20.0.0.21/centos7  ks=ftp://20.0.0.21/ks.cfg

label linux rescue
        kernel vmlinuz
        append rescue initrd=initrd.img method=ftp://20.0.0.21/centos7  ks=ftp://20.0.0.21/ks.cfg


最后通过新建虚拟机进行验证

标签:20.0,kickstat,root,客户机,PXE,安装,localhost
来源: https://www.cnblogs.com/qfzr2508/p/15811175.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有