【PXE】VMware上CentOS7 .x的PXE安装

一、说明

什么是PXE?

PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服 务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

严格来说,PXE 并不是一种安装方式,而是一种引导方式。

进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。

运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器,DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

部署PXE需要哪些服务?

DHCP服务,分配IP地址,定位引导程序

DNS服务,为客户机分配主机名

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

HTTP服务(或ftp/nfs),提供yum安装源


【PXE】VMware上CentOS7 .x的PXE安装_第1张图片

客户机应具备的哪些条件?

网卡ROM必须支持PXE协议

主板支持网络启动


PXE工作流程图


【PXE】VMware上CentOS7 .x的PXE安装_第2张图片


【PXE】VMware上CentOS7 .x的PXE安装_第3张图片


【PXE】VMware上CentOS7 .x的PXE安装_第4张图片

PXE+Kickstart安装过程


【PXE】VMware上CentOS7 .x的PXE安装_第5张图片



二、实验环境

操作系统:CentOS7.3 (GNOME桌面版)

pxeServer: 192.168.2.2


三、设置pxeServer网络

我们配置pxe的安装网段为 192.168.2.0/24,设置在自定义网络VMnet1

【PXE】VMware上CentOS7 .x的PXE安装_第6张图片


设置VMware网络,禁用VMnet1的本地DHCP

【PXE】VMware上CentOS7 .x的PXE安装_第7张图片


【PXE】VMware上CentOS7 .x的PXE安装_第8张图片
【PXE】VMware上CentOS7 .x的PXE安装_第9张图片

配置pxeServer在VMnet1网络中的静态IP为192.168.2.2

# vim /etc/sysconfig/network-scripts/ifcfg-ens33

#############################

TYPE="Ethernet"

BOOTPROTO="static"

NAME="ens33"

ONBOOT="yes"

IPADDR="192.168.2.2"

NETMASK="255.255.255.0"

GATEWAY="192.168.2.1"

###############################


【PXE】VMware上CentOS7 .x的PXE安装_第10张图片

# systemctl restart network

# ip addr list


【PXE】VMware上CentOS7 .x的PXE安装_第11张图片



四、在pxeServer上搭建本地yum源

用CentOS7.3 镜像搭建本地yum源,如果ISO映像文件路径中没有,可自行上传搭建。


【PXE】VMware上CentOS7 .x的PXE安装_第12张图片


#  mount  /dev/cdrom  /mnt/


【PXE】VMware上CentOS7 .x的PXE安装_第13张图片

# mkdir  /etc/yum.repos.d/backup

# mv  /etc/yum.repos.d/*.repo  /etc/yum.repos.d/backup


# vim /etc/yum.repos.d/pxe.repo

#######################

[development]                 

 // 注意:此处[]内容必须为development

name=pxe

baseurl=file:///mnt

enabled=1

gpgcheck=0

#########################

【PXE】VMware上CentOS7 .x的PXE安装_第14张图片

# yum clean all

# yum repolist

设置开机自动挂载

#  vim  /etc/fstab

#####################################

/dev/cdrom    /mnt  iso9660    defaults    0 0

#####################################

【PXE】VMware上CentOS7 .x的PXE安装_第15张图片

# mount -a


五、在pxeServer上安装软件包


#  yum  -y install    dhcp  httpd  xinetd  tftp-server 


配置httpd,为客户端装机提供http网络yum源

#  mkdir  /var/www/html/CentOS7/ 

# cp  -r  /mnt/*  /var/www/html/CentOS7/

创建kickstarts文件目录

# mkdir  /var/www/html/kickstarts


配置xinetd,对服务tftp访问进行控制

# vim /etc/xinetd.d/tftp

将配置文件中 yes改成no,开启服务

【PXE】VMware上CentOS7 .x的PXE安装_第16张图片


配置DHCP,为客户端装机提供IP

# vim /etc/dhcp/dhcpd.conf

##################################

subnet 192.168.2.0 netmask 255.255.255.0 {

    range 192.168.2.110 192.168.2.150;

filename "pxelinux.0";

next-server 192.168.2.2;

}

###################################

【PXE】VMware上CentOS7 .x的PXE安装_第17张图片


配置pxe装机文件

#  yum  -y  install  syslinux 

# rpm -ql  syslinux  |grep pxe

【PXE】VMware上CentOS7 .x的PXE安装_第18张图片

# cp /usr/share/syslinux/pxelinux.0    /var/lib/tftpboot/

# cp /usr/share/syslinux/{chain.c32,mboot.c32,menu.c32,memdisk}  /var/lib/tftpboot

# cp /var/www/html/CentOS7/isolinux/{initrd.img,vmlinuz}    /var/lib/tftpboot/

#  ll    /var/lib/tftpboot/

【PXE】VMware上CentOS7 .x的PXE安装_第19张图片

在tftp的根目录下新建pxe文件夹和文件

#  mkdir  /var/lib/tftpboot/pxelinux.cfg

#  vim  /var/lib/tftpboot/pxelinux.cfg/default

########################################################################

default menu.c32

    prompt 5

    timeout 30

    MENU TITLE CentOS7.x PXE

    LABEL linux_auto

    MENU LABEL Install CentOS7.x x86_64 Auto

    KERNEL vmlinuz

  APPEND initrd=initrd.img inst.repo=http://192.168.2.2/CentOS7/ ks=http://192.168.2.2/kickstarts/centos7.cfg

    LABEL linux

    MENU LABEL Install CentOS7.x x86_64

    KERNEL vmlinuz

    APPEND initrd=initrd.img inst.repo=http://192.168.2.2/CentOS7/

###########################################################################

【PXE】VMware上CentOS7 .x的PXE安装_第20张图片


五、生成 kickstarts应答文件

#  yum  -y  install system-config-kickstart

#  system-config-kickstart


【PXE】VMware上CentOS7 .x的PXE安装_第21张图片


【PXE】VMware上CentOS7 .x的PXE安装_第22张图片
【PXE】VMware上CentOS7 .x的PXE安装_第23张图片
【PXE】VMware上CentOS7 .x的PXE安装_第24张图片
【PXE】VMware上CentOS7 .x的PXE安装_第25张图片
【PXE】VMware上CentOS7 .x的PXE安装_第26张图片
【PXE】VMware上CentOS7 .x的PXE安装_第27张图片
【PXE】VMware上CentOS7 .x的PXE安装_第28张图片
【PXE】VMware上CentOS7 .x的PXE安装_第29张图片
【PXE】VMware上CentOS7 .x的PXE安装_第30张图片
【PXE】VMware上CentOS7 .x的PXE安装_第31张图片
【PXE】VMware上CentOS7 .x的PXE安装_第32张图片
【PXE】VMware上CentOS7 .x的PXE安装_第33张图片
【PXE】VMware上CentOS7 .x的PXE安装_第34张图片
【PXE】VMware上CentOS7 .x的PXE安装_第35张图片
【PXE】VMware上CentOS7 .x的PXE安装_第36张图片
【PXE】VMware上CentOS7 .x的PXE安装_第37张图片
【PXE】VMware上CentOS7 .x的PXE安装_第38张图片
【PXE】VMware上CentOS7 .x的PXE安装_第39张图片

# cp  /root/centos7.cfg  /var/www/html/kickstarts/


六、关闭pxeServer防火墙,启动服务


# setenforce 0

# sed  -i  's/^SELINUX=.*/SELINUX=permissive/g'  /etc/selinux/config


# systemctl  stop firewalld

# systemctl disable firewalld


# systemctl  start xinetd httpd dhcpd  tftp

# systemctl  enable  xinetd httpd dhcpd  tftp

# systemctl status  xinetd httpd dhcpd  tftp


【PXE】VMware上CentOS7 .x的PXE安装_第40张图片


【PXE】VMware上CentOS7 .x的PXE安装_第41张图片


七、创建虚拟机,启动PXE 安装


【PXE】VMware上CentOS7 .x的PXE安装_第42张图片
【PXE】VMware上CentOS7 .x的PXE安装_第43张图片
【PXE】VMware上CentOS7 .x的PXE安装_第44张图片
【PXE】VMware上CentOS7 .x的PXE安装_第45张图片
【PXE】VMware上CentOS7 .x的PXE安装_第46张图片
【PXE】VMware上CentOS7 .x的PXE安装_第47张图片
【PXE】VMware上CentOS7 .x的PXE安装_第48张图片
【PXE】VMware上CentOS7 .x的PXE安装_第49张图片
【PXE】VMware上CentOS7 .x的PXE安装_第50张图片
【PXE】VMware上CentOS7 .x的PXE安装_第51张图片
【PXE】VMware上CentOS7 .x的PXE安装_第52张图片
【PXE】VMware上CentOS7 .x的PXE安装_第53张图片
【PXE】VMware上CentOS7 .x的PXE安装_第54张图片
【PXE】VMware上CentOS7 .x的PXE安装_第55张图片
【PXE】VMware上CentOS7 .x的PXE安装_第56张图片
【PXE】VMware上CentOS7 .x的PXE安装_第57张图片
【PXE】VMware上CentOS7 .x的PXE安装_第58张图片
【PXE】VMware上CentOS7 .x的PXE安装_第59张图片
【PXE】VMware上CentOS7 .x的PXE安装_第60张图片
【PXE】VMware上CentOS7 .x的PXE安装_第61张图片


【PXE】VMware上CentOS7 .x的PXE安装_第62张图片
【PXE】VMware上CentOS7 .x的PXE安装_第63张图片
【PXE】VMware上CentOS7 .x的PXE安装_第64张图片

# systemctl get-default

# systemctl set-default graphical.target

#  reboot


【PXE】VMware上CentOS7 .x的PXE安装_第65张图片


【PXE】VMware上CentOS7 .x的PXE安装_第66张图片
【PXE】VMware上CentOS7 .x的PXE安装_第67张图片

八、参考


PXE 装机详解

https://blog.51cto.com/1992tao/1870431

通过PXE网络安装CentOS7操作系统

https://o-my-chenjian.com/2018/07/11/Install-CentOS7-By-Using-PXE

CentOS 7 安装大全 之 PXE网络篇

https://blog.csdn.net/sqa_star/article/details/84029965

PXE+kickstart无人值守安装CentOS 7

https://www.cnblogs.com/f-ck-need-u/p/7342919.html

PXE 和 Kickstart 部署记录

https://blog.tankywoo.com/2014/01/13/pxe-and-kickstart-deploy-operation.html

kickstart文件

https://www.jianshu.com/p/46993025012d

图形化生成kickstart文件

https://blog.51cto.com/13150617/1973002

kickstart-由于下载软件包信息失败,软件包选择被禁止

https://blog.51cto.com/zaa47/1927790

https://www.linuxidc.com/Linux/2018-07/153260.htm

基于DHCP、PXE和kickstart自动安装设置CentOS 7.3

http://hmli.ustc.edu.cn/doc/linux/centos-autoinstall.htm

KICKSTART无人值守安装

https://blog.oldboyedu.com/autoinstall-kickstart

PXE Kickstart 无人值守安装系统

http://www.opsroad.com/759.html

CentOS7安装后重启出现Initial setup of CentOS Linux 7 (core)

https://blog.csdn.net/jyusun/article/details/70231416

如何执行 KICKSTART 安装?

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/installation_guide/sect-kickstart-howto#sect-kickstart-installation-starting

你可能感兴趣的:(【PXE】VMware上CentOS7 .x的PXE安装)