PXE实践

本篇只以记录个人部署pxe过程中所遇问题,至于原理,只做部分简单说明。

pxe部署必要软件:

syslinux (用于提供引导中所必备文件)

tftp(用于提供存放vmlinuz,initrd,syslinux.0等引导类文件)

dhcp(用于自动获取IP包括指明去哪个主机获取syslinux.0文件)

最后还需要一个web或者ftp服务,已提供系统安装中所使用的yum仓库。

另外还需要网卡中内嵌了支持pxe的ROM芯片,现在这一条基本不用担心,都支持。

现在可以找一台虚拟机安装上所需软件。

blob.png

安装上述软件,这里我准备使用的是web服务。并且一台主机直接提供所有服务。

然后我们先配置dhcp

blob.png

先将DHCP的实例配置文件覆盖配置文件,安装过后配置文件本身是空的!

然后我们在做下修改

blob.png

这里我们只需要自己添加这样一段就够了,毕竟我们不是真的需要dhcp服务,只要分配出去的ip能和我们提供tftp,web服务通信即可,其他的我们都不用管。

接着我们进入tftp的根目录,这里我发现上面安装的时候装错了,装成tftp的客户端了,我们需要的是tftp-server,重新安装一个tftp-server。

blob.png

进入此目录接着复制需要的文件至此。

blob.png

接着创建一个目录,以提供pxelinux启动时读取选项界面。

然后我们进入此目录创建一个为default的文件,pxelinux.0是读取这个文件的,所以必须要以这个名字命名!!!!

blob.png

提供类似此种配置,默认读取menu.c32提供的界面,选取时间为10秒,超时时长为30秒 标题为 Centos 7 PXE Menu  标签为linux, 选项是提供的字符串 testinstall Centos 7 x86_64  读取kernel的名称  yum安装仓库为web服务的centos7目录下,ks文件位置在web的根目录下叫centos7.cfg 。(这里虚拟机暂时是桥接的,过会我会配置为单主机,且地址配置为172.16.10.9)

接着我们将创建centos7目录 并将光盘挂载至目录

blob.png

然后我们需要准备一个ks配置文件,最方便的方式是用system-config-kickstart生成一个,但需要安装图形界面,这里我没准备,就准备直接更改一下家目录的annaconda文件。

先将文件拷贝至html目录下并改名为centos7.cfg

blob.png

在接着就可以改改配置文件了

blob.png

这里我主要增加了横线标出那一行,因为之前是通过光盘安装,这里我们要通过web服务安装,之前通过cdrom安装已经被我注释掉了,接着我们就可以启动服务,并且调整虚拟机了!

blob.png

dhcpd报错了 先看看报错什么吧

blob.png

好吧,我们应该要先调整虚拟机在启动dhcp,因为定义的172网段和真实的网段不同。

我们先测试下httpd和tftp

blob.png

blob.png

这里可以看到我们请求yum仓库是成功了,但是ks文件缺失败了,提示没权限,检查一下文件权限。

blob.png

发现确实权限问题,修改,在测试

blob.png

可以正常请求到文件内容了,接着测试下tftp

blob.png

我们正常登陆tftp服务并且下载了一个文件,至此,我们可以去修改虚拟机,启动dhcp了

blob.png

这里我已经指定了静态地址,并且把虚拟机已经调整。可以看到dhcp服务也正常启动了!接着我们就可以找一台主机启动测试了。

blob.png

blob.png

这里我找了个主机,并且把两台主机调整至同一个网段,并且把虚拟机带的dhcp服务已经关闭,可以开机了!!

blob.png

blob.png

正确的获得了地址,并且我们刚才自己添加的选项也已经再此!tab键也可以像grub一样看到具体的配置 至此,后面的就不演示了,ks文件根据自己实际需要调整。

原创文章,作者:N24_Ghost,如若转载,请注明出处:http://www.178linux.com/67551

(0)
N24_GhostN24_Ghost
上一篇 2017-02-04 22:57
下一篇 2017-02-05 15:12

相关推荐

  • shell 编程(一)

    shell脚本编程:  编程语言的分类:根据运行方式    编程运行:源代码->编译器(编译)--程序文件    解释运行:源代码-->运行启动时解释,由解释器边解释运行; 根据其编程过程中功能的实现是调用库还是调用外部的程序文件:   shell脚本编程:      利用系统上的命令编程组件进行编程:   完整的编程:     利用库或编程组件进行编程; …

    Linux干货 2016-12-23
  • linux文件权限练习(0803)

    1、当用户xiaoming对/testdir 目录无执行权限时,意味着无法做哪些操作?     不能cd到该目录,不能ls -l查看目录下文件的详细信息      2、当用户xiaoqiang对/testdir 目录无读权限时,意味着无法做哪些操作?…

    Linux干货 2016-08-04
  • linux中bash的基础特性和基本文件管理命令

    linux的文件管理类命令 linux系统下的涉及到目录管理命令,主要有 mkdir,rmdir linux系统下也会用到许多文件查看类命令,包括cat,tac,head,tail,more,less等 linux系统下涉及的文件管理类命令主要有cp,mv,rm 本节我们主要说明文件管理类命令的使用方法。 cp命令的使用方法 首先,cp这个命令的作用是可以复…

    Linux干货 2016-09-26
  • Linux Shell(脚本)编程入门

    为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是如何工作的: 建…

    Linux干货 2017-08-05
  • Lamp应用

    练习:分别使用CentOS 7和CentOS 6实现以下任务 (1) 配置三个基于名称的虚拟主机; (a) discuzX (b) wordpress (c) https: phpMyAdmin (2) 对discuzX的主页做压测; 分别给出并发10, 100, 200, 500等每秒的响应数 建立私有CA (umask 077;openssl genrs…

    Linux干货 2016-10-12
  • Python入门之闭包,匿名函数,过滤器,映射器,折叠

    在学习python函数的过程中,函数的高阶应用包括闭包lambda函数,过滤器等都让我头痛不已.接下来我把课堂中听到的笔记进行整理,再写一遍,希望在提醒自己的同时也能帮助到别人. 首先,我们来看一下什么是闭包,闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见…

    Linux干货 2015-12-19

评论列表(1条)

  • luoweiro
    luoweiro 2017-02-22 22:27

    其实对于无人坚守自动安装这部分主要是原理,部署和配置其实不是最大的问题,里面涉及到很多步奏,这部分也是面试官经常问道的。