运维自动化之系统部署 PXE(二)
PXE介绍
Preboot Excution Environment 预启动执行环境
Intel公司研发
基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统
PXE可以引导和安装Windows,linux等多种操作系统
所谓的PXE是Preboot Execution Environment的缩写,字面上的意思是开机前的执行环境。
要达成PXE必须要有两个环节:
(1)一个是客户端的网卡必须要支持PXE用户端功能,并且开机时选择从网卡启动,这样系统才会以网卡进入PXE客户端的程序;
(2)一个是PXE服务器必须要提供至少含有DHCP以及TFTP的服务!
(3)还要加上NFS/FTP/HTTP(选择一样即可)等提供安装文件
PXE的工作原理

(1) Client向PXE Server上的DHCP发送IP地址请求消息,DHCP检测Client是否合法(主要是检测Client的网卡MAC地址),如果合 法 则返回Client的IP地址,同时将启动文件pxelinux.0的位置信息一并传送给Client
(2) Client向PXE Server上的TFTP发送获取pxelinux.0请求消息,TFTP接收到消息之后再向Client发送pxelinux.0大小信息,试探 Client是否满意,当TFTP收到Client发回的同意大小信息之后,正式向Client发送pxelinux.0
(3) Client执行接收到的pxelinux.0文件
(4) Client向TFTP Server发送针对本机的配置信息文件(在TFTP 服务的pxelinux.cfg目录下),TFTP将配置文件发回Client,继而 Client根据配置文件执行后续操作。
(5) Client向TFTP发送Linux内核请求信息,TFTP接收到消息之后将内核文件发送给Client
(6) Client向TFTP发送根文件请求信息,TFTP接收到消息之后返回Linux根文件系统
(7) Client启动Linux内核
(8) Client下载安装源文件,读取自动化安装脚本
实验:PXE实现自动化安装系统
安装前准备:关闭防火墙和SELINUX,DHCP服务器静态IP
安装软件包:
yum install httpd
yum install tftp-server
yum install dhcp
yum install syslinux
yum install system-config-kickstart
yum install system-config-kickstart
配置http服务
创建挂载光盘的文件夹
mkdir /var/www/html/centos/7
挂载
mount /dev/sr0 /var/www/html/centos/7
创建存放kickstart文件的目录,并将kickstart文件放入,应答文件的制作可以在【运维自动化之系统部署(一)博客中查看】
mkdir /var/www/html/ks
所有配置完成之后,启动服务
systemctl enable httpd
systemctl start httpd
配置DHCP服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf 模板文件覆盖源文件
将配置文件修改:
next-server 192.168.36.6 指的是tftp服务的地址
filename "pxelinux.0"; 客户端需要下载的引导文件的名称

配置TFTP服务
启动
systemctl start httpd
systemctl enable httpd
将需要提供的文件进行配置和修改
TFTP提供下载的文件都存放在/var/lib/tftpboot目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot 通过安装的syslinux包把里面的pxelinux.0引导文件复制到tftp目录下
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot 简单的菜单风格
cp /misc/cd/isolinux/vmlinuz /var/lib/tftpboot/ 将光盘下的内核复制到目录下
cp /misc/cd/isolinux/initrd.img /var/lib/tftpboot/ 系统启动文件
mkdir /var/lib/tftpboot/pxelinux.cfg/ 建立pxelinux.cfg文件夹
cp /misc/cd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default 将光盘下的带启动菜单的文件复制到/pxelinux.cfg下,并且改名为default
vim /var/lib/tftpboot/pxelinux.cfg/default 修改启动菜单文件,
menu.c32为菜单风格
kernel 内核的路径
可以把本地local 设为默认启动

以上配置完成之后,就可以启动了
选择网络引导 ,等待安装即可

运维自动化之系统部署 PXE(二)的更多相关文章
- 运维自动化之系统部署 cobbler(三)
cobbler 介绍 Cobbler: 快速网络安装linux操作系统的服务,支持众多的Linux发行版:Red Hat.Fedora.CentOS.Debian.Ubuntu和SuSE,也可以支持网 ...
- 自动化运维工具Ansible详细部署 (转载)
自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...
- 自动化运维工具——puppet详解(二)
一.class 类 1)什么是类? 类是puppet中命名的代码模块,常用于定义一组通用目标的资源,可在puppet全局调用: 类可以被继承,也可以包含子类: 具体定义的语法如下: class NAM ...
- 自动化运维工具SaltStack详细部署【转】
==========================================================================================一.基础介绍==== ...
- 自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客
自动化运维工具Ansible详细部署 - 人生理想在于坚持不懈 - 51CTO技术博客 自动化运维工具Ansible详细部署
- 运维自动化之Cobbler系统安装详解
原文链接 参考文档 参考文档SA们现在都知道运维自动化的重要性,尤其是对于在服务器数量按几百台.几千台增加的公司而言,单单是装系统,如果不通过自动化来完成,根本是不可想象的. 运维自动化安装方面,早期 ...
- 运维自动化之SALTSTACK简单入门
运维自动化之SaltStack简单入门 饱食终日而无所事事,是颓也,废也.但看昨日,费九牛二虎之力除一BUG便流连于新番之中,不知东方之既黑,实乃颓颓然而荒废矣.故今日来缀一文以忏昨日之悔. Salt ...
- 魅族CMDB运维自动化实践
一.简介 原创:梁鹏 本文是根据魅族系统架构师梁鹏10月20日在msup携手魅族.Flyme.百度云主办的第十三期魅族技术开放日< 魅族CMDB运维自动化实践>演讲中的分享内容整理而成. ...
- Ansible 运维自动化 ( 配置管理工具 )
背景 出差背景,要搞项目的自动化部署.因为只直接对接生产分发,机器又非常多,这样以往使用的bat只能作为应急方案了,还是得考虑使用专业化的工具来做这个事情! 当下有许多的运维自动化工具( 配置管理 ) ...
随机推荐
- 安装 Tensorflow
环境:Ubuntu 16.04 64bit 1. 安装Anaconda Anaconda 是 Python 的一个科学计算发行版,内置了数百个Python经常会使用的库,也包括了许多机器学习和 ...
- numpy有什么用【老鱼学numpy】
老鱼为了跟上时代潮流,也开始入门人工智能.机器学习了,瞬时觉得自己有点高大上了:). 从机器学习的实用系列出发,我们会以numpy => pandas => scikit-learn =& ...
- JSONP ---------跨域
什么是跨域 JavaScript出于安全方面的考虑,不允许跨域调用其他页面的对象.但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦.这里把涉及到跨域的一些问题简单地整理一下: 首 ...
- 2018-2019-1 20189201 《LInux内核原理与分析》第八周作业
只有在天足够黑的时候你才能看到星星. BY WAY GK 加油 一.书本第七章知识总结[可执行程序工作原理] 1. ELF目标文件格式 ELF全称Executable and Linkable For ...
- Kali Linux常用服务配置教程启动DHCP服务
Kali Linux常用服务配置教程启动DHCP服务 通过前面的介绍,DHCP服务就配置好了.接下来,用户就可以使用该服务器来获取IP地址了.下面将对前面配置的服务进行测试. 1.启动DHCP服务 如 ...
- Django表单字段汇总
Field.clean(value)[source] 虽然表单字段的Field类主要使用在Form类中,但也可以直接实例化它们来使用,以便更好地了解它们是如何工作的.每个Field的实例都有一个cle ...
- TestNG 中DataProvider 的用法
使用DataProvider提供数据有两种形式: 第一种:一种是在测试代码和测试数据放在同一个类中: 第二种:把所有的数据提供都单独写在一个类里面,当测试数据比较多时,这种方法利于维护. DataPr ...
- [LeetCode] Binary Tree Pruning 二叉树修剪
We are given the head node root of a binary tree, where additionally every node's value is either a ...
- Java课程寒假之《人月神话》有感之三
一.未雨绸缪 作者开始谈论实验室代码如何向开发出来的产品转变,化学工程师通过“实验性工厂”的中间步骤做测试来得到经验.而软件系统的构建人员却是按照时间进度将第一次开发的产品发布给顾客.对于我这只没有实 ...
- task CancellationTokenSource
使用CancellationTokenSource对象需要与Task对象进行配合使用,Task会对当前运行的状态进行控制(这个不用我们关心是如何控制的).而CancellationTokenSourc ...