目录
一、PXE概述
二、PXE优势
三、配置操作
3.1 PXE模拟配置
3.2 kickstart 无人值守安装
1.基本配置
2. 安装方法
3. 配置分区
4. 添加网络配置
5. 选择解释程序
6. 保存配置
7. 进入shell配置文件
8. 重启测试
一、PXE概述
PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
pxe是通过网卡引导启动:实现的硬件条件、BIOS支持、网卡支持(现在基本都已支持)、需要在bios中开启开关,服务器一般没打开(bmc界面里打开)、网络中有一台 DHCP 服务器以便为客户机自动分配地址、指定引导文件位置,服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载。
二、PXE优势
PXE启动原理
当计算机引导时,BIOS把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。
PXE远程装机的好处:
规模化:同时装配多台服务器
自动化:安装系统、配置各种服务
远程实现:不需要光盘、U盘等安装介质
三、配置操作
3.1 PXE模拟配置
安装配置DHCP(默认自带)、tftp、vsftpd,并启动服务。
[root@localhost ~]# yum install dhcp* -y [root@localhost ~]# systemctl start dhcpd [root@localhost ~]# yum install tftp* -y [root@localhost ~]# systemctl start tftp [root@localhost ~]# yum install vsftpd* -y [root@localhost ~]# systemctl start vsftpd
添加网卡
在仅主机模式中
切换到网卡目录将ens33这个网卡复制到ens37上并进行编辑
将网卡ens33,改为ens37,修改IP与网关并删除uuid
重启服务,并ping测试网关
[root@localhost network-scripts]# systemctl restart network
拷贝配置文件
[root@localhost network-scripts]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
cp:是否覆盖"/etc/dhcp/dhcpd.conf"? y
[root@localhost ~]# cd /etc/dhcp/ 切换到此目录
[root@localhost dhcp]# vim dhcpd.conf 修改文件并添加记录
subnet 192.168.84.0 netmask 255.255.255.0 {
range 192.168.84.10 192.168.84.100;
option routers 192.168.84.1;
next-server 192.168.84.100;
filename"pxelinux.0";
}
安装tftp服务
[root@localhost dhcp]#yum install tftp-server -y
[root@localhost dhcp]# vim /etc/xinetd.d/tftp
安装依赖包,并筛选出文件站点位置
[root@localhost dhcp]# yum install syslinux -y [root@localhost dhcp]# rpm -ql syslinux |grep pxelinux.0 /usr/share/syslinux/gpxelinux.0 /usr/share/syslinux/pxelinux.0 ##拷贝文件到tftp文件位置下 [root@localhost dhcp]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
安装ftp服务依赖环境,筛选出文件位置
[root@test2 ~]# yum install syslinux -y [root@localhost isolinux]# rpm -ql syslinux |grep pxelinux.0 /usr/share/syslinux/gpxelinux.0 /usr/share/syslinux/pxelinux.0
拷贝配置文件到,ftpboot目录下
[root@localhost dhcp]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ [root@localhost dhcp]# ls /var/lib/tftpboot/ pxelinux.0
安装vfstp将镜像文件挂并查看站点
[root@localhost ~]# yum install vsftpd* -y [root@localhost tftpboot]# rpm -ql vsftpd /var/ftp 新建目录,将硬盘挂载在文件夹中(也可以拷贝文件:cp -rf /mnt/* /var/ftp/centos7/ #把/mnt里所有东西都复制到centos 7中) [root@localhost ftp]# mkdir centos7 [root@localhost ftp]# mount /dev/sr0 centos7 查看挂载在文件夹中的文件 [root@localhost centos7]# ls CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7 EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
配置启动菜单文件默认的启动菜单文件在TFTP根目录(/var/lib/tftpboot/)的 pxelinux.cfg 子目录下,文件名为default
[root@localhost pxeboot]# cp initrd.img vmlinuz /var/lib/tftpboot/
[root@localhost pxeboot]# cd /var/lib/tftpboot/
[root@test2 tftpboot]# mkdir pxelinux.cfg
[root@test2 tftpboot]# cd pxelinux.cfg/
[root@test2 pxelinux.cfg]# vim default
default auto 默认安装
prompt 1 ###设置等待时间,这里是不等待
label auto
menu label ^Install CentOS 7 ##标题可有可无
kernel vmlinuz
append initrd=initrd.imglabel auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.84.100/centos7
##方法 具体地址 位置
label text ##文本安装
kernel vmlinuz
append text initrd =initrd.img method=ftp://192.168.84.100/centos7
label rescue ##急救模式
kernel vmlinuz
append rescue initrd=initrd.img method=ftp://192.168.84.100/centos7
label linux
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.img
重启服务
[root@localhost pxelinux.cfg]# systemctl start dhcpd [root@localhost pxelinux.cfg]# systemctl start tftp [root@localhost pxelinux.cfg]# systemctl start vsftpd
模拟装机
将网络改为仅主机模式、内存2g以上
加载完毕后进入回车键进入下一步
3.2 kickstart 无人值守安装
安装图形化工具:
[root@localhost tftpboot]#yum install system-config-kickstart -y
1.基本配置
2. 安装方法
3. 配置分区
4. 添加网络配置
5. 选择解释程序
6. 保存配置
保存后的文件
7. 进入shell配置文件
[root@localhost ~]# cd /var/ftp/ ##切换到ftp目录下
[root@localhost ftp]# ls
centos7 ks.cfg pub
[root@localhost ftp]# vim ks.cfg ##添加记录(记录在根目录下:anaconda-ks.cfg)
%packages
@^gnome-desktop-environment
@base
@core
@desktop-debugging
@dial-up
@directory-client
@fonts
@gnome-desktop
@guest-agents
@guest-desktop-agents
@input-methods
@internet-browser
@java-platform
@multimedia
@network-file-system-client
@networkmanager-submodules
@print-client
@x11
chrony
kexec-tools
%end
[root@localhost ftp]# cd /var/lib/tftpboot/
[root@localhost tftpboot]# ls
initrd.img pxelinux.0 pxelinux.cfg vmlinuz
[root@localhost tftpboot]# cd pxelinux.cfg/
[root@localhost pxelinux.cfg]# vim default ##添加ks记录
label auto
menu label ^Install CentOS 7
kernel vmlinuz
append initrd=initrd.imglabel auto
kernel vmlinuz
append initrd=initrd.img method=ftp://192.168.84.100/centos7 ks=ftp://192.168.84.100/ks.cfg
8. 重启测试
此时等待就自动安装
kickstart文件主要包括三个部分:命令段,程序包段,脚本段
·常见命令段中的常见命令:
keyboard: 设定键盘类型
lang: 语言类型
zerombr:清除mbr
clearpart:清除分区
part: 创建分区
rootpw: 指明root的密码
timezone: 时区
text: 文本安装界面
network:指定网络设置
firewall:设置防火墙设置
selinux:设置selinux设置
reboot:安装完自动重启
user:安装完成后为系统创建新用户
url: 指明安装源



