PXE的网络装机是客户机从自己的网卡启动,向本网络中的DHCP服务器索取ip,并从本网络的TFTP服务器中索取启动文件进行装机。此装机需要kickstart、tftp、dhcp、syslinux等服务。以下将会介绍如何自动进行PXE装机。本文参数设置均以本机参数为准,不同的主机可能需要不同的参数。

1、kickstart

"yum install system-config-kickstart"下载kickstart软件,并且输入"system-config-kickstart",出现如下界面,此软件可以预回答装机过程中的密码,分区,内存大小等问题,读取此文件,使得装机可以自动完成。步骤图片均在文字下方。

在蓝条的选项内容中输入"Root Passwd",并在"Confirm Password"中重复输入root用户密码,在最下面的"Reboot system after installation"和"Perform installation in text mode"前打上勾。

在此蓝条右方的选项中,最上面选择"Perform new installation",下方的"Installation source"中选择"HTTP"并在"HTTP Server"中输入"172.25.254.2",在"HTTP Directory"中输入"/rhel7.2"。即iso镜像文件的http下挂载地址,其挂载方法在软件管理篇中已做过介绍。

在此蓝条右方的选项中,在最上方的"Install Type"选项框中选择"Install new boot loader"。

在此蓝条右方的选项中,点击最下方"add",按照下图依次添加分区"/boot"、"swap"、和"/"分区。

在此蓝条右方的选项中,点击"Add Network Device"在其中输入"eth0",点击"ok"添加。

此蓝条选项可以忽略。

在此蓝条右方的选项中,将"SElinux"下的"Active"改为"Disabled"。

此蓝条选项可以忽略。

此蓝条选项可以忽略。因为软件问题,无法选择预安装软件。

此蓝条选项可以忽略。

此蓝条选项可以忽略。也可以在右下方框中输入在装机完成后所需要执行的命令。

点击左上角"file"下的"save"保存文件,文件名为ks.cfg。本文中保存在当前桌面下。"vim /home/kiosk/Desktop/ks.cfg"对此文件进行编写,在最下方输入下图所示内容,此为上述中没有的软件预安装选择。完成后输入"svalidator ks.cfg"。并将文件移动至"/var/www/hmtl/"目录下,至此装机时的自动回答文件配置完成。

2、tftp syslinux

“yum install tftp-server"安装tftp服务。"yum install syslinux"安装syslinux。安装完成后输入"cp /var/www/html/rhel7.2/isolinux/* /var/lib/tftpboot/"将"isolinux"目录下的全部文件复制到"tftpboot"目录下。再输入"cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/",将"pxelinux.0"文件复制到"tftpboot"目录下。如下图所示。

"mkdir /var/lib/tftpboot/pxelinux.cfg"在"tftpboot"目录下建立一个"pxelinux.cfg"目录。输入"cp /var/lib/tftpboot/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default"将"isolinux.cfg"文件复制为目录"pxelinux.cfg"下的"default"文件。如图所示。

"systemctl start tftp.service"开启tftp服务,"systemctl enable tftp.service"设置开机启动,至此tftp的配置完成。

3、dhcp

"yum install dhcp"安装dhcpd服务。安装完成后输入"head -n 36 /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example >> /etc/dhcp/dhcpd.conf"将"dhcpd.conf.example"文件的前36行输入到"dhcp.conf"文件中。

"vim /etc/dhcp/dhcp.conf"对此文件作以下修改:

将第7行的"example.org"改为"example.com"。

将第8行的"ns1.example.org, ns2.example.org"改为"172.25.254.250"。

在第27,28行前输入"#"将这两行注释掉。

将第32行"subnet"后的"10.254.239.0"改为"172.25.254.0",将"netmask"后的"255.255.255.224"改为"255.255.255.0"。

将第33行"10.254.239.10 10.254.239.20"改为"172.25.254.80 172.25.254.90"。

将第34行"rtr-239-0-1.example.org, rtr-239-0-2.example.org"改为"172.25.254.250"。

在第35行删除"}"并输入"next-server 172.25.254.2;"。在第36行输入filename "pxelinux.0;"。并且最后加上"}"。

退出保存后输入"systemctl start dhcpd.service"启动dhcpd服务。至此dhcp的配置完成。

4、装机时的default文件配置

"/var/lib/tftpboot/pxelinux.cfg"目录下的"default"文件是在网卡启动时,读取信息的默认配置文件,如下图所示。

第2行的"timeout"可以设置等待时间,数值一般是秒数乘10,例如改为"30",即等待时间为3秒。

将第68行的"menu default"放至第63行。如图所示,并且将65行的"inst.stage2=hd:LABEL=RHEL-7.2\x20Server.x86_64"改为"repo=http://172.25.254.2/rhel7.2 ks=http://172.25.254.2/ks.cfg"输入":wq!"强制保存退出。

进行以上设置之后,将一台主机设为从网络中启动,则可以进行自动安装。一般是在虚拟机中进行实验。步骤如下所示。

输入"virt-manager"打开虚拟机管理设备。

选定虚拟机后点击"open",点击左上角的灯泡按钮,进入虚拟机配置,如图所示。

选定"Boot Options",在右方的对话框中选定"NIC",并用箭头将此选项移向第一行,点击右下角"Apply"。

完成后点击灯泡按钮旁的三角形启动按钮,即可实现自动安装。

linux初学者-pxe装机篇的更多相关文章

  1. linux初学者-squid代理篇

     linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...

  2. linux初学者-系统启动故障篇

    linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...

  3. linux初学者-数据库管理MariaDB篇

    linux初学者-数据库管理MariaDB篇 MariaDB是一种数据库管理系统,是MySQL的一个分支,但是比MySQL更加优秀,可以说是MySQL的替代品.MariaDB使用的是SQL语句.下文将 ...

  4. linux初学者-网络桥接篇

    linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的 ...

  5. linux初学者-DDNS配置篇

    linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...

  6. linux初学者-DNS配置篇

    linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的, ...

  7. linux初学者-磁盘加密篇

    linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...

  8. linux初学者-磁盘配额篇

    linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...

  9. linux初学者-swap分区篇

    linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...

随机推荐

  1. 取得文件夹内容信息(使用IShellFolder接口)

    翻译自MSDN 2005 -> Win32 和 COM 开发 -> User Interface -> Windows User Experience -> Windows S ...

  2. C++ 王者归来:对编程语言的需求总结为四个:效率,灵活,抽象,生产率(C++玩的是前三个,Java和C#玩的是后两个)

    Why C++ ? 王者归来(转载) 因为又有人邀请我去Quora的C2C网站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文<2012 不宜进入的三个技术点>A ...

  3. Python连载8-datetime包函数介绍

    一.datetime包(上接连载7内容) 1.函数:datetime (1)用法:输入一个日期,来返回一个datetime类​ (2)格式:datetime.datetime(年,月,日,hour=, ...

  4. 14 CSS权重深入

    <!-- 继承说明: (1)进行样式选择时,不指定标签的话,该选择器是继承来的. (2)继承的选择器的优先级为0,和标签选择器的优先级无可比性. --> <!DOCTYPE html ...

  5. Django框架之前端渲染-模板层

      Django 模板层   Django 模板层 前后端数据传递 (1) 后端朝前端页面传递数据的方式: # 将当前所在的名称空间中的名字全部传递给前端页面 # 第一种 return render( ...

  6. (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例

    原生js实现放烟花效果,点击鼠标,然后随机向四周扩散,! 思路: 1.首先烟花是五颜六色的,所以我们先写一个随机颜色的函数: 2.创建一个制造烟花的构造函数,第一个参数为元素,第二参数为初始x轴位置, ...

  7. Mint-ui全局引入

    1.Mint-ui在全局引入之后,在组件中使用其中的js函数,如toast() this.$toast('在全局引入之后可以直接在this.$toast中使用')

  8. 长春理工大学第十四届程序设计竞赛(重现赛)H

    H .Arithmetic Sequence 题目链接:https://ac.nowcoder.com/acm/contest/912/H 题目 数竞选手小r最喜欢做的题型是数列大题,并且每一道都能得 ...

  9. Apicloud 接入海康摄像头

    1准备工作 , 加载apicloud 海康视频模块. 引入 SDK 重新生成项目测试 再config.xml写入appid 话不多说直接上代码 video=api.require("haik ...

  10. 小白开学Asp.Net Core 《五》

    小白开学Asp.Net Core<五>                               —— 使用.Net Core MVC Filter 一.简介 今天在项目(https:/ ...