PXE网络装机

目录

 

网络装机

部署DHCP服务器

部署过程:装包,配置,起服务

PXE网络装机

网络装机的优势

PXE网络

PXE工作模式

PXE组件及过程

一.DHCP服务器

构建网络装机服务器

二.TFTP服务器,提供众多的引导文件

初步测试:

三.web服务,提供光盘的所有内容

四.生成应答文件,实现无人值守安装


网络装机

部署DHCP服务器

  • DHCP:

动态主机配置协议,由IETF组织制定,用来简化地址分配管理

  • 主要分配:

1.IP地址/子网掩码/广播地址

2.默认网关地址.DNS服务器地址

3.PXE引导装置

  • DHCP概述及原理:

DHCP地址分配的四次会话(广播,先到先得)

DISCOVER---->OFFER------>REQUEST-------->ACK

一个网络里只能有一个DHCP

  • DHCP默认端口:67

部署过程:装包,配置,起服务

1.安装软件包:

[root@svr7 ~]# yum  -y  install dhcp

2.修改配置文件:

[root@svr7 ~]# vim /etc/dhcp/dhcpd.conf
#
# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example    #配置文件模板
#   see dhcpd.conf(5) man page
#


:r  /usr/share/doc/dhcp*/dhcpd.conf.example       #在末行模式读入文件

     最后配置文件内所有保留的信息: 

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
subnet 192.168.4.0netmask 255.255.255.0 {       #作用域,分配的网段和子网掩码
  range 192.168.4.100 192.168.4.200;                     #地址池,分配IP地址的范围
  option domain-name-servers 192.168.4.7;  #域名的服务器名字(告诉客户端寻找该DNS)
  option routers 192.168.4.254;       #分配的网关
  default-lease-time 600;        #默认租期(客户端获取到IP地址后使用该IP的时间)
  max-lease-time 7200;           #最长租期(最长使用该IP的时间)
} 

租期:允许客户机租用IP地址的时间期限,单位为秒

作用域:分配给客户机的IP地址所在的网段

地址池: 用来动态分配IP地址的范围

3.起服务:

[root@svr7 ~]# systemctl restart dhcpd


PXE网络装机

网络装机的优势

  • 规模化:同时装配多台主机
  • 自动化:装系统.配置各种服务
  • 远程实现:不需要光盘.U盘等物理安装介质

PXE网络

  • 预启动执行环境,在操作系统之前运行
  • 可用于远程安装

PXE工作模式

  • PXE Client  集成在网卡的启动芯片中
  • 当计算机引导时,从网卡中把PXE Client调入内存执行,获取PXE server 配置,显示菜单,根据用户选择将远程引导程序下载到本机运行

PXE组件及过程

  • 需要的服务组件(服务端)

DHCP服务,分配IP地址,定位引导程序

TFTP服务.提供引导程序下载

HTTP服务(或FTP/NFS),提供网络yum源

  • 客户机应具备的条件

网卡芯片必须支持PXE协议

主板支持从网卡启动


一.DHCP服务器

构建网络装机服务器

1.构建dhcp服务,指定下一个服务器地址

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.example
subnet 192.168.4.0 netmask 255.255.255.0 {
  range 192.168.4.100 192.168.4.200;
  option domain-name-servers 192.168.4.7;
  option routers 192.168.4.254;
  default-lease-time 600;
  max-lease-time 7200;
  next-server  192.168.4.7;              #指定下一个服务器地址
  filename "pxelinux.0";                 #指定网卡引导文件
}

pxelinux.0:网卡引导文件(网络装机说明书),二进制文件

                安装一个软件即可获得,默认名称pxelinux.0

2.重起服务

[root@svr7 ~]# systemctl restart dhcpd


二.TFTP服务器,提供众多的引导文件

TFTP:简单的文件传输协议,默认端口69

默认的路径:/var/lib/tftpboot

  • 1.装包
[root@svr7 ~]# yum  -y  install tftp-server
  • 2.启动服务
[root@svr7 ~]# systemctl  restart tftp
  • 3.部署pxelinux.0文件
[root@svr7 ~]# yum  provides */pxelinux.0     #查看仓库中哪个软件包产生该文件

[root@svr7 ~]# yum  -y install syslinux

[root@svr7 ~]# rpm  -ql  syslinux | grep  pxelinux.0    #查询软件的安装清单

/usr/share/syslinux/gpxelinux.0
/usr/share/syslinux/pxelinux.0

[root@svr7 ~]# cp  /usr/share/syslinux/pxelinux.0  /var/lib/tftpboot/

[root@svr7 ~]# ls  /var/lib/tftpboot/
pxelinux.0
  • 4.部署菜单文件 

首先关闭该虚拟机,以图形方式添加光驱设备

       

 

 

[root@svr7 ~]# mount /dev/cdrom  /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 ~]# ls  /mnt
CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7
EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

 

或者利用光盘镜像文件直接挂载

[root@svr7 ~]# mount /root/CentOS7-1804.iso  /opt/
mount: /dev/loop0 写保护,将以只读方式挂载
[root@svr7 ~]# ls /opt/

 

[root@svr7 ~]# mkdir  /var/lib/tftpboot/pxelinux.cfg     #创建专门存放菜单文件的目录
[root@svr7 ~]# cp /mnt/isolinux/isolinux.cfg  /var/lib/tftpboot/pxelinux.cfg/default                    #将菜单文件的模板文件复制到存放菜单文件的目录中      (一定要在挂载的情况下复制)

[root@svr7 ~]# ls /var/lib/tftpboot/pxelinux.cfg/
default                                                   #查看是否复制成功
  
  • 5.图形的模块(vesamenu.c32)与背景图片(splash.png)
[root@svr7 ~]# cp  /mnt/isolinux/vesamenu.c32   /mnt/isolinux/splash.png  /var/lib/tftpboot/         #将图形模块和背景图片复制到菜单文件的目录中
[root@svr7 ~]# ls  /var/lib/tftpboot/      #查看该目录
pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32
  • 6.部署启动内核(vmlinuz)与驱动程序(initrd.img)
[root@svr7 ~]# cp  /mnt/isolinux/vmlinuz   /mnt/isolinux/initrd.img    /var/lib/tftpboot/            #拷贝启动内核以及驱动程序
[root@svr7 ~]# ls /var/lib/tftpboot/         #查看该目录
initrd.img  pxelinux.0  pxelinux.cfg  splash.png  vesamenu.c32  vmlinuz
  #集齐这六样就可以召唤神龙啦!!!!!!!!!!!!!!!!
  • 7.修改菜单文件
[root@svr7 ~]# vim  /var/lib/tftpboot/pxelinux.cfg/default 
 1 default vesamenu.c32    #默认加载图形模块
 2 timeout 600             #默认读秒时间(秒)

 10 menu background splash.png   #背景图片
 11 menu title CentOS 7          #标题(可以自行修改)

 64行以后dd掉,  64行变为 append initrd=initrd.img 

    61 label linux
    62   menu label ^Install CentOS 7       #菜单的显示
添加:63   menu default                       #读秒之后默认的选择
    64   kernel vmlinuz                     #加载内核
    65   append initrd=initrd.img           #加载驱动程序

初步测试:

  • 1.必备的服务进行重起
[root@svr7 ~]# systemctl restart dhcpd
[root@svr7 ~]# systemctl restart tftp
  • 2.新建一台虚拟机 

以图形化方式装机,选择网络引导(PXE)

前进,内存选择2048M

前进,网络选择和提供PXE装机服务器的网络一样,选择private1

前进,出现以下界面:



三.web服务,提供光盘的所有内容

  • 1.安装httpd软件
[root@svr7 ~]# yum  -y  install httpd
  • 2.挂载方式
[root@svr7 ~]# mkdir  /var/www/html/centos
[root@svr7 ~]# ls  /var/www/html/centos
[root@svr7 ~]# mount /dev/cdrom  /var/www/html/centos
mount: /dev/sr0 写保护,将以只读方式挂载
[root@svr7 ~]# ls /var/www/html/centos
CentOS_BuildTag  EULA  images    LiveOS    repodata   RPM-GPG-KEY-CentOS-Testing-7
EFI     GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL
  • 3.重起httpd服务,测试访问
[root@svr7 ~]# systemctl restart  httpd
[root@svr7 ~]# firefox  192.168.4.7/centos


四.生成应答文件,实现无人值守安装

  • 1.图形工具system-config-kickstart
[root@svr7 ~]# yum -y  install system-config-kickstart
  • 2.以英文方式,运行图形的工具
[root@svr7 ~]# LANG=en   system-config-kickstart
 [root@svr7 ~]# vim /etc/yum.repos.d/local.repo 
 [development]                        #把yum仓库的名称改为development
 name=CentOS-$releasever - Base
 baseurl="ftp://192.168.4.254/centos-1804"
 enabled=1
 gpgcheck=0

再次执行

[root@svr7 ~]# LANG=en   system-config-kickstart

点击软件包选择(Package Selection)

 


 

  • 3.查看应答文件
[root@svr7 ~]# ls  ~/ks.cfg 
/root/ks.cfg                                              #查看图形软件的所有设置保存是否成功
  • 4.利用web传输应答文件
[root@svr7 ~]# cp  /root/ks.cfg   /var/www/html
[root@svr7 ~]# ls  /var/www/html
centos  ks.cfg
  • 5.修改菜单文件,指定获取应答文件的路径及名称
 61 label linux
 62   menu label ^Install CentOS 7
 63 menu default
 64   kernel vmlinuz
 65   append initrd=initrd.img ks=http://192.168.4.7/ks.cfg    #让客户端找到192.168.4.7的装机文件

 



思路:

1.dhcp服务器------>IP地址    next-server   filename   pxelinux.0

2.tftp服务器----->pxelinux.0

3.pxelinux.0--------->菜单文件

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

4.default--------> 图形模块.驱动.内核.ks应答文件

5.ks应答文件------>时区  密码   软件包...

                     --url="httpd://192.168.4.7/centos"

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值