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. ab fails to connect to localhost

    The following command fails: $ ab -n 1 localhost:8000/ ... Benchmarking localhost (be patient)...apr ...

  2. javascript“命名空间”的费曼输出[原创]

    Javascript由于没有命名空间的概念,所以好多的框架或库就用了某些“命名空间”的技巧.在学习作为函数的命名空间时,我翻阅了好多的书本和blog,很多的概念和说明都是要么过于烦杂或过于简单.现在由 ...

  3. Spring_One

    Spring_01 Spring概述 Spring是分层的Java2E应用full-stack轻量级开源框架,,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Ori ...

  4. C++程序设计1(侯捷video 1-6)

    一.头文件的防御式声明(video2) #ifndef __COMPLEX__ #define __COMPLEX__ //内容 #endif 二.初步感受模板(video2) 定义的时候: //复数 ...

  5. outerHTML、innerHTML以及innerText三者的区别

  6. Thread中的start()方法和自己定义的run()方法有什么区别

    在讲这个问题之前引入一下多线程的小知识吧 /*/windows系统中的应用程序来做说明 ,例如:扫雷程序,游戏进行的同时,可以同时记录分数,计算时间等. 其实一个应用程序就是一个可执行文件,中包含了一 ...

  7. MyBatis从入门到精通(四):MyBatis XML方式的基本用法之增删改

    最近在读刘增辉老师所著的<MyBatis从入门到精通>一书,很有收获,于是将自己学习的过程以博客形式输出,如有错误,欢迎指正,如帮助到你,不胜荣幸! 1. insert用法 1.1 简单的 ...

  8. Win10自动更新关闭方法

    一.为什么很多人会选择禁用Win10自动更新? 1.win10自动更新定义: Win 10的自动更新功能,即 Windows Update.这项功能本意是为一些软件.漏洞等提供更新服务.一般来说,只要 ...

  9. c++复杂桶排序Java版

    c++复杂桶排序Java版 题目和我的前几个排序一样 这次是Java版的 代码 + 注释 package com.vdian.qatest.supertagbiz.test.niu; /** * Cr ...

  10. 006.SQLServer AlwaysOn可用性组高可用部署

    一 数据库镜像部署准备 1.1 数据库镜像支持 有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previ ...