Linux PXE无人值守网络装机

一、实验环境:

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

TFTP服务放入开机加载程序文件,FTP存放光盘镜像文件

二、PXE的概念

PXE(Pre-boot Execution Environment)是由Intel设计,可以使计算机通过网络启动的协议。协议分为client和server两端,PXE client在网卡的ROM中,当计算机启动时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXE client将放置在远端的操作系统通过网络下载到本地运行。

三、PXE网络安装流程

pxe网络安装的流程:bios启动——pxe client中的程序进入内存,显示命令菜单——此程序开始寻找网络引导程序(bootstrap文件,这个文件的名字随着发行版的不同而不同,在centos中,它是pxelinux.0)——引导程序读取配置文件pxelinux.cfg,获得系统初始化的相关文件信息——系统启动,开始进行安装。

1.客户机从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP

2.DHCP服务器返回分给客户机IP以及bootstrap文件的放置位置(该文件一般是放在一台TFTP服务器上)

3.客户机向本网络中的TFTP服务器读取开机加载程序文件(bootstrap文件,本实验(redhat 6.5)是pxelinux.0)

4.然后读取配置文件(pxelinux.cfg),通过TFTP服务器加载内核和文件系统

5.进入安装画面, 此时可以通过选择HTTP、FTP、NFS(这里以FTP为例)方式进行安装

四、实验步骤

1.配置服务端IP地址

  

2.关闭服务端防火墙 service  iptables  stop     setenforce 0

3.搭建ftp站点(存放光盘镜像文件),在/var/ftp下新建文件夹,把光盘文件内容复制到文件夹中

mkdir  /var/ftp/rhel6

cp  -rf  /mnt/*  /var/ftp/rhel6

4.查看是否复制成功

5.启动ftp服务,service vsftpd start,然后测试ftp服务

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

6.安装并启用tftp服务 #存放开机加载程序文件

yum  -y  install  tftp-server

vim  /etc/xinetd.d/tftp

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

 

7.启动tftp服务:service  xinetd   start

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

cd  /mnt/images/pxeboot

cp  vmlinuz  initrd.img  /var/lib/tftpboot

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

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

yum  -y  install  syslinux

复制PXE引导程序

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

建立启动菜单文件

mkdir  /var/lib/tftpboot/pxelinux.cfg

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

9.安装dhcp服务并配置

Yum -y install dhcp

复制dhcp配置例子文件

cp  /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp/dhcpd.conf

(版本不同,dhcp*代表的目录名也不同,使用tab键补全即可)

vim/etc/dhcp/dhcpd.conf

注意 next-server后面的IP地址为:tftp服务器的IP地址    Filename 跟的引导启动程序

 

10.启动dhcp服务  service  dhcpd  start

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

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

启动虚拟机,看到boot:  提示符,说明服务器端配置成功!

  

  

选择URL

  

  

填写url路径,即光盘的路径

  

看到下图,说明开始安装系统,这里不再往下装了 

  

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

安装system-config-kickstart软件包

yum  -y  install  system-config-kickstart    #自动应答脚本制作工具

打开kisckstart配置程序:

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

 

13.进行相应的配置:

必须设置root口令

  

14.必须指定安装方法:FTP

ftp服务器:ftp://10.10.10.200

ftp目录:rhel6

 

15.必须设置分区

清除主引导记录

删除所有现存分区

添加磁盘分区:

/boot  ext4  500M

swap                2048M

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

 

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

  

17.把自动应答文件,拷贝到ftp站点下

cp  /root/ks.cfg  /var/ftp/rhel6

18.修改启动菜单文件default

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

  

19.测试

其它内容保持不动

验证无人值守安装,如果能看到软件包复制过程,则说明无人值守配置成功,这里不在往下安装

注意由于是在虚拟机中进行实验,无人值守安装,会弹出硬件检测

  

Linux PXE无人值守网络装机的更多相关文章

  1. DHCP\PXE+kickstart网络装机平台

    DHCP概述及原理: ​ DHCP地址分配的四次会话 ​ DISCOVERY -****OFFER -REQUEST -ACK 服务端基本概念: 租期:允许客户机组用IP地址的时间期限,单位为秒 作用 ...

  2. 第六章、PXE高效网络装机、Kickstart无人值守安装

    目录 一.部署PXE远程安装服务 1PXE定义 2PXE服务优点 3搭建网络体系前提条件 4PXE实现过程讲解 二.搭建PXE远程安装服务器 三.Kickstart无人值守安装 一.部署PXE远程安装 ...

  3. PXE+Kickstart网络装机(Centos6.5版本)

    1.原理说明: PXE Client:表示需要安装操作系统的机器,统称客户端: TFTP server:表示安装TFTPD服务的机器: DHCP server:表示安装DCHPD服务的机器: 在实际的 ...

  4. Linux PXE + Kickstart 自动装机

    大规模装机时,使用无人值守装机便可大大简便人工操作,提高效率. PXE 网络安装 配置双网卡 这里ens33为nat网络,ens37为仅主机网络,配置ens37 [root@localhost ~]# ...

  5. Linux 搭建批量网络装机

  6. Linux shell编写脚本部署pxe网络装机

    Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机  https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...

  7. linux dhcp搭建及pxe无人值守装机

    DHCP动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理可以自动分配的入网参数ip地址/子网掩码/广播地址默认网关地址DNS服务器地址 ----------------------- ...

  8. 网络装机pxe服务器的配置过程

    网络装机pxe服务器的配置过程 背景: 针对于Linux运维工作中遇到的需要大批量安装Linux系统的情况,通过网络装机的方式实现无人值守安装Linux操作系统,现需要配置一台pxe服务器用于pxe批 ...

  9. 十六.部署PXE网络装机

    PXE组件及过程分析 • 需要哪些服务组件? – DHCP服务,分配IP地址.定位引导程序 – TFTP服务,提供引导程序下载 – HTTP服务,提供yum安装源 • 客户机应具备的条件 – 网卡芯片 ...

随机推荐

  1. Android-线程池下载多个图片并保存,如果本地有该图,则不下载,直接展示到view

    做了个工具方法,用来下载图片,如果本地有这个图,则不下载,直接展示到view setHP()方法可以多次使用,因为使用了线程池,所以是个异步操作,如果使用的多,建议根据需要增加线程池的线程数量 看代码 ...

  2. 记录eclipse安装SpringBoot插件及搭建SpringBoot项目

    刚学习了下SpringBoot 插件安装 创建项目在此记录下 在spring官网上下载相关的插件,然后导入到eclipse中,以下是下载步骤: 1.首先查看自己eclipse版本号 help--> ...

  3. 【视频】使用ASP.NET Core开发GraphQL服务

    GraphQL 既是一种用于 API 的查询语言也是一个满足你数据查询的运行时. GraphQL来自Facebook,它于2012年开始开发,2015年开源. GraphQL与编程语言无关,可以使用很 ...

  4. JVM基础系列第14讲:JVM参数之GC日志配置

    说到 Java 虚拟机,不得不提的就是 Java 虚拟机的 GC(Garbage Collection)日志.而对于 GC 日志,我们不仅要学会看懂,而且要学会如何设置对应的 GC 日志参数.今天就让 ...

  5. 强如 Disruptor 也发生内存溢出?

    前言 OutOfMemoryError 问题相信很多朋友都遇到过,相对于常见的业务异常(数组越界.空指针等)来说这类问题是很难定位和解决的. 本文以最近碰到的一次线上内存溢出的定位.解决问题的方式展开 ...

  6. 如何写好css系列之button

    现代前端行业的发展,如果你在css的时候,还没有利用一些预编译工具,是否觉得自己太low了.但你是否考虑过搭建一套自己前端框架.可能你会想这是否有必要,因为基础有boostrap,组件库有:easyu ...

  7. 带着萌新看springboot源码10(springboot+JdbcTemplate+druid)

    上一节把springboot和jdbcTemplate大概用法说了一下,以及大概看了一下源码,还说了加载sql文件时的原理. 这一节来看看自动注入JdbcTemplate的原理,顺便用一用Druid数 ...

  8. API网关模式

    什么是网关 网关一词来源于计算机网络中的定义,网关(Gateway)又称网间连接器.协议转换器.网关的准确定义是: 两个计算机程序或系统之间的连接,网关作为两个程序之间的门户,允许它们通过不同计算机之 ...

  9. 【ASP.NET Core快速入门】(六)配置的热更新、配置的框架设计

    配置的热更新 什么是热更新:一般来说,我们创建的项目都无法做到热更新:即项目无需重启,修改配置文件后读取到的信息就是修改配置之后的 我们只需要吧项目中用到的IOptions改成IOptionsSnap ...

  10. 环境与工具1:微信群刷屏 | itchat

    在微信群里面,"刷屏"的行为是被谴责的,伴随着"快发红包道歉"与"送飞机票"的出现.那如果小程硬是要做到"刷屏"来验证自 ...