PXE+kickstart自动安装Centeos7系统

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

PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。协议分为client和server两端,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
PXE工作原理:
1.PXE client从自己的PXE网卡启动,向本网络中的DHCP服务器请求ip地址
2.DHCP服务器收到dhcp请求后,分配dhcp地址池中ip给PXE client

3.PXE client向本网络中的TFTP服务器索取bootstarp文件
4.PXE client取得bootstarp文件后之执行pxelinux.0文件引导,使用pxelinux环境来引导os安装程序。
5.PXE

client然后读取pxelinux.cfg文件夹中的default(isolinux.cfg)引导文件,通过TFTP服务器加载内核vmlinuz和根文件系统(boot.msg,vesamenu.c32,initrd.img,splash.jpg),通过http服务器加载ks.cfg引导文件。
6.启动linux内核完成安装

PXE必要条件:

1、pxe client必须支持pxe用户端功能,并且开机时选择网络启动,这样系统才能以网络的方式进入pxe启动程序

2、pxe服务器必须至少提供DHCP及TFTP的服务才行,且其中

DHCP服务器必须能够除未pxe client分配ip地址外,还需告知tftp所在的位置(即pxelinux.0的文件位置)

TFTP服务器则为pxe client 提供bootloader 及 kernel 等重要文件下载服务
3、使用NFS/HTTP/FTP之一的服务器提供pxe client所需程序及软件来源等通讯协议

利用PXE安装首先要考虑的是涉及的服务有DHCP,TFTP,VSFTPD,SYSLINUX(引导程序)

yum install dhcp tftp-server vsftpd syslinux

DHCP服务提供IP地址
TFTP服务提供启动菜单
VSFTP服务提供vmlinux系统内核与initrd.img的初始化镜像文件
SYSLINUX提供pxelinux.0引导程序

配置DHCP服务

编辑网卡,分配固定IP地址为192.168.100.100,子网掩码255.255.255.0,网关为192.168.100.1

vim /etc/sysconfig/network-scripts/ifcfg-enss

centos自动mount centos自动安装_centos自动mount

cp /usr/share/doc/dhcpd-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf

centos自动mount centos自动安装_服务器_02

修改TFTP服务的主配置文件/etc/xinetd.d/tftp
vim /etc/xinetd.d/tftp

centos自动mount centos自动安装_vim_03

TFTP的站点文件路径/var/lib/tftpboot

这里需要准备系统内核,镜像初始化文件,引导程序,和启动脚本

引导程序在/usr/share/syslinux/pxelinux.0文件中,放入到/var/lib/tftpboot目录中
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
系统内核与镜像初始化文件需要要安装的系统挂载到/var/ftp/centos7中,这是VSFTPD的站点文件
cd /var/ftp/
mkdir centos7
mount /dev/sr0 centos7
系统内核与镜像初始化文件为vmlinuz(系统内核),initrd.img(镜像初始化文件)
cd /var/ftp/centos7/imgages/pxeboot/目录下
cp initrd.img vmlinuz /var/lib/tftpboot
将启动脚本放入到/var/lib/tftpboot目录中
cd /var/lib/tftpboot
mkdir pxelinux.cfg
vim default

centos自动mount centos自动安装_vim_04

kickstart无人值守技术

1.创建应答文件,预先定义好各自安装设置
2.免去交互设置过程,从而实现全自动化安装

yum install system-config-kickstart -y

centos自动mount centos自动安装_服务器_05


centos自动mount centos自动安装_linux_06


centos自动mount centos自动安装_服务器_07


centos自动mount centos自动安装_linux_08


centos自动mount centos自动安装_服务器_09


centos自动mount centos自动安装_服务器_10


centos自动mount centos自动安装_linux_11


centos自动mount centos自动安装_服务器_12


centos自动mount centos自动安装_linux_13


centos自动mount centos自动安装_vim_14


centos自动mount centos自动安装_vim_15

cd ~(root家目录中)
vim anaconda-ks.cfg

centos自动mount centos自动安装_centos自动mount_16

cd /var/ftp
vim ks.cdg

centos自动mount centos自动安装_服务器_17

从新更改/var/lib/tftpboot/pxelinux.cfg/default文件
vim /var/lib/tftpboot/pxelinux.cfg/default

centos自动mount centos自动安装_服务器_18

systemctl start dhcpd tftp vsftpd
systemctl stop firewalld.service
setenforce 0

centos自动mount centos自动安装_服务器_19

要安装的裸机也要选择仅主机模式

自动安装过程如图

centos自动mount centos自动安装_linux_20


centos自动mount centos自动安装_linux_21


centos自动mount centos自动安装_服务器_22