linux初学者-pxe装机篇
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装机篇的更多相关文章
- linux初学者-squid代理篇
linux初学者-squid代理篇 Squid代理服务器是一种缓存服务器,一般分为正向代理和反向代理. 1.正向代理 客户端因为网络或者其他的问题,不能访问到一台Apache服务器,如果要访问到,则 ...
- linux初学者-系统启动故障篇
linux初学者-系统启动故障篇 在系统的操作中,有时会不小心误删或者操作失误使得系统启动不起来,下文将列举几种常见的系统启动失败的情况及解决的办法. 1.删除或者覆盖mbr的446个字节 mbr的4 ...
- linux初学者-数据库管理MariaDB篇
linux初学者-数据库管理MariaDB篇 MariaDB是一种数据库管理系统,是MySQL的一个分支,但是比MySQL更加优秀,可以说是MySQL的替代品.MariaDB使用的是SQL语句.下文将 ...
- linux初学者-网络桥接篇
linux初学者-网络桥接篇 在网络的使用中,有时需要搭建网络桥来实现网络桥接.例如在一台主机上制作一台虚拟机,虚拟机是没有物理网卡的,这时虚拟机数据的发送和接收就需要通过主机上的物理网卡,需要主机的 ...
- linux初学者-DDNS配置篇
linux初学者-DDNS配置篇 如果DNS服务器要记录多台主机的IP,且这些主机的IP都是通过DHCPD服务自动获取的,那么将会造成很大的困难,因为在DNS设置时无法得知主机具体的IP.如果DHCP ...
- linux初学者-DNS配置篇
linux初学者-DNS配置篇 DNS在之前的网络管理篇已经做过介绍,下文将叙述DNS在学习工作中的一些配置以及应用. 1.高速缓存DNS 一台主机通过DNS服务器询问域名解析IP是需要一定的时间的, ...
- linux初学者-磁盘加密篇
linux初学者-磁盘加密篇 因为保密需要,一般系统中会在文件和磁盘中进行加密,但是文件的加密比较容易破解,不安全.所以在特殊需要下,会对磁盘进行加密,磁盘加密后在磁盘损坏的同时,其中的数据也会损坏, ...
- linux初学者-磁盘配额篇
linux初学者-磁盘配额篇 在使用磁盘时,只要有权限,不管什么用户都可以在其中写入数据,但是如果是多人在一个磁盘中写入数据,就会出现争议,如果一个用户将磁盘空间用完,那么其他人无法再使用.如下图所示 ...
- linux初学者-swap分区篇
linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...
随机推荐
- 取得文件夹内容信息(使用IShellFolder接口)
翻译自MSDN 2005 -> Win32 和 COM 开发 -> User Interface -> Windows User Experience -> Windows S ...
- C++ 王者归来:对编程语言的需求总结为四个:效率,灵活,抽象,生产率(C++玩的是前三个,Java和C#玩的是后两个)
Why C++ ? 王者归来(转载) 因为又有人邀请我去Quora的C2C网站去回答问题去了,这回是 关于 @laiyonghao 的这篇有点争议的博文<2012 不宜进入的三个技术点>A ...
- Python连载8-datetime包函数介绍
一.datetime包(上接连载7内容) 1.函数:datetime (1)用法:输入一个日期,来返回一个datetime类 (2)格式:datetime.datetime(年,月,日,hour=, ...
- 14 CSS权重深入
<!-- 继承说明: (1)进行样式选择时,不指定标签的话,该选择器是继承来的. (2)继承的选择器的优先级为0,和标签选择器的优先级无可比性. --> <!DOCTYPE html ...
- Django框架之前端渲染-模板层
Django 模板层 Django 模板层 前后端数据传递 (1) 后端朝前端页面传递数据的方式: # 将当前所在的名称空间中的名字全部传递给前端页面 # 第一种 return render( ...
- (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
原生js实现放烟花效果,点击鼠标,然后随机向四周扩散,! 思路: 1.首先烟花是五颜六色的,所以我们先写一个随机颜色的函数: 2.创建一个制造烟花的构造函数,第一个参数为元素,第二参数为初始x轴位置, ...
- Mint-ui全局引入
1.Mint-ui在全局引入之后,在组件中使用其中的js函数,如toast() this.$toast('在全局引入之后可以直接在this.$toast中使用')
- 长春理工大学第十四届程序设计竞赛(重现赛)H
H .Arithmetic Sequence 题目链接:https://ac.nowcoder.com/acm/contest/912/H 题目 数竞选手小r最喜欢做的题型是数列大题,并且每一道都能得 ...
- Apicloud 接入海康摄像头
1准备工作 , 加载apicloud 海康视频模块. 引入 SDK 重新生成项目测试 再config.xml写入appid 话不多说直接上代码 video=api.require("haik ...
- 小白开学Asp.Net Core 《五》
小白开学Asp.Net Core<五> —— 使用.Net Core MVC Filter 一.简介 今天在项目(https:/ ...