外网网卡:192.168.23.10, 内网网卡:192.168.10.2

PXE(preboot execute environment,预引导执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端(客户端)基本软件设置,从而引导预先安装在服务器中的终端操作系统。
  • 首先对于tftp服务的简要使用说明
(1)yum安装:tftp、tftp-server
 
(2)启动tftp
CentOS 6
service xinetd restart
chkconfig tftp on
CentOS 7
systemctl start tftp.socket
systemctl enable tftp.socket
 
(3)服务器默认的站点目录
/var/lib/tftpboot
 
(4)tftp服务端监听于udp的69端口
 
(5)启动tftp服务
systemctl start tftp.socket
 
(6)在/var/lib/tftpboot/里面放置一个文件/etc/inittab
cp /etc/inittab /var/lib/tftpboot
 
(7)使用客户端tftp下载inittab文件
tftp 192.168.23.11
tftp> get inittab
 
(8)退出tftp,查看当前目录是否有这个文件
  • 首先准备服务软件环境(DHCP服务、TFTP服务、httpd服务、syslinux包)(红帽7)
(1)安装程序包,其中syslinux包提供 pxelinux.0 这个文件
yum install -y httpd dhcp tftp tftp-server syslinux
 
(2)启动各服务
systemctl start dhcpd
systemctl start tftp.socket
systemctl start httpd
 
(3)编辑DHCP服务配置文件/etc/dhcp/dhcpd.conf
 
# 指定DHCP区域的名称
option domain-name "uplooking.com";
 
# 指定默认网关
option routers 192.168.10.10;
 
# 指定 DNS服务器地址
option domain-name-servers 192.168.10.1;
 
# 指定DHCP服务的默认租约时长
default-lease-time 43200;
 
# 指定DHCP服务的最大租约时长
max-lease-time 84544;
 
# 指定日志文件的路径
log-facility local7;
 
# 设置DHCP服务的网络地址
subnet 192.168.10.0 netmask 255.255.255.0 {
 
# 指定连接主机的IP的范围
range 192.168.10.200 192.168.10.253;
 
# 指定主机无盘装机需要加载的文件
filename "pxelinux.0";
 
# 指定文件所在的主机IP
next-server 192.168.10.10;
 
}
 
 
(4)准备yum仓库,拷贝内核文件,ramdisk文件
 
1:创建光盘挂载目录
mkdir -pv /var/www/html/centos/7/x86_64
 
2: 将centos7光盘挂载
mount -r /dev/cdrom /var/www/html/centos/7/x86_64/
 
3:创建kickstarts文件目录
mkdir /var/www/html/kickstarts
 
4:创建kickstarts文件
vi /var/www/html/kickstarts/centos7.cfg
 
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig --startxonboot
# Keyboard layouts
# old format: keyboard us
# new format:
keyboard --vckeymap=cn --xlayouts='cn'
# Root password
rootpw --iscrypted $1$93fLd53F$jqPGF7U7XOe3szIVqMcIl0
# System timezone
timezone Asia/Shanghai
# System language
lang en_US
# Firewall configuration
firewall --disabled
selinux --disabled
# System authorization information
auth --useshadow --passalgo=sha512
url --url="http://192.168.10.10/centos/7/x86_64/"
# Use graphical install 这里可以可以使用graphical
text
# Run the Setup Agent on first boot
firstboot --enable
 
ignoredisk --only-use=sda
# Network information
network --bootproto=dhcp --device=enp0s3
# System bootloader configuration
bootloader --append="crashkernel=auto" --location=mbr --boot-drive=sda
# Partition clearing information
clearpart --all
# Disk partitioning information
part swap --fstype="swap" --ondisk=sda --size=500
part /boot --fstype="xfs" --ondisk=sda --size=200
part / --fstype="xfs" --ondisk=sda --size=40259
 
# Reboot after installation
reboot
%packages
@base
@compat-libraries
@core
%end
5:将pxelinux.0文件拷贝到tpft的根目录下
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
 
6:拷贝引导内核所需文件,这里有专门为pxe引导的内核和ramdisk文件
cp /var/www/html/centos/7/x86_64/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
cp /usr/share/syslinux/{chain.c32,menu.c32,memdisk,mboot.c32} /var/lib/tftpboot/
 
7:创建显示菜单的默认配置文件
cd /var/lib/tftpboot/
mkdir pxelinux.cfg
vi default
 
8:default文件的内容为
default menu.c32
prompt 15
timeout 60
 
# 指定一个标题
MENU TITLE yhy PXE
 
# 指定第一个选项
LABEL linux
MENU LABEL Install CentOS 7 x86_64 manually
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://192.168.10.10/centos/7/x86_64
 
# 指定第二个标题
# 这个引导选项是给定了ks文件的路径,并且给定了repodata的路径
LABEL linux auto
MENU LABEL Install CentOS 7 x86_64 automatically
KERNEL vmlinuz
APPEND initrd=initrd.img inst.repo=http://192.168.10.10/centos/7/x86_64 ks=http://192.168.10.10/kickstarts/centos7.cfg
 
 
 
 
 
 
 
 
 
 
  • 红帽6 PXE安装配置说明(为了让大家方便做实验,这里的路径没有改,直接将红帽6的光盘挂载到/var/www/html/centos/7/x86_64)
所有的安装服务都是一样的,只是拷贝的启动文件不一样,那么只需要将红帽6的光盘挂载到/var/www/html/centos/7/x86_64/目录下即可,在拷贝对应的文件
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /var/www/html/centos/7/x86_64/images/pxeboot/{initrd.img,vmlinuz} /var/lib/tftpboot/
cp /var/www/html/centos/7/x86_64/isolinux/{boot.msg,vesamenu.c32,splash.png} /var/lib/tftpboot
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/centos/7/x86_64/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
  • 红帽6的/var/lib/tftpboot/pxelinux.cfg/default的内容为
default vesamenu.c32
#prompt 15
timeout 30
display boot.msg
menu background splash.jpg
menu title Welcome to yhy PXE
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
 
# 这里指定第一个选项,如果有第二个选项,还可以向后面添加
label linux
menu label ^Install CentOS 6 by YHY
menu default
kernel vmlinuz
append initrd=initrd.img ks=http://192.168.10.10/kickstarts/centos6.cfg
  • 红帽 6中kickstart文件的内容为(为了让大家方便做实验,这里的路径没有改,直接将红帽6的光盘挂载到/var/www/html/centos/7/x86_64)
#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use Network installation
url --url="http://192.168.10.10/centos/7/x86_64"
# Root password
rootpw --iscrypted $1$ZuMqItjw$Pne66twowNZBHdgzMLfoy/
# System authorization information
auth --useshadow --passalgo=sha512
# Use graphical install
text
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# SELinux configuration
selinux --disabled
# Installation logging level
logging --level=info
# Reboot after installation
reboot
# System timezone
timezone Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
bootloader --append="crashkernel=auto rhgb quiet" --location=mbr --driveorder="sda"
# Partition clearing information
clearpart --all
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --size=200
part swap --fstype="swap" --size=500
part / --asprimary --fstype="ext4" --grow --size=6000
reboot
 
%packages
@base
@compat-libraries
@core
%end

PXE Centos7和Centos6的更多相关文章

  1. Linux PXE自动化安装centos6,centos7系统

    1.PXE是什么? pxe是Preboot Excution Environment的缩写,是intel公司研发,基于client/server的网络模式,支持远程主机通过网络从远端服务器下载镜,并由 ...

  2. centos7和centos6通过yum安装JDK1.8

    centos7和centos6通过yum安装JDK1.8 查看JDK的安装路径# java -version============================查看Linux系统版本信息# cat ...

  3. 关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复nginx最新漏洞CVE-2017-7529的解决方案

    关于centos7和centos6中平滑升级nginx到新版本v1.12.1修复CVE-2017-7529漏洞的解决方案 漏洞描述 2017年7月11日,Nginx官方发布最新的安全公告,在Nginx ...

  4. centos7和centos6的区别【转】

    最近发的文章,有人咨询我,说为啥不用centos7,而用centos6,这个跟个人习惯和生产环境元素决定的.centos7和6变化的就很大的.我收集了一些区别,给大家看看. 注意:生产环境推荐cent ...

  5. [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装、启动及PXE理论详解

    [PXE] Linux(centos6)中PXE 服务器搭建,PXE安装.启动及PXE理论详解 本篇blog主要讲述了[PXE] linux(centos)PXE无盘服务器搭建,安装,启动及pxe协议 ...

  6. 配置pxe 自动化安装centos6.7

    dhcp服务器是pxe自动化安装的必要条件,因此先搞定dhcp服务器,yum -y install dhcp,  rpm -ql dhcp查看安装了哪些包,less /etc/dhcp/dhcpd.c ...

  7. CentOS7 vs centos6

    The CentOS Project has announced general availability of CentOS-7, the first release of the free Lin ...

  8. centos7与centos6区别

    CentOS 7 vs CentOS 6的不同   (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell)(2)文件系统[CentOS6] ...

  9. centos7与centos6命令区别

    CentOS 7 vs CentOS 6的不同    (1)桌面系统[CentOS6] GNOME 2.x[CentOS7] GNOME 3.x(GNOME Shell) (2)文件系统[CentOS ...

随机推荐

  1. Hbase(2)-HBase简介

    一. HBase的特点 1. 海量存储 Hbase适合存储PB级别的海量数据,在PB级别的数据以及采用廉价PC存储的情况下,能在几十到百毫秒内返回数据.这与Hbase的极易扩展性息息相关.正式因为Hb ...

  2. HBase操作一

    package Hbase; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.a ...

  3. 【洛谷】 3264 [JLOI2015] 管道连接

    前言:     如果还不知道斯坦纳树的童鞋可以看这两篇博客: 我的:https://blog.csdn.net/jerry_wang119/article/details/80001711 我一开始学 ...

  4. GD32F20x系列使用问题总结

    GD单片机近几年越来越火了,既有他自身相比与ST的价格优势,也有支持国货的信仰加成.然而一个新的东西,或者说一个相对较新的东西,在使用的友好性和资料的完整性方面还有很长的路要走. 现将个人使用过程中碰 ...

  5. Hadoop学习总结之Map-Reduce的过程解析111

    一.客户端 Map-Reduce的过程首先是由客户端提交一个任务开始的. 提交任务主要是通过JobClient.runJob(JobConf)静态函数实现的: public static Runnin ...

  6. 如何加入别人的Git项目——Git Fork指南

    如何加入别人的Git项目--Git Fork指南 首先,在网页打开别人Git上的项目,点击右上角的.下图因为Fork过了,所以灰了. 随即弹出如下窗口,当然选择确定. 于是,我们在在自己的项目列表可以 ...

  7. 20155232 2016-2017-2《Java程序设计》课程总结

    20155232 2016-2017-2<Java程序设计>课程总结 作业汇总 (按顺序)每周作业链接汇总 预备作业1:你期望的师生关系是什么? 预备作业2:技能与经验之谈 预备作业3:初 ...

  8. # 20155337 2017-2018-1 《信息安全系统设计基础》第二周课堂实践+myod

    20155337 2017-2018-1 <信息安全系统设计基础>第二周课堂实践+myod 因为在课上已经提交了四个实验,还欠缺最后一个实验,反省一下自己还是操作不熟练,平时在课下应该多多 ...

  9. Codeception (安装)

    来源:http://codeception.com/install 注意:打开Codeception的官网需要FQ 1. 下载 下载地址:http://codeception.com/thanks 或 ...

  10. 向日期添加指定的时间间隔(mysql)

    DATE_ADD( 原始日期, INTERVAL 要加的年数 YEAR) DATE_ADD( 原始日期, INTERVAL 要加的月份 MONTH) DATE_ADD( 原始日期, INTERVAL ...