PXE简介、PXE+Kickstart实现无人值守,网络装机

1. PXE简介

(1)PXE

     PXE(Pre-boot Execution Environment)是由Intel设计的协议,它可以使计算机通过网络启动。工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

(2)PXE协议成功的运行

PXE协议的成功运行需要解决以下两个问题:  

     既然是通过网络传输,那么计算机在启动时,它的IP地址由谁来配置;  

     通过什么协议下载Linux内核和根文件系统  ;

对于第一个问题,可以通过DHCP Server解决,由DHCP server来给PXE client分配一个IP地址,DHCP Server是用来给DHCP Client动态分配IP地址的协议,不过由于这里是给PXE Client分配IP地址,所以在配置DHCP Server时,需要增加相应的PXE特有配置。 

至于第二个问题,在PXE client所在的ROM中,已经存在了TFTP Client。PXE Client使用TFTP Client,通过TFTP协议到TFTP Server上下载所需的文件。

2. PXE无人值守网络装机

PXE网络装机流程

  1. PXE Client从自己的PXE网卡启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向本网络中的DHCP服务器索取IP。

  2. DHCP服务器收到客户端的请求,验证是否来至自合法的PXE Client的请求,验证通过后它将给客户端一个响应,这个响应中包含了为客户端分配的IP地址、pxelinux启动程序(TFTP)位置,以及配置文件所在位置。

  3. 客户端收到服务器的“回应”后,会回应一个帧,以请求传送启动所需文件。这些启动文件包括:pxelinux.0、pxelinux.cfg/default、vmlinuz、initrd.img等文件。

  4. 当服务器收到客户端的请求后,他们之间之后将有更多的信息在客户端与服务器之间作应答, 用以决定启动参数。BootROM由TFTP通讯协议从Boot Server下载启动安装程序所必须的文件(pxelinux.0、pxelinux.cfg/default)。default文件下载完成后,会根据该文件中定义的引导顺序,启动Linux安装程序的引导内核。

  5. 客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。接着会读取default文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

  6. 客户端安装操作系统 将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。 OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。   

实验环境

2台Linux系统(RHEL6.5版本),1台作为:PXE远程安装服务器,另1台作为:客户端(未装RHEL6.5系统)

实验步骤

(1)网络源YUM仓库配置

1.1> 修改selinux防火墙配置文件,禁止SELINUX服务,关闭防火墙

1.2> 配置服务器IP地址

PXE简介、PXE+Kickstart实现无人值守,网络装机_第1张图片

PXE简介、PXE+Kickstart实现无人值守,网络装机_第2张图片

PXE简介、PXE+Kickstart实现无人值守,网络装机_第3张图片

1.3> 挂载光盘

1.4> 修改服务器的YUM仓库文件rhel-source.repo(服务器自己的YUM为:本地源)

PXE简介、PXE+Kickstart实现无人值守,网络装机_第4张图片

(2)安装vsftpd服务

2.1> 安装vsftpd服务(使用YUM方式安装,验证本地源YUM仓库),

PXE简介、PXE+Kickstart实现无人值守,网络装机_第5张图片

2.2> 重新启动vsftpd服务;

2.3> 检测vsftpd端口;证明服务正常开启;

2.4> 复制光盘文件到ftp服务器的共享目录rhel6.5中;

2.5> 验证ftp服务是否正常;

打开服务器的火狐浏览器,输入:ftp://192.168.10.10,如果能看到rhel6.5共享目录,则说明服务器的ftp服务运行正常

PXE简介、PXE+Kickstart实现无人值守,网络装机_第6张图片

(3)安装并启用tftp服务

3.1> 安装tftp服务;

PXE简介、PXE+Kickstart实现无人值守,网络装机_第7张图片

3.2> 修改tftp文件  vim  /etc/xinetd.d/tftp

修改:“disable  = yes”为“disable  = no”

PXE简介、PXE+Kickstart实现无人值守,网络装机_第8张图片

PXE简介、PXE+Kickstart实现无人值守,网络装机_第9张图片

3.3> 启动tftp服务,service  xinetd   start;

3.4> 准备客户端主机无盘启动时所需的Linux内核、初始化镜像文件:

cd  /mnt/images/pxeboot

cp  vmlinuz  initrd.img  /var/lib/tftpboot

PXE简介、PXE+Kickstart实现无人值守,网络装机_第10张图片

3.5> 准备客户端主机无盘启动时所需的PXE引导程序、启动菜单文件;

1) 安装syslinux软件包(支持PXE功能)

yum  -y  install  syslinux

PXE简介、PXE+Kickstart实现无人值守,网络装机_第11张图片

2) 复制PXE引导程序

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

3) 建立启动菜单文件

mkdir  /var/lib/tftpboot/pxelinux.cfg

vim  /var/lib/tftpboot/pxelinux.cfg/defaul

PXE简介、PXE+Kickstart实现无人值守,网络装机_第12张图片

PXE简介、PXE+Kickstart实现无人值守,网络装机_第13张图片

(4)安装并启用DHCP服务

4.1> 安装dhcp服务;yum  -y  install  dhcp

PXE简介、PXE+Kickstart实现无人值守,网络装机_第14张图片

4.2> 复制dhcp配置例子文件;

4.3>修改dhcp配置文件;并启动DHCP服务;

PXE简介、PXE+Kickstart实现无人值守,网络装机_第15张图片

注意:dhcp服务的配置文件应根据实际情况而写:

  1. subnet后的网段地址(主机号为0)、子网掩码;
  2. range后的起始与结束IP地址,都应根据dhcp服务器本机的IP地址而定
  3. 也就是说:pxe无盘客户端的IP地址应与dhcp服务器本机的IP地址在同一地址段,如果不在同一网段,则网络中还需要配置路由器、配置dhcp中继代理方能实现IP地址的分配
  4. next-server后面的IP地址为:tftp服务器的IP地址
  5. 本实验环境:dhcp服务器、tftp服务器都是同一服务器即:192.168.10.10
  6. 如果dhcp服务不能启动成功,则查看系统日志中关于dhcp服务的错误信息,根据提示再次修改dhcpd.conf文件,再尝试启动。
  7. 查看日志操作如下:cat  /var/log/message  | grep  dhcp | more

(5)验证PXE网络装机:(客户机上操作)

5.1> 虚拟机环境:新建一台RHEL6.5虚拟机(客户端)

   内存1G内存

   硬盘:默认即可

   网卡连接方式:与服务器相同(如:vmnet1)

   禁用vmware的dhcp功能(此步很重要)

   启动虚拟机,看到boot:  提示符,说明服务器端配置成功!,可以进行接下来的操作。

   安装方式应选择:URL方式

   URL信息应填写为:ftp://192.168.10.10/rhel6.5

5.2> 可以看到测试成功;

PXE简介、PXE+Kickstart实现无人值守,网络装机_第16张图片

(6)实现客户端的Kickstart无人值守安装:(在服务器上操作)

6.1> 安装system-config-kickstart软件包;yum  -y  install  system-config-kickstart

PXE简介、PXE+Kickstart实现无人值守,网络装机_第17张图片

6.2> 设置kickstart

打开kisckstart配置程序:

应用程序-----系统工具-----kickstart

进行相应的配置:

    必须设置root口令

    必须指定安装方法:FTP

    ftp服务器:ftp://192.168.10.10

    ftp目录:rhel6.5

    必须设置分区:

    清除主引导记录

    删除所有现存分区

    添加磁盘分区:

    /boot  ext4  500M

    swap          2048M

    /      ext4   未使用的全部磁盘空间

    保存自动应答文件:/root/ks.cfg

    启用自动应答文件:cp  /root/ks.cfg  /var/ftp/rhel6.5

6.3> 修改启动菜单文件default;

PXE简介、PXE+Kickstart实现无人值守,网络装机_第18张图片

(7)验证PXE无人值守安装

启动客户端验证无人值守安装,如果能看到软件包复制过程,则说明无人值守配置成功,可继续等待自动安装,直到安装完毕

看到已经测试成功;

PXE简介、PXE+Kickstart实现无人值守,网络装机_第19张图片

你可能感兴趣的:(Linux)