linux 利用pxe自动安装预设系统

PXE工作原理

 第一步:PXE Client向DHCP发送请求首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息。

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

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

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

第五步:请求下载自动应答文件客户端通过pxelinux.cfg/default文件成功的引导Linux安装内核后,安装程序首先必须确定你通过什么安装介质来安装linux,如果是通过网络安装(NFS, FTP, HTTP),则会在这个时候初始化网络,并定位安装源位置。或许你会说,刚才PXE不是已经获取过IP地址了吗?为什么现在还需要一次?这是由于PXE获取的是安装用的内核以及安装程序等,而安装程序要获取的是安装系统所需的二进制包以及配置文件。由于它们需要的内容不同造成PXE模块和安装程序是相对独立的,PXE的网络配置并不能传递给安装程序。从而进行两次获取IP地址过程。接着会读取该文件中指定的自动应答文件ks.cfg所在位置,根据该位置请求下载该文件。

第六步:客户端安装操作系统将ks.cfg文件下载回来后,通过该文件找到OS Server,并按照该文件的配置请求下载安装过程需要的软件包。OS Server和客户端建立连接后,将开始传输软件包,客户端将开始安装操作系统。安装完成后,将提示重新引导计算机。这个时候注意,在重新引导的过程中一定要将BIOS修改回从硬盘启动,不然的话又会重复的自动安装操作系统。在上面介绍中PXE client是需要安装Linux的计算机,TFTP Server、DHCP Server和NFS Server运行在另外一台Linux Server上。Bootstrap文件、配置文件、Linux内核都放置在Linux Server上TFTP服务器的根目录下。而Linux根文件系统存放于NFS Server的共享目录中。PXE client在工作过程中,需要三个二进制文件:bootstrap、Linux 内核和Linux根文件系统。Bootstrap文件是可执行程序,它向用户提供简单的控制界面,并根据用户的选择,下载合适的Linux内核以及Linux根文件系统。

一、目的:完成自动化rhel7.0系统安装

二、系统:rhel7.0

三、工具:

http:用于安装文件网络传输

tftp:用于上传内核、入口程序等

dhcp:用于动态IP分配

pxelinux.0:安装系统入口程序

kickstart:个性化rhel7.0配置

本机ip:172.25.254.11(用于安装服务器) DNS:172.25.254.254 网关:172.25.254.250

四、步骤(机器为全新,仅有桌面iso文件)

(1)配置本地yum源(已配置好则跳过)

# mount rhel7.0-server-x86-64.iso /mnt

# vim /etc/yum.repo/xxxxx.repo

[mysoftware]

#该步骤为配置临时yum源,便于安装要用到的软件

name=ps-test

enable=1

baseurl=file:///mnt

gpgcheck=0

# yum clean all

//用kisckstart配置个性化linux系统

# yum install system-config-kickstart -y

# system-config-kickstart //图形界面下 packages  选择时存在bug需手动添加

//将上步做好的ks.cfg保存到/var/www/html/下

# vim /var/www/html/ks.cfg

//在文件最后添加

%packages

@base                //最小安装

%end

//httd配置

# yum install httpd -y

# systemctl start httpd

# systemctl enable httpd

# systemctl stop firewalld

# systemctl disable firewalld

# mkdir /var/www/html/source

# vim /etc/fstab

#增加以下代码

/root/Desktop/rhel7.0-server-x86-64.iso /var/www/html/source iso9660 defaults 0 0

# mount -a

# umount /mnt

# vim /etc/yum.repo/xxxxx.repo

#修改baseurl

baseurl=file:///var/www/html/source

# yum clean all

//dhcp配置

//将本机IP改为静态(用作服务器使用)并重启网络服务

# yum install dhcpd.x86_64 -y

# cat /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example > /etc/dhcp/dhcpd.conf

# vim /etc/dhcp/dhcpd.conf

option domain-name "example.com";

option domain-name-servers 172.25.254.254;

default-lease-time 600;

max-lease-time 7200;

log-facility local7;

subnet 172.25.254.0 netmask 255.255.255.0 {

range 172.25.254.60 172.25.254.70;

option routers 172.25.254.250;

filename "pxelinux.0";

next-server 172.25.254.11;}

# systemctl restart dhcpd

# systemctl enable dhcpd

//tftp配置

# yum install tftp-server -y

# cd /var/lib/tftpboot

# cp /var/www/html/source/isolinux/* /var/lib/tftpboot

# mkdir pxelinux.cfg

# cp isolinux.cfg pxelinux.cfg/default

# vim pxelinux.cfg/default

//修改以下条目

timeout 60

label linux

menu label ^Install Red Hat Enterprise Linux 7.0

kernel vmlinuz

menu default

append initrd=initrd.img repo=http://172.25.254.11/source                   ks=http://172.25.254.11/ks.cfg

# yum install syslinux -y

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

# vim /etc/xinetd.d/tftp

disable                 = no

# systemctl restart xinetd

# systemctl enable xinetd

//至此所有配置完成

五、测试

用另一PC使用网络启动(或pxe)通过引导成功进入安装界面

系统安装过程完全自动化,只需打开PC电源即可

六、遇到的问题

遇到问题最多的点再于DHCP的配置,dhcpd.conf 的语法要求很严格,并且没有报错机制,在

# systemctl restart dhcpd 后需要继续执行 # systemctl status dhcpd 查看其是否运行,若状态为failed则说明配置文件有误,需查看日志排错

时间: 2024-08-02 11:03:42

linux 利用pxe自动安装预设系统的相关文章

利用PXE自动安装

大纲: 1.   PXE的概念 2.   PXE的原理 3.   实现PXE安装CentOS6.8和CentOS7.2 一.什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(

PXE自动安装Linux 系统

                 PXE自动安装Linux 系统 1.PXE简介2119731621 当需要安装的操作系统比较多时,手动安装是不现实的,这个时候就要借助PXE了. PXE全称是:Preboot Excution Environment 预启动执行环境是由Intel公司研发的基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统 PXE可以引导和安装Windows,linux等多种操作系统. 2. 实验步骤 (1) 环境准

Linux PXE自动化安装centos6系统

1.PXE是什么? pxe是Preboot Excution Environment的缩写,是intel公司研发,基于client/server的网络模式,支持远程主机通过网络从远端服务器下载镜,并由此支持通过网络启动操作系统的预启动执行环境. 2.PXE的工作原理 它的工作流程是这样的: 1.客户端向PXE 服务器上的DHCP发送ip地址请求消息,DHCP检测到客户端是否合法(主要是检测客户端的网卡MAC地址)如果合法则返回客户端的ip地址,同时将启动文件pxelinx.0位置信息一并传给客户

运维工作中的bootstraping之PXE自动安装操作系统

运维工作纵向来看主要分为三个方向: 1.BootStraping:主要做的是操作系统的安装与配置,包括Bare Metal(pxe,cobbler)和Virtual Machine(image files). 2.Configuration:主要使用运维工具如puppet(rubby研发).saltstack(python研发).ansible.chef.cfengine等自动化运维工具做应用程序做批量部署与配置. 3.Command and Conrol:主要使用自动化运维工具发送命令或指令实

pxe自动安装redhat7.0服务的搭建与配置

一.简单介绍 PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由

pxe自动安装centos

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

PXE自动安装

PXE自动安装方式 安装基础组件包 确保已经安装操作系统,作为PXE Server,建议使用RHEL 6的最新版本. 创建Yum安装源. cat>> /etc/yum.repos.d/rhel-dvd.repo<< ! [rhel-dvd]name=Red Hat Enterprise Linux DVDbaseurl=file:///media/rhel6-dvdenabled=1gpgcheck=0! 需要确保,光盘挂载到/media/rhel6-dvd这个目录.如下: # m

利用PXE引导安装centos7

# 利用PXE引导安装centos7 # ###简介### > PXE (Pre-boot Execution Environment,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行.运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器. > DHCP设定分配的IP地址和需要请求的filename,PXE客户端启动,从DHCP服务器获取IP和要下载的文件

Linux下使用VirtualBox安装Windows系统

(文档比较长,只是写的详细,实际操作起来相对简单.) 由于一些特殊原因,我们并不能完全抛下Windows而使用Linux.VirtualBox 是一款虚拟机软件,支持多系统.在Linux下安装 VirtualBox 后,我们就可以安装Windows系统,并使用Windows下的软件了. 1.下载首先需要下载 VirtualBox,下载地址:http://www.virtualbox.org/wiki/Downloads点击 VirtualBox 3.2.8 for Linux hosts,跳转到