PXE远程自动安装操作系统
一、PXE的工作原理
PXE:基于Client/Server的网络模式,支持远程主机通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统;PXE可以引导和安装Windows,linux等多种操作系统。
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远程安装操作系统,网卡必须支持PXE(即网卡中包含tftp的客户端)
二、PXE实现远程安装Linux操作系统
1、实验环境:
1)centos6或7
2)准备一张或多张系统盘(centos)
2、基础组件的安装和配置
1)需要安装的rpm包
- yum install -y tftp-server syslinux dhcp httpd
2)配置tftp—server
1、配置光盘源
- vim /etc/yum.repos.d/localrepo.repo
- [localrepo]
- name=localrepo
- baseurl=file:///mnt
- enabled=1
- gpgcheck=0
2、挂载光盘
- mount /dev/sr0 /mnt
3、复制以下文件到指定目录
- mkdir /var/lib/tftpboot/pxelinux.cfg/
- cp /usr/share/syslinux/{pxelinux.0,menu.c32} /var/lib/tftpboot/ #启动文件和启动菜单文件
- cp /mnt/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/ #内核和rootfs
- cp /mnt/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default #菜单配置文件
4、修改菜单文件(以下为示例,实际情况自行修改)
- default menu.c32 #这里要改成menu.c32,因为我们复制的是menu.c32文件
- timeout 600
- display boot.msg
- menu separator # insert an empty line
- label linux
- menu label ^Install CentOS 7
- kernel vmlinuz
- append initrd=initrd.img ks=http://192.168.13.1/ksdir/ks7-mini.cfg
- menu separator # insert an empty line
- label local
- menu label Boot from ^local drive
- menu default
- localboot 0xffff
5、当前目录的目录结构
- .
- ├── initrd.img
- ├── menu.c32
- ├── pxelinux.0
- ├── pxelinux.cfg
- │ └── default
- └── vmlinuz
3)配置dhcp
- vim /etc/dhcp/dhcpd.conf
- default-lease-time 7200; #默认租期时间
- max-lease-time 7200; #最大租期时间
- log-facility local7; #记录到系统日志的级别
- subnet 192.168.30.0 netmask 255.255.255.0 {
- range 192.168.30.1 192.168.30.50;
- filename "pxelinux.0"; #指定系统启动文件
- next-server 192.168.30.200; #指定tftp-server的ip地址
- }
4)配置ks应答文件
配置ks应答文件可以手动修改/root/anaconda-ks.cfg 文件,其中的选项,可以参照红帽官方安装手册,也可以通过kickstart快速配置(但是需要图形化,配置简单),这里我们使用第二种方式来配置,一下是配置步骤
第一步:安装kickstart
- yum install system-config-kickstart
注意:kickstart依赖图形,所以在安装kickstart的时候会安装非常多的依赖包,不要在生产的服务器上安装,我建议在自己的虚拟机上安装,并使用终端的x11来启动图形,生成完我们需要的应答文件之后将应答文件拷贝到指定机器的/var/www/html/ksdir/下面。
第二步:使用X11转发来实现在当前windows系统打开kickstart
在我们的虚拟机服务器端安装xorg-x11-xauth包
- yum install -y xorg-x11-xauth
打开虚拟机服务器端ssh中的”X11Forwarding”选项
- vim /etc/ssh/sshd.conf
- X11Forwarding yes
在我们的windows上安装xmanager

开启

输入虚拟机服务器端的信息,命令填写”system-config-kickstart”,如下图

点击运行,使用kickstart来配置应答文件。如下图,配置需要的应答选项
、
将生成的文件拷贝到/var/www/html/ksdir/ks7-mini.cfg
第三部:挂载光盘镜像到”/var/www/html/c7″,并启动服务
- mount /dev/sr0 /var/www/html/c7
- systemctl restart httpd
PXE远程自动安装操作系统的更多相关文章
- redhat 6.4下PXE+Kickstart无人值守安装操作系统
一 前言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装.常规的办法有什么?1.光盘安装系统:每个服务器DVD内置光 ...
- [转]CentOS 6.4下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS 6.6下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- 【转载】CentOS 6.4下PXE+Kickstart无人值守安装操作系统
[转载]CentOS 6.4下PXE+Kickstart无人值守安装操作系统 转自:CentOS 6.4下PXE+Kickstart无人值守安装操作系统 - David_Tang - 博客园 http ...
- Centos下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
- CentOS 7下PXE+Kickstart无人值守安装操作系统
1.简介 1.1. 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支 ...
- CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3
CentOS 6.5下PXE+Kickstart无人值守安装操作系统centos7.3 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行 ...
- 【复杂】CentOS 6.4下PXE+Kickstart无人值守安装操作系统
一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...
随机推荐
- iterm 2快捷键
快捷键 作用说明 command + f 搜索&查找,如果输入搜索内容后,按下 tab 键,就会 iTerm 自动帮选中搜索关键词,并且自动的帮我们复制到了剪贴板中.如果输入的是 shift+ ...
- ZOJ Problem Set - 1007
1.参考这个吧,一道数学公式题,还没看懂...好像需要把公式变形出来,先略过. http://dengbaoleng.iteye.com/blog/1504940
- sql中级语句
创建联结 select n_title,n_content,t_name,t_memo from nrc_news,nrc_type where nrc_news.t_id=nrc_type.t_id ...
- new与malloc有什么区别
转自http://www.cnblogs.com/QG-whz/p/5140930.html 前言 几个星期前去面试C++研发的实习岗位,面试官问了个问题: new与malloc有什么区别? 这是个老 ...
- 20191204-使用nginx解决ajax测试调用接口跨域问题
问题描述 之前要测试一个http的接口,在postman中测试成功,但使用ajax调用却跨域.于是通过使用ngin反向代理的方式来解决ajax调用跨域问题 测试页面的内容 <html> & ...
- jdk1.8 -- 方法推导 静态方法、实例方法、构造方法推导
一.静态方法的推导 public class MainTest { public static void main(String[] args) { // 正常情况下我们需要通过写一个consumer ...
- SQL用法三(游标和Fetch)
/一般情况下,我们用SELECT这些查询语句时,都是针对的一行记录而言,如果要在查询分析器中对多行记录(即记录集)进行读取操作时,则需要使用到游标或WHILE等循环/以下内容摘自http://www. ...
- web应用安全
一.三种坏人与servlet安全 网络攻击者 对应的servlet安全规范 假冒者 认证 非法升级者 授权 窃听者 机密性 数据完整性 认证可以防止“假冒者”攻击,授权可以防止“非法升级者”攻击, ...
- curl post请求封装
/* POST /servlet/ICBCCMPAPIReqServlet?userID=jyi.y.1001&PackageID=201807311347539185&SendTim ...
- Laravel-admin 消息提醒、播放音频、点击跳转
jquery-toastr 消息提醒.播放音频.点击跳转 应用情景,有新的订单生成,后台进行消息提醒并播放音频(这里用到轮询简单实现):下面附代码 1.找到laravel-admin 中的 index ...