一、PXE
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。

二、PXE工作流程
①PXE Client从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;
②DHCP服务器返回分配给客户机的IP以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上);
③PXE Client向本网络中的TFTP服务器索取pxelinux.0文件;
④PXE Client取得pxelinux.0文件后执行该文件;
⑤根据pxelinux.0的执行结果,通过TFTP服务器加载内核和文件系统;
⑥进入安装画面,此时可以通过选择HTTP、FTP、NFS方式之一进行安装;
示意图:

三、Kickstart
Kickstart是一种无人值守的安装方式,它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,就需要安装者手工干预。因此,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么就可以实现完全自动安装了。

四、演练测试
演练环境
VMware Workstation 12
CentOS 6.5
LAN区段 #注:关闭VM网络的DHCP功能,会有影响
DHCP/TFTP/NFS IP:192.168.157.129
Iptables & SElinux off

预备
1、配置YUM源(本演练使用系统镜像做YUM仓)
① 挂载光盘
[root]# mount /dev/cdrom /mnt
[root]# echo ‘/dev/cdrom /mnt iso9660 defaults 0 0’ >> /etc/fstab ##开机自动挂载
② 配置YUM
[root]# cat /etc/yum.repos.d/iso.repo
[iso]
name=iso
baseurl=file:///mnt
enabled=1
gpgcheck=0

2、配置DHCP
①安装
[root]# yum –y install dhcp
②修改配置文件(注意分号等格式问题)
[root]# cat /etc/dhcp/dhcpd.conf
ddns-update-style none;
ignore client-updates;
filename "pxelinux.0";
next-server 192.168.157.129; #TFTP Server的IP地址
subnet 192.168.157.0 netmask 255.255.255.0 { #所属网段掩码
option routers 192.168.157.2; #路由器IP,可写网管IP
option subnet-mask 255.255.255.0;
range 192.168.157.200 192.168.157.230; #IP地址池
default-lease-time 21600;
max-lease-time 43200;
}
③启动DHCP服务
[root]# /etc/init.d/dhcpd start
[root]# chkconfig dhcpd on

3、配置NFS Server共享文件
①安装NFS Server
[root]# yum –y install nfs-utils
②创建共享目录,存放镜像文件
[root]# mkdir /dvd
[root]# cp –r /mnt/* /dvd
[root]# cat /etc/exports #共享目录
/dvd *(rw)
③启动NFS服务,检查文件共享
[root]# /etc/init.d/rpcbind start #要先启动rpcbind否则会有异常,详因可查阅NFS工作原理
[root]# /etc/init.d/nfs start
[root]# showmount –e
Export list for example.com
/dvd *
4、配置TFTP服务器
①安装
[root]# yum –y install tftp-server
②修改配置文件
[root]# vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no #将yes修改为no
per_source = 11
cps = 100 2
flags = IPv4
}
③启动服务
[root]# /etc/init.d/xinetd start
[root]# chkconfig xinetd on

5、配置PXE启动所需要的文件
①安装syslinux
[root]# yum –y install syslinux
注:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。Syslinux是一个小型的linux操作系统,它的目的是简化首次安装linux的时间,并建立修护后其他特殊用途的启动盘。
③ 拷贝相关文件到/var/lib/tftpboot/下
[root]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root]# cp /dvd/images/pxeboot/initrd.img /var/lib/tftpboot/
[root]# cp /dvd/images/pxeboot/vmlinuz /var/lib/tftpboot/
[root]# cp /dvd/isolinux/*.msg /var/lib/tftpboot/
④ 创建及配置相关文件
[root]# mkdir -p /var/lib/tftpboot/pxelinux.cfg
[root]# cp /dvd/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
[root]# chmod u+w /var/lib/tftpboot/pxelinux.cfg/default
[root]# vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 1
timeout 6
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
kernel vmlinuz
append initrd=initrd.img
label text
kernel vmlinuz
append initrd=initrd.img text
label ks
kernel vmlinuz
append ks=nfs:192.168.157.129:/dvd/ks.cfg initrd=initrd.img
label local
localboot 1
label memtest86
kernel memtest
append -
6、生成ks.cfg文件
ks.cfg是kickstart安装配置文件,系统就是安装ks.cfg来安装。
①安装kickstart
[root]# yum –y install system-config-kickstart
②启动图形化kickstart生成ks.cfg
[root]# system-config-kickstart









保存在/root/下,同目录下还有个anaconda-ks.cfg文件,将此文件中软件安装脚本拷贝到ks.cfg中(即%packages到%end)
最后将ks.cfg文件拷贝到共享目录下即可/dvd

下面就可以开启一台虚拟机安装验证配置了

linux系统PXE+Kickstart自动安装系统的更多相关文章

  1. CentOS 7.2 下 PXE+kickstart 自动安装系统

    一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ...

  2. 使用PXE+Kickstart无人值守安装系统

    PXE预启动执行环境(即Preboot execute environment) 是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服 ...

  3. centos7/rhel7下配置PXE+Kickstart自动安装linux系统

    应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ...

  4. PXE+Kickstart无人值守安装系统re

    PXE(Preboot Excute Environment)预启动执行环境,可以让计算机通过网络启动系统,主要用于无人值守安装系统中引导客户端主机安装Linux操作系统. 由于之前有过使用cobbl ...

  5. Linux部署之批量自动安装系统之Kickstart篇

    1.         安装   2.         在桌面环境下啊配置   3.         Kickstart之基本配置   4.         Kickstart之安装方法   5.    ...

  6. PXE+kickstart自动安装ubuntu14.04

    本文参考了诸多文章,先感谢这些文章的作者. 使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp). 实验环境: 1. vmware 12 2 ...

  7. PXE+Kickstart 自动安装CentOS系统

    PXE (preboot execcute environment) 依赖服务 dhcp tftp file server (yum repository) 准备TFTP服务器  如何配置TFTP服务 ...

  8. CentOS7.2下PXE+kickstart自动化安装系统

    一.实验环境 操作系统:CentOS Linux release 7.2.1511 (Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64-Minima ...

  9. Linux部署之批量自动安装系统之测试篇

    1.         客户端从网络启动如下   2.         复制vesamenu.c32文件可解决上面的问题   3.         客户端再次启动   4.         选择第一个进 ...

随机推荐

  1. Mysql 客户端查询结果如何保存到本地而不是服务端?

    应用场景:知道某台DB服务器的IP和账户,登录上去查询了10W条记录,需要把这些记录拉到本地做分析 方法1,远程连接到DB服务器执行OUTFILE命令,文件存储在DB机器上,只有mysql账户的情况下 ...

  2. mysql5.5 物理删除binlog文件导致的故障

    故障现象: 中午12点多,一套主从集群的主库因为没有配置大页内存,发布时导致OOM,MYSQL实例重启了,然后MHA发生了切换.切换过程正常.切换后需要把原master配置成新master的slave ...

  3. Join two DataTables in C#

    var query = (from x in a.AsEnumerable() join y in b.AsEnumerable() on x.Field<int>("col1& ...

  4. 动态linq to list排序

    public class QeurySort { public static IList<T> Sort<T>(IList<T> list,string sidx, ...

  5. IComparable<T> Vs. IComparer<T> System.Comparison<T>

    Well they are not quite the same thing as IComparer<T> is implemented on a type that is capabl ...

  6. 【转载】windows平台安装nodejs过程

    第一步 下载nodejs 访问https://nodejs.org/en/download/url 根据您的系统是32位或64位,按照文字说明进行下载 第二步 安装nodejs 双击运行nodejs的 ...

  7. (String). Word Pattern

    Given a pattern and a string str, find if str follows the same pattern. Here follow means a full mat ...

  8. rpm命令

    RPM 安装.卸载.升级.查询和验证. RPM 安装 命令: rpm -i 文件名 如: rpm -i example.rpm 安装 example.rpm 包: rpm -iv example.rp ...

  9. web.xml

    <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" ...

  10. Linux学习二:Makefile基础

    文首感谢http://www.chinaunix.net 作者:gunguymadman的分享 makefile关系到了整个工程的编译规则.一个工程中的源文件不计数,其按类型.功能.模块分别放在若干个 ...