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. 【canvas】blackboard 黑板

    本来想的挺复杂实际操作了一下15分钟完成了,挺简单的. 预览地址:http://dtdxrk.github.io/game/blackboard/index.html 分享一下思路: 1.创建画布 2 ...

  2. 再谈Delphi关机消息拦截 -- 之控制台程序 SetConsoleCtrlHandler(控制台使用回调函数拦截,比较有意思)

    这里补充一下第一篇文章中提到的拦截关机消息 Delphi消息拦截:http://blog.csdn.net/cwpoint/archive/2011/04/05/6302314.aspx 下面我再介绍 ...

  3. javaweb各种框架组合案例(二):maven+spring+springMVC+mybatis

    1.mybatis是比较新的半自动orm框架,效率也比较高,优点是sql语句的定制,管理与维护,包括优化,缺点是对开发人员的sql功底要求较高,如果比较复杂的查询,表与表之间的关系映射到对象与对象之间 ...

  4. Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]解决

    Laravel5.x运行迁移命令创建数据表:php artisan migrate报错. Illuminate\Database\QueryException  : SQLSTATE[42000]: ...

  5. 【Go】使用压缩文件优化io (一)

    原文连接:https://blog.thinkeridea.com/201906/go/compress_file_io_optimization1.html 最近遇到一个日志备份 io 过高的问题, ...

  6. Hive学习之路(二)—— Linux环境下Hive的安装部署

    一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...

  7. spring cloud 系列第6篇 —— zuul 服务网关 (F版本)

    源码Gitub地址:https://github.com/heibaiying/spring-samples-for-all 一.zuul简介 1.1 API 网关 api 网关是整个微服务系统的门面 ...

  8. c# 自己实现可迭代的容器

    在c#中我们经常使用到foreach语句来遍历容器,如数组,List,为什么使用foreach语句能够遍历一个这些容器呢,首先的一个前提是这些容器都实现了IEnumerable接口,通过IEnumer ...

  9. java中关于IO流的知识总结(重点介绍文件流的使用)

    今天做软件构造实验一的时候,用到了java文件流的使用,因为之前学的不是很踏实,于是决定今天好好总结一下, 也方便以后的回顾. 首先,要分清IO流中的一些基础划分: 按照数据流的方向不同可以分为:输入 ...

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

    J.Printout 题目:链接:https://ac.nowcoder.com/acm/contest/912/J 题目: 小r为了打校赛,他打算去打字社打印一份包含世界上所有算法的模板. 到了打字 ...