利用PXE自动安装

大纲:

1.   PXE的概念

2.   PXE的原理

3.   实现PXE安装CentOS6.8CentOS7.2

一、什么是PXE

PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows95/98/2000/windows2003/windows2008/winXP/win7/win8,linux

PXE最直接的表现是,在网络环境工作站可以省去硬盘,但又不是通常所说的无盘站的概念,因为使用该技术的PC在网络方式下的运行速度要比有盘PC快3倍以上。当然使用PXE的PC也不是传统意义上的TERMINAL终端,因为使用了PXE的PC并不消耗服务器的CPU,RAM等资源,故服务器的硬件要求极低。

二、PXE的原理

流程化实现原理:

支持PXE的电脑开机(预先打开网卡PXE功能,网络引导)

--->DHCP给该电脑一个IP地址,并指明下一跳tftp文件服务器

---> 电脑去tftp服务器上(/tftpboot 文件夹下面)下载到一个叫做 pxelinux.0的文件,并拿到pxelinux.cfg文件夹下的default配置文件

--->根据该配置文件加载内核等操作,同时该配置文件中可以指明ks.cfg文件的地址,这样实现全程无人化安装!

三、

(1)PXE实现Centos7.2的自动化安装

环境:

1.设备必须是支持PXE的网卡

2.此次试验我将dhcp服务器和提供ks文件,yum仓库的ftp服务都放在了同一个主机上。

3.为了不受环境中其他dhcp服务的影响,我将两台主机都放置在自己定义的vmnet3主机模式的网络中,并且不启用vmvare自带的虚拟dhcp服务器。

4.dhcp服务器端和ftp服务器的IP为10.1.100.126

  1. 首先安装dhcp服务器,tftp服务器,tftp客户端(在本机测试时用),ftp服务器

    tftp的根目录是/var/lib/tftpboot

[[email protected] ~]# yum -y install tftp tftp-server dhcp vsftpd syslinux
[[email protected] ~]# systemctl start tftp.socket

2.编辑dhcp的配置文件,提供filename和next-server(也就是tftp的地址)

[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
subnet 10.1.0.0 netmask 255.255.0.0 {
  range 192.168.11.100 192.168.11.200;
  option domain-name-servers 114.114.114.114;
  option domain-name "luxiangyu.com";
  option routers 10.1.100.126;
  default-lease-time 600;
  max-lease-time 7200;
  filename "pxelinux.0";       #文件由syslinux生成
  next-server 10.1.100.126;    # 指明tftp服务器的地址
}
[[email protected] ~]# systemctl start dhcpd

3.复制必备的文件

[[email protected] pub]# mount /dev/cdrom /var/ftp/pub/centos7
[[email protected] pub]# mount /dev/cdrom /media/cdrom
[[email protected] ~]# cp  -a  /usr/share/syslinux/{chain.c32,menu.c32,memdisk,mboot.c32,pxelinux.0} /var/lib/tftpboot
[[email protected] ~]# cp  -a  /media/cdrom/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot

4.创建一个菜单文件

[[email protected] ~]# cd /var/lib/tftpboot/
[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
default menu.c32
	prompt 5
	timeout 30
	MENU TITLE CentOS 7 PXE 

	LABEL linux
	MENU LABEL Install Centos 7 x86_64
	KERNEL vmlinuz
	APPEND initrd=initrd.img inst.repo=ftp://10.1.100.126/pub/centos7/

        LABEL linux auto_install
	MENU LABEL Install Centos 7.2 x86_64 auto
	KERNEL vmlinuz
	APPEND initrd=initrd.img inst.repo=ftp://10.1.100.126/pub/centos7 ks=
[[email protected] ~]# tree /var/lib/tftpboot/
/var/lib/tftpboot/
├── chain.c32
├── initrd.img
├── issue
├── mboot.c32
├── memdisk
├── menu.c32
├── pxelinux.0
├── pxelinux.cfg
│   └── default
└── vmlinuz	

5.确认服务都已经开启,进行测试。

新建一个虚拟机,并且和服务器端在同一网络。设置网卡启动。

(1)PXE实现Centos6.8的自动化安装

环境:

1.设备必须是支持PXE的网卡

2.此次试验我将dhcp服务器和提供ks文件,yum仓库的ftp服务都放在了同一个主机上。

3.为了不受环境中其他dhcp服务的影响,我将两台主机都放置在自己定义的vmnet3主机模式的网络中,并且不启用vmvare自带的虚拟dhcp服务器。

4.dhcp服务器端和ftp服务器的IP为10.1.100.124

  1. 首先安装dhcp服务器,tftp服务器,tftp客户端(在本机测试时用),ftp服务器

    tftp的根目录是/var/lib/tftpboot

[[email protected] ~]# yum -y install tftp tftp-server dhcp vsftpd syslinux
[[email protected] ~]# chkconfig tftp on
[[email protected] ~]# service restart xinetd
[[email protected] ~]# ss -nul 
UNCONN      0      0                    *:517                 *:*     
UNCONN      0      0                    *:518                 *:*     
UNCONN      0      0                    *:647                 *:*     
UNCONN      0      0            127.0.0.1:659                 *:*     
UNCONN      0      0                    *:68                  *:*     
UNCONN      0      0                    *:68                  *:*     
UNCONN      0      0                    *:68                  *:*     
UNCONN      0      0                    *:69

2.编辑dhcp的配置文件,提供filename和next-server(也就是tftp的地址)

[[email protected] ~]# vim /etc/dhcp/dhcpd.conf
subnet 10.1.0.0 netmask 255.255.0.0 {
  range 10.1.100.120 10.1.100.130;
  option domain-name-servers 114.114.114.114;
  option domain-name "luxiangyu.com";
  option routers 10.1.100.124;
  default-lease-time 600;
  max-lease-time 7200;
  filename "pxelinux.0";       #文件由syslinux生成
  next-server 10.1.100.124;    # 指明tftp服务器的地址
}
[[email protected] ~]# service dhcpd configtest
[[email protected] ~]#service dhcpd start

3.复制必备的文件

[[email protected] pub]# mount /dev/cdrom /var/www/html/centos6
[[email protected] pub]# mount /dev/cdrom /media/cdrom
[[email protected] ~]#  cp /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/
[[email protected] ~]#  cp /media/cdrom/images/pxeboot/{vmlinuz,initrd.img}  /var/lib/tftpboot/
[[email protected] ~]# cp /media/cdrom/isolinux/{boot.msg,vesamenu.c32,splash.jpg}  /var/lib/tftpboot/
[[email protected] ~]# ls /var/www/html/
centos6 centos6.cfg

4.创建一个菜单文件

[[email protected] ~]# cd /var/lib/tftpboot/
[[email protected] ~]#  mkdir /var/lib/tftpboot/pxelinux.cfg
[[email protected] ~]# cp  /media/cdrom/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default
[[email protected] ~]# cat /var/lib/tftpboot/pxelinux.cfg/default
 default vesamenu.c32
#prompt 1
timeout 60
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.8!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux auto
  menu label ^Auto Install Centos 6.8
  menu default
  kernel vmlinuz
  append initrd=initrd.img ks=  #不用写init.repo 
label linux
  menu label ^Install Centos 6.8
  kernel vmlinuz
  append initrd=initrd.img method=http://192.168.11.1/centos6/yum/   
label rescue
  menu label ^Rescue installed system
  kernel vmlinuz
  append initrd=initrd.img rescue
label local
  menu label Boot f

5.测试:

新建一个虚拟机,并且和服务器端在同一网络。设置网卡启动。

个人经验:

注意PXE安装时在default文件中定义的区别,即在centos7中需要多定义inst.repo的地址

时间: 2024-10-19 23:00:21

利用PXE自动安装的相关文章

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

PXE工作原理  第一步:PXE Client向DHCP发送请求首先,将支持PXE的网络接口卡(NIC)的客户端的BIOS设置成为网络启动,通过PXE BootROM(自启动芯片)会以UDP(简单用户数据报协议)发送一个广播请求,向网络中的DHCP服务器索取IP地址等信息. 第二步:DHCP服务器提供信息DHCP服务器收到客户端的请求,验证是否来至合法的PXE Client的请求,验证通过它将给客户端一个"提供"响应,这个"提供"响应中包含了为客户端分配的IP地址.

pxe自动安装centos

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

运维工作中的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自动安装

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和要下载的文件

PXE自动安装Linux 系统

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

PXE自动安装Linux

PXE简介 许多情况下我们手动安装操作系统是不现实的,尤其是当数量较多的时候.这个时候就要借助其他的技术 了.PXE就是其中的一种.PXE全称是:Preboot Excution Environment 预启动执行环境是由Intel公司研发的基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统 PXE可以引导和安装Windows,linux等多种操作系统,这里只说Linux不说Windows.PXE的具体工作有些复杂,不过多介绍,有兴

PXE自动安装Linux系统

PXE简介 许多情况下我们手动安装操作系统是不现实的,尤其是当数量较多的时候.这个时候就要借助其他的技术 了.PXE就是其中的一种.PXE全称是:Preboot Excution Environment 预启动执行环境是由Intel公司研发的基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统 PXE可以引导和安装Windows,linux等多种操作系统,这里只说Linux不说Windows.PXE的具体工作有些复杂,不过多介绍,有兴