PXE自动装机
PXE自动装机
一、搭建PXE远程安装服务器
PXE自动装机需要桌面模式
假如不是桌面模式安装的PXE需要安装桌面模式软件包
yum groupinstall "Desktop"
1、准备工作,搭建
(1)先装一个DHCP
(2)装FTP服务器
(3) yum安装syslinux
(4)yum 安装 vsftpd
准备CentOS6安装源
(1)挂载光盘盘
(2)准备CentOS6的安装源,
使用FTP服务,将安装源放置在/var/ftp/centos6/目录下
(3)创建目录
mkdir -p /var/ftp/centos6/
(4)复制光盘到/var/ftp/centos6/
cp -rp /media/cdrom/* /var/ftp/centos6/
(5)安装tftp-server(TFTP服务)
yum -y install tftp-server
(6)打开tftp配置文件
vim /etc/xinetd.d/tftp 修改下

(7)开启ftp服务
/etc/init.d/xinetd start
(8)加入开机启动
chkconfig tftp on
(9)准备内核,引导分发文件
cd /var/ftp/centos6/isolinux
cp vmlinuz initrd.img /var/lib/tftpboot/
yum -y install syslinux
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /var/ftp/centos6/isolinux/isolinux.cfg /var/lib/tftpboot/

这四个文件是tftp需要发给下面客户端的引导驱动的文件,和内核文件
(10)为了安全设置644权限给isolinux.cfg
chmod 644 /var/lib/tftpboot/isolinux.cfg
2、(11)修改内核启动文件
vim /var/lib/tftpboot/isolinux.cfg
default linux --->主机名
prompt 0 --->手动添加不进行交互
#timeout --->超时时间注释掉就可以
label vesa --->修改为label text
第二个字段append initrd --->修改成append text initrd
第三个字段append initrd --->修改成append rescue initrd


(12)去ftp下创建目录
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
mv isolinux.cfg pxelinux.cfg/default

配置文件详解
initrd.img --->初始化镜像文件
pxelinux.0 --->PXE引导程序
vmlinuz --->Linux内核
(13)yum安装dhcp
yum -y install dhcp
cp /usr/share/doc/dhcp*/dhcpd.conf.sample /etc/dhcp
cd /etc/dhcp/
cat dhcpd.conf.sample > dhcpd.conf
(14)修改dhcp 配置文件
vim /etc/dhcp/dhcpd.conf

#名字随便起
option domain-name "sl";
#DNS服务器的IP地址
option domain-name-servers 192.168.200.2;
#最小租约时间
default-lease-time 21600;
#最大租约时间
max-lease-time 43200;
#日志
log-facility local7;
#subnet代表声明分发IP网段
#range代表分发IP范围
#routers代表路由也是网关ip
#next-server代表找PXE服务的IP
#filename代表要什么文件
subnet 192.168.200.0 netmask 255.255.255.0 {
range 192.168.200.100 192.168.200.200;
option routers 192.168.200.2;
next-server 192.168.200.76;
filename "pxelinux.0";
}
启动各种服务
/etc/init.d/dhcpd start
ss -antup | grep 67
yum -y install vsftpd
/etc/init.d/vsftpd start
二、新建虚拟机进行验证
手动模式、
编辑-虚拟网络编辑器-更改设置-NAT模式=使用本地DHCP取消勾选
文件-新建虚拟机
网络适配器-自定义=NAT模式
进入界面选择English-us-URL-OK
ftp://192.168.200.76/centos6








三、实现kickstart无人值守安装
(1)创建应答文件
yum -y install system-config-kickstart
(2)安装完后,进入桌面模式


(3)执行system-config-kickstart命令
system-config-kickstart
(4)免交互设置过程,实现全自动化安装









(5)复制配置文件和权限
cp ks.cfg /var/ftp
chmod 777 /var/ftp/ks.cfg
(6)修改启动菜单文件,调用应答文件
vim /var/lib/tftpboot/pxelinux.cfg/default
append initrd=initrd.img ks=ftp://192.168.154.146/ks.cfg
无人值守安装时,遇到内核过旧如何让它不提示
cd /var/ftp
vim ks.cfg
在第三行下面添加
unsupported_hardware


测试阶段




PXE自动装机的更多相关文章
- PXE 实现自动装机
搭建 PXE 远程安装服务器 image_1cqg00g0os9b1pop122e98o19ef9b.png-255kB 1.把光盘源放在/var/ftp/centos6 因为远程装机对放服务器得读取 ...
- Service系统服务(五):PXE基础装机环境、配置并验证DHCP服务、配置PXE引导、验证PXE网络装机、PXE+kickstart自动装机
一.PXE基础装机环境 目标: 本例要求为后续的PXE服务器构建提供RHEL7软件仓库,完成下列任务: 1> 在CentOS真机部署Web目录/var/www/html/rh7dvd 2&g ...
- linux dhcp搭建及pxe无人值守装机
DHCP动态主机配置协议:由IETF组织制定,用来简化主机ip地址分配管理可以自动分配的入网参数ip地址/子网掩码/广播地址默认网关地址DNS服务器地址 ----------------------- ...
- CentOS7中搭建cobbler自动装机服务
一.实验环境 一台centos7 epel源网址 https://fedoraproject.org/wiki/EPEL?rd=Epel 使用nat模式 二.实验步骤 1.下载epel源后进行文件夹挂 ...
- Linux shell编写脚本部署pxe网络装机
Linux shell编写脚本部署pxe网络装机 人工安装配置,Linux PXE无人值守网络装机 https://www.cnblogs.com/yuzly/p/10582254.html 脚本实 ...
- PXE网络装机
PXE网络装机配置 安装CentOS 6.5系统 1.配置服务端IP地址和yum源 略 2.安装配置VSFTP服务 vsftpd 的作用:为客户端提供FTP服务,便于客户端下载操作系统 (1)安装vs ...
- Cobbler自动装机--2
自动重装工具--koan 客户机已经通过cobbler安装centos7系统完毕. 安装koan,能实现重装,安装之前先安装epel源 koan是kickstart-over-a-network的缩 ...
- PXE基础装机环境
PXE基础装机环境 案例1:PXE基础装机环境 案例2:配置并验证DHC ...
- Cobbler自动装机试验
Cobbler自动装机简介:Cobbler是一个使用Python开发的开源项目,通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动的批量快速建立Linux系统的网络安装环境.Cobbler提供 ...
随机推荐
- php 类名和方法名相同(构造函数)
//php 5.6class father{ public function __construct() { echo __METHOD__; }} class son extends father{ ...
- nvm 设置 nodejs 默认版本
nvm 设置 nodejs 默认版本 windows 系统的版本管理软件是nodist mac系统的node版本管理根据是nvm 每次重启vscode软件后,nvm ls 看到的默认版本都会恢复到v5 ...
- 洛谷1855 榨取kkksc03
题目描述 洛谷2的团队功能是其他任何oj和工具难以达到的.借助洛谷强大的服务器资源,任何学校都可以在洛谷上零成本的搭建oj并高效率的完成训练计划. 为什么说是搭建oj呢?为什么高效呢? 因为,你可以上 ...
- Kubernetes 实践指南之Kubernetes 的命令行工具详解
kubectl作为客户端CLI工具,可以让用户通过命令行的方式对Kubernetes集群进行管理.本节内容将对kubectl的子命令和用法进行详细描述. 一.kubectl 用法概述 kubectl语 ...
- org.hibernate.ObjectNotFoundException: No row with the given identifier exists
维护老系统时出现的问题,出现的原因我简述一下: table1与table2是关联表,T1中有T2的主键 "T1_id",当T1中的 "T2_id" 不为null ...
- Rhino学习教程——1.1
在Rhino的官网下载好Rhino5.0版本后(Rhino官网会提供下载方式,官网是http://www.xuexiniu.com),双击桌面快捷键,就会出现Rhino的界面(我已经自定义过界面了). ...
- 用VS2017编写C语言的Hello World
1.新建项目 2.选择新建空项目 3.在源文件处右键单击,选择添加-新建项 4.选择“c++文件”,将名称后缀改成.c即可用C语言编写程序 5.编写代码: #include <stdio.h&g ...
- Oracle数据库TNS错误解决方法
ORA-12154: TNS:could not resolve the connect identifier specified ,即无法解析指定的连接 标识符.这说明缺少了一个环境变量,TNS_A ...
- python修炼第四天
今天换了师傅.江湖人称景女神^o^. 女师傅讲的比较细,原理的比较多.初学者来说有些难.但是基本功是必须要打牢的.努力! 迭代器 迭代器,迭代的工具1 什么是迭代,指的是一个重复的过程,每一次重复称为 ...
- oracle之触发器
触发器可以看做一种"特殊"的存储过程,它定义了一些与数据库相关事件(如INSERT,UPDATE,CREATE等事件)发生时应执行的"功能代码块",常用与管理复 ...