首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PXE无人值守安装Linux

PXE无人值守安装Linux

作者头像
行 者
发布2018-03-21 11:29:16
3K0
发布2018-03-21 11:29:16
举报
文章被收录于专栏:运维技术迷运维技术迷

一、网络(PXE)装机概述

1.传统装机的局限性 1.1需要用到固定的光驱、U盘等物理介质 1.2如果批量安装多台计算机,都用到物理介质,显然不太现实。

2.PXE装机的优点 2.1规模化:可以同时安装多台计算机,实现批量安装。 2.2自动化:完全无需人为操作,实现无人值守安装(不需要点击下一步下一步之类的交互式操作) 2.3远程实现:不再需要固定的物理介质

《PXE无人值守安装Linux》
《PXE无人值守安装Linux》

3.PXE概述

3.1什么是PXE网络

PXE(Pre-boot eXecution Environment):预启动执行环境 –在操作系统之前运行 –可用于远程安装,实现无盘工作站

3.2PXE工作模式

PXE client 集成在网卡的ROM里面 –当计算机引导时,BIOS吧PXE client调入内存中执行获取PXE server的配置、显示菜单,根据用户选–择将远程操作系统下载到本机运行。

3.3 PXE组件及过程分析

3.3.1

PXE需要那些服务? –DHCP服务:给客户端分配IP地址,定位引导程序 –DNS服务:为客户端分配主机名(可选) –TFTP服务:提供引导程序下载(因为网卡PXE只提供了TFTP客户端) –FTP服务(或者HTTP/NFS):提供安装系统所需要的软件包(yum源)

3.3.2

客户端需要具备的条件(^-^下面两点貌似有点废话了) –网卡ROM必须支持PXE协议(目前市面上的网卡基本都支持PXE) –主板需要支持网络启动

4.PXE工作流程

虚线里面的服务器可以是一台也可以分开做

《PXE无人值守安装Linux》
《PXE无人值守安装Linux》

二、配置PXE服务器

1.配置思路

–安装所需服务(DHCP/TFTP/FTP) –拷贝引导程序到FTP共享目录下 –拷贝启动文件到FTP共享目录下 –复制RHEL6.5光盘下的所有文件到FTP的pub目录下

2.配置并启用服务

2.1 安装配置DHCP服务

2.1.1

安装服务(记得设置开机自动启动

[root@svr5 桌面]# yum -y install dhcp service dhcpd start chkconfig --levle 35 dhcpd

123

[root@svr5 桌面]# yum -y install dhcpservice dhcpd start  chkconfig --levle 35 dhcpd

2.1.2

配置DHCP服务,使客户端能够获取到和PXE服务同一网段的IP地址

[root@svr5 dhcp]# vim dhcpd.conf ...... //添加以下两行 next-server 192.168.4.5; //TFTP服务器IP地址 filename "pxelinux.0"; //网卡引导文件名 [root@svr5 dhcp]# /etc/init.d/dhcpd restart

1234567

[root@svr5 dhcp]# vim dhcpd.conf   ......    //添加以下两行   next-server 192.168.4.5;   //TFTP服务器IP地址  filename "pxelinux.0"; //网卡引导文件名 [root@svr5 dhcp]# /etc/init.d/dhcpd restart

2.2 安装配置TFTP服务

2.2.1

TFTP概述 tftp是基于xinetd运行的,所以没有xinetd的话需要安装xinetd) 监听端口:UDP 69 TFTP根目录:/var/lib/tftpboot/

[root@svr5 /]# grep tftpboot /etc/xinetd.d/tftp server_args = -s /var/lib/tftpboot

12

[root@svr5 /]# grep tftpboot /etc/xinetd.d/tftp server_args = -s /var/lib/tftpboot

2.2.2

安装TFTP

[root@svr5 /]# yum -y install tftp-server [root@svr5 /]# /etc/init.d/xinetd restart [root@svr5 /]# chkconfig --level 35 xinetd on

123

[root@svr5 /]# yum -y install tftp-server[root@svr5 /]# /etc/init.d/xinetd restart[root@svr5 /]# chkconfig --level 35 xinetd on

2.2.3

修改TFTP配置文件

[root@svr5 /]# vim /etc/xinetd.d/tftp disable = no //修改为no(yes为禁用tftp服务)

12

[root@svr5 /]# vim /etc/xinetd.d/tftp disable                 = no  //修改为no(yes为禁用tftp服务)

2.3安装ftp

2.3.1

安装FTP

[root@svr5 /]# yum -y install vsftpd [root@svr5 /]# /etc/init.d/vsftpd restart [root@svr5 /]# chkconfig --level 35 vsftpd on

123

[root@svr5 /]# yum -y install vsftpd[root@svr5 /]# /etc/init.d/vsftpd restart[root@svr5 /]# chkconfig --level 35 vsftpd on

注意:ftp使用匿名访问就可以了,所以这里就不许要配置其他了.

2.3.2

拷贝光盘文件到ftp的共享目录,为这里使用的是ftp的默认共享目录(/var/ftp/pub)

[root@svr5 /]# cp -r /misc/cd/* /var/ftp/pub/

1

[root@svr5 /]# cp -r /misc/cd/* /var/ftp/pub/

4.部署网卡启动程序 4.1 syslinux工具 启动程序可以使用syslinux工具生成,也可从光盘中提取

[root@svr5 /]# yum -y install syslinux [root@svr5 /]# cd /usr/share/syslinux/ [root@svr5 syslinux]# cp pxelinux.0 /var/lib/tftpboot/

123

[root@svr5 /]# yum -y install syslinux[root@svr5 /]# cd /usr/share/syslinux/[root@svr5 syslinux]# cp pxelinux.0 /var/lib/tftpboot/

4.2 部署安装内核和初始化镜像文件 从系统光盘中提取安装内核和初始化镜像文件

[root@svr5 isolinux]# cd /misc/cd/isolinux/ [root@svr5 isolinux]# cp * /var/lib/tftpboot/ [root@svr5 isolinux]# ll /var/lib/tftpboot/

123

[root@svr5 isolinux]# cd /misc/cd/isolinux/[root@svr5 isolinux]# cp * /var/lib/tftpboot/[root@svr5 isolinux]# ll /var/lib/tftpboot/

4.3 测试TFTP服务能否下载到pxelinux.0文件

[root@svr5 桌面]# yum -y install tftp [root@svr5 桌面]# tftp 192.168.4.5 -c get pxelinux.0 [root@svr5 桌面]# ls -lh pxelinux.0 -rw-r--r-- 1 root root 27K 5月 7 22:27 pxelinux.0

1234

[root@svr5 桌面]# yum -y install tftp[root@svr5 桌面]# tftp 192.168.4.5 -c get pxelinux.0[root@svr5 桌面]# ls -lh pxelinux.0 -rw-r--r-- 1 root root 27K 5月   7 22:27 pxelinux.0

5.为PXE配置启动菜单

5.1 创建pxe启动配置 先创建pxelinux.cfg文件夹

[root@svr5 桌面]# cd /var/lib/tftpboot/ [root@svr5 tftpboot]# mkdir pxelinux.cfg [root@svr5 tftpboot]# cp /misc/cd/isolinux/isolinux.cfg ./pxelinux.cfg/default

123

[root@svr5 桌面]# cd /var/lib/tftpboot/[root@svr5 tftpboot]# mkdir pxelinux.cfg[root@svr5 tftpboot]# cp /misc/cd/isolinux/isolinux.cfg ./pxelinux.cfg/default

5.2 修改pxe启动配置 通过 /pxelinux.cfg/default文件进入默认引导标签

default linux //默认从那个标签引导系统 prompt 1 //是否等到用户选择 timeout 600 //进入系统的等待超时时间(十分之一秒) label linux //定义名为linux的标签 kernel vmlinuz //下载指定内核并运行 append initrd=initrd.img //下载指定初始文件并运行

123456

default linux  //默认从那个标签引导系统prompt 1 //是否等到用户选择timeout 600 //进入系统的等待超时时间(十分之一秒)label linux   //定义名为linux的标签 kernel vmlinuz    //下载指定内核并运行 append initrd=initrd.img   //下载指定初始文件并运行

6.pxe引导配置

6.1 启用tftp服务器,准备引导文件 网卡启动程序:pxelinux.0 内核及初始文件:vmlinuz initrd.img 6.2 建立pxe启动配置 6.2.1在TFTP目录下创建pxelinux.cfg配置目录,

[root@svr5 tftpboot]# mkdir pxelinux.cfg

1

[root@svr5 tftpboot]# mkdir pxelinux.cfg

6.2.2 建立默认配置default

[root@svr5 tftpboot]# cp /misc/cd/isolinux/isolinux.cfg ./pxelinux.cfg/default

1

[root@svr5 tftpboot]# cp /misc/cd/isolinux/isolinux.cfg ./pxelinux.cfg/default

到这里为们基本上完成一大半的操作了,如果配置没有出错的话应该可以实现半自动化安装了.

《PXE无人值守安装Linux》
《PXE无人值守安装Linux》

soga,其实想要实现全自动无人值守的话,只需要给pxe配置一个配置文件,让他知道安装的时候的一些选项该如何选择,比如使用什么键盘、语言、时区、硬盘分区等等,也就是你手动安装操作系统的时候点的那个下一步的选择。这里我们直接写到一个文件里面交给pxe客户端来读取就可以实现全自动无人值守安装了.

7.kickstart(自动应答文件) 7.1 生成kickstart文件的方法 –手动写入 –根据/root/anaconda-ks.cfg修改 –使用system-config-kickstart工具生成

7.2 安装kickstart工具

[root@svr5 /]# yum -y install kickstart

1

[root@svr5 /]# yum -y install kickstart

7.3 使用kickstart工具生成自动应答文件

[root@svr5 /]# system-config-kickstart

1

[root@svr5 /]# system-config-kickstart

《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》

选择”文件” 菜单 —> 保存到 /var/ftp/ks.cfg

《PXE无人值守安装Linux》
《PXE无人值守安装Linux》

7.4 修改PXE启动菜单 生成应答文件后需要做最后一步,在/var/lib/tftpboot/pxelinux.cfg/default文件中引用该应答文件.

添加一行ks=ftp://192.168.4.5/ks.cfg

append initrd=initrd.img ks=ftp://192.168.4.5/ks.cfg

1

append initrd=initrd.img ks=ftp://192.168.4.5/ks.cfg

三、测试PXE客户端是否正常安装

《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》
《PXE无人值守安装Linux》

可以看到我在自动应答文件里面的配置都生效了(安装完成自动重启系统;新建一个用户stone;…..),至此,所有配置完成.终极目标完美实现.

《PXE无人值守安装Linux》
《PXE无人值守安装Linux》

『PS:写了差不多3个多小时,一边写一边用虚拟机实验,真心累!如果以上内容出现错误,请各位留言告知.非常感谢!』

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、网络(PXE)装机概述
    • 3.3.1
      • 3.3.2
      • 二、配置PXE服务器
        • 2.1.1
          • 2.1.2
            • 2.2.1
              • 2.2.2
                • 2.2.3
                  • 2.3.1
                    • 2.3.2
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档