一.PXE
1.什么是pxe
-
PXE 的全称是 preboot execute environment它其实是Intel在很久以前提出来的一项用于通过网络来引导系统的标准。允许客户机通过网络从远程服务器上下载引导镜像,并加载安装文件或者整个操作系统。
-
pxe远程装系统,裸机装系统,重装系统
-
pxe是通过网卡引导启动
-
服务器通过 tftp服务(简单文件传输协议)来提供系统内核和引导镜像的下载 udp()协议 网卡自带这个功能(不支持其他的远程共享服务)
-
自带的站点(/var/lib/tftp?) initrd.img(驱动) vmlinuz(内核) pxelinux.cfg/default(引导文件) pxelinux.0(小型的grub程序) tftp 指明
2. pxe原理
搭建过程中服务详解:
1.网卡需要查找相关的dhcp服务器(获取地址时间)
2.找到后dhcp服务器提供ip地址,和引导程序(boot loader)的地址 还提供给客户机TFTPserver地址(dhcp本身不提供tftp服务)
3.网卡使用tftp客户端把引导程序加载到内存中来
4.bios执行引导程序
5.引导程序会去TFTP去查找配置文件
6.根据配置文件去引导安装系统
7.系统安装过程
3.PXE安装搭建过程中服务详解
PXE远程安装服务器集成了CentOS 7安装源、TFTP 服务、DHCP 服务,能够向空白客户机(裸机)发送PXE引导程序、Linux 内核、启动菜单等数据,以及提供安装文件。
网卡自带DHCP服务和TFTP服务。
DHCP服务
- DHCP是一个局域网的网络协议。指的是由服务器控制一段IP地址范围,客户机登录服务器时就可以自动获得服务器分配的IP地址和子网掩码。
TFTP服务
-
TFTP(简单文件传输协议),是一种基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于小型文件传输的应用场合。TFTP服务默认由xinetd服务进行管理,使用UDP69端口。
-
TFTP服务一般只在装机这种场景下使用,用于传输内核和引导文件。因为安全性不高。
-
自带的站点:/var/lib/tftpboot
syslinux
syslinux是一个功能强大的引导加载程序,而且兼容各种介质。它的目的是简化首次安装Linux的时间, 并建立修护或其它特殊用途的启动盘。它的安装很简单,一旦安装syslinux好之后, sysLinux启动盘就可以引导各种基于DOS的工具, 以及MS-DOS/Windows或者 任何其它操作系统。
安装syslinux程序后,可获得 pxelinux.0 文件。
vsftp:安装系统镜像文件获取方式
可以使用http、ftp等方式,ftp文件传输的一种,vsftpd是提供ftp服务的软件之一。
4.pxe 优点
1.规模化:同时装配多台服务器
2.自动化:安装系统、配置各种服务
3.远程实现:不需要光盘、U盘等安装介质
5.操作过程概述
- 分配给同一局域网内新加机器的地址(配置文件) dhcp 分配地址 指明tftp 服务器的地址
- tftp服务端开启 udp 配置 默认关闭
- 安装syslinux 取得 pxelinux.0 文件
- 安装vsftpd服务挂载软件安装源(mount /dev/sr0 /var/ftp/centos7)
- 将四大文件拷入 (/var/lib/tftpboot )
- initrd.img
- pxelinux.0 (类似grub)
- pxelinux.cfg/default (手写)
- vmlinuz
6.将服务开启,关闭防火墙,selinux
# PXE网络装机操作过程
实验环境:
服务器内网IP地址:192.168.47.100。
DHCP、TFTP、FTP服务全都搭建在这一台服务器上。
简易流程:
-
安装4个软件包:dhcp、tftp-server、vsftpd、syslinux(取得pxelinux.0文件)。
-
配置DHCP服务器,分配IP地址,指明tftp服务器的地址。(虚拟机需要开启仅主机模式,模拟内网环境)
-
编辑TFTP服务配置文件,开启服务(默认是关闭状态)。
-
挂载软件安装源(通常情况下都使用光盘中的安装源,即挂载光驱),并将三大文件先拷入/var/lib/tftpboot/ 目录中:pxelinux.0,vmlinuz,initrd.img。
-
在/var/lib/tftpboot/ 目录下,创建子目录pxelinux.cfg,在子目录下编写引导程序的配置文件default。
-
关闭防火墙和selinux。启动dhcpd、tftp、vsftpd。
-
使用空白客户机(裸机)测试能否自动装机。
一、服务器配置操作步骤:
1、安装四个软件包:dhcp、tftp-server、vsftpd、syslinux。
1.先安装yum安装dhcp软件
2.先将/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example复制到/etc/dhcp/dhcpd.conf,安装配置文件
3.修改/etc/dhcp/dhcp.conf配置文件
修改如下
4.启动服务
5.安装tftp软件
6.看tftp-server的配置文件地点
7.修改vim /etc/xinetd.d/tftp 配置文件
8.启动tftp服务
9.传送到/var/lib/tftpboot 文件下是tftp的家目录,创建四大文件
10.将光驱挂载到/mnt下
11.将mnt下的vmlinuz和initrd.img文件拷到本目录下
12.安装syslinux 软件
13.去找syslinux中pxelinux的配置文件
14.将上面红框标志的文件拷到本文件夹下,这样就有四大文件中的三个了
15.下载vsftpd软件
16.要到/var/ftp/下准备一个文件夹去装安装包
17.回到上一次的目录,在本文件夹下创建第四个文件pxelinux.cfg,进到这个文件夹下写一个default文件只能是这个名字
18.文件内写的内容
19.四大文件配置修改好后,都需要把软件重新启动
20.这些都准备完后,新建一个虚拟机安装测试,等一会就会刷新安装界面(初始化界面)
新建虚拟机要关闭dhcp服务
21.选择中文语言后点击继续进入到安装界面
22.使用kickstart技术,进行自动化安装,先安装软件system-config-kickstart
23.进入服务端中图形化界面进行配置
24.进入kickstart
27.基本设置里面修改内容
28.安装方法一栏中的配置
29.引导装载程序选项配置
30.分区信息中配置信息
31.把防火墙直接禁用掉
32.显示配置中不安装图形界面
33.安装后脚本,可以设置自己安装之后自动加进去的命令
34.之后点击文件进行保存
35.进入/var/ftp/文件下查看是否保存好了
36.进入到pxelinux.cfg文件夹下
37.修改default文件夹下,添加ks文件的地址
38.之后再重启我们要安装系统的虚拟机查看是否能正常安装,一般需要等待几分钟,
跟之前建立的脚本一样