PXE+Kickstart

PXE 预启动执行环境(Preboot eXecution Environment,也被称为预执行环境)提供了一种使用网络接口(Network Interface)启动计算机的机制。这种机制让计算机的启动可以不依赖本地数据存储设备(如硬盘)或本地已安装的操作系统。网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。

PXE 工作流程:

1. PXE Client 从自己的PXE网卡启动,向本网络中的DHCP服务器索取IP;

2. DHCP 服务器返回分配给客户机的IP 以及PXE文件的放置位置(该文件一般是放在一台TFTP服务器上) ;

3. PXE Client 向本网络中的TFTP服务器索取pxelinux.0 文件;

4. PXE Client 取得pxelinux.0 文件后之执行该文件;

5. 根据pxelinux.0 的执行结果,通过TFTP服务器加载内核和文件系统 ;

6. 进入安装画面, 此时可以通过选择HTTP、FTP、NFS 方式之一进行安装;

pxe

Kickstart是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在安装过程中(不只局限于生成Kickstart安装文件的机器)出现要填写参数的情况,安装程序首先会去查找Kickstart生成的文件,如果找到合适的参数,就采用所找到的参数;如果没有找到合适的参数,便需要安装者手工干预了。所以,如果Kickstart文件涵盖了安装过程中可能出现的所有需要填写的参数,那么安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后就去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中的设置重启系统,并结束安装。

kickstart

约定:

要批量安装的系统为 CentOS-6.6-x86_64

要批量安装系统的服务器跟 Server 在同一 VLAN 内(接同一交换机。暂不考虑,大规模跨VLAN的部署。)

Server 开启 DHCP TFTP HTTP 服务

Server 端的IP为 10.0.1.254;DHCP 为客户端分配的IP范围为 10.0.1.2 – 10.0.1.253

部署服务端:

[[email protected] ~]# ifconfig eth1|awk -F "[ :]+" ‘NR==2{print $4}‘

10.0.1.254

[[email protected] ~]#

安装 dhcp tftp-server httpd 及包含 pxelinu.0 引导文件的 syslinux

[[email protected] ~]# yum -q -y install dhcp tftp-server httpd syslinux

[[email protected] ~]# rpm -qa dhcp tftp httpd-server syslinux

tftp-server-0.49-7.el6.x86_64

syslinux-4.04-3.el6.x86_64

dhcp-4.1.1-49.P1.el6.centos.x86_64

httpd-2.2.15-47.el6.centos.x86_64

[[email protected] ~]#

编辑 DHCP 配置文件,并启动服务。

[[email protected] ~]# cat /etc/dhcp/dhcpd.conf

ddns-update-style none;

ignore client-updates;

subnet 10.0.1.0 netmask 255.255.255.0 {

range 10.0.1.2 10.0.1.253;

option subnet-mask 255.255.255.0;

next-server 10.0.1.254;

filename "pxelinux.0";

default-lease-time 21600;

max-lease-time 43200;

}

[[email protected] ~]#

[[email protected] ~]# /etc/init.d/dhcpd start

Starting dhcpd:                                           [  OK  ]

[[email protected] ~]#

为 Apache 的默认配置文件第277行加入 ServerName 0.0.0.0:80 并在默认的站点目录下新建目录并将本地光驱中的 CentOS-6.6-x86_64-bin-DVD1 挂载至新建目录下。开启服务。

[[email protected] ~]# sed -i ‘277i ServerName 0.0.0.0:80‘ /etc/httpd/conf/httpd.conf

[[email protected] ~]# mkdir /var/www/html/centos66

[[email protected] ~]# mount /dev/cdrom /var/www/html/centos66/

mount: block device /dev/sr0 is write-protected, mounting read-only

[[email protected] ~]# ls /var/www/html/centos66

CentOS_BuildTag  RELEASE-NOTES-en-US.html

EFI              repodata

EULA             RPM-GPG-KEY-CentOS-6

GPL              RPM-GPG-KEY-CentOS-Debug-6

images           RPM-GPG-KEY-CentOS-Security-6

isolinux         RPM-GPG-KEY-CentOS-Testing-6

Packages         TRANS.TBL

[[email protected] ~]#

[[email protected] ~]# /etc/init.d/httpd start

Starting httpd:                                           [  OK  ]

[[email protected] ~]#

将需要的 pxelinux.0 文件,及挂载镜像目录中的 isolinux 目录下的所有文件(并不需要所有的文件,为简化操作复制所有文件即可)复制到 TFTP 提供服务的根目录。

[[email protected] ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/

[[email protected] ~]# cp /var/www/html/centos66/isolinux/* /var/lib/tftpboot/

[[email protected] ~]# ls /var/lib/tftpboot/

boot.cat   initrd.img    memtest     TRANS.TBL

boot.msg   isolinux.bin  pxelinux.0  vesamenu.c32

grub.conf  isolinux.cfg  splash.jpg  vmlinuz

[[email protected] ~]#

在 TFTP 提供服务的根目录下,新建名为 pxelinux.cfg 的目录,并在新建的 pxelinux.cfg 目录下新建名为 defualt 的文件。

[[email protected] ~]# mkdir /var/lib/tftpboot/pxelinux.cfg

[[email protected] ~]# cat /var/lib/tftpboot/pxelinux.cfg/default

default ks

prompt 0

label ks

kernel vmlinuz

append initrd=initrd.img ks=http://10.0.1.254/ks.cfg ksdevice=eth0

[[email protected] ~]#

修改 TFTP 的配置文件,并开启服务。

[[email protected] ~]# sed -i ‘14 s#yes#no#‘ /etc/xinetd.d/tftp

[[email protected] ~]#

[[email protected] ~]# /etc/init.d/xinetd restart

Stopping xinetd:                                          [FAILED]

Starting xinetd:                                          [  OK  ]

[[email protected] ~]#

使用 grub-crypt 命令,生成新装系统 root 用户的密码。记录下生成的密码。

[[email protected] ~]# grub-crypt

Password:

Retype password:

$6$dc4hJJe7NhUbVtzn$///p3CWjPJKI7dDNvHG69ank0njFu3.xIYLmBgMB.UzmZOG2FA741uIf1rYyWUf/LTL9FVk3u8.tL2YkekxMZ0

[[email protected] ~]#

编写 kickstart 文件。并将文件命名为 ks.cfg 保存在 Apache 默认的站点目录下。(注意文件权限,确保可以访问。)

[[email protected] ~]# cat /var/www/html/ks.cfg

install

text

url --url http://10.0.1.254/centos66

lang en_US.UTF-8

keyboard us

network --onboot yes --device eth0 --bootproto dhcp --noipv6

rootpw  --iscrypted $6$dc4hJJe7NhUbVtzn$///p3CWjPJKI7dDNvHG69ank0njFu3.xIYLmBgMB.UzmZOG2FA741uIf1rYyWUf/LTL9FVk3u8.tL2YkekxMZ0

firewall --disabled

authconfig --enableshadow --passalgo=sha512

selinux --disabled

timezone Asia/Shanghai

zerombr

bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"

clearpart --all --initlabel

part /boot --fstype=ext4 --asprimary --size=200

part swap --asprimary --size=1024

part / --fstype=ext4 --grow --asprimary --size=200

reboot

%packages

@base

@compat-libraries

@debugging

@development

tree

nmap

sysstat

lrzsz

dos2unix

telnet

#%post

# before installed run some command or scripts

%end

[[email protected] ~]#

  开启客户端电源,系统会自动安装。

时间: 2024-08-05 04:29:19

PXE+Kickstart的相关文章

CentOS 6.5下PXE+Kickstart无人值守安装操作系统

CentOS 6.5下PXE+Kickstart无人值守安装操作系统 一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicasttrivia

Pxe+Kickstart无人值守安装Linxu操作系统

KICKSTART无人值守安装: 一.系统安装方法: 光盘安装系统===>一个服务器DVD内置光驱就要花很多钱,试想,几百台服务器仅是装系统用一次光驱,太耗资金,usb外置光驱一台一台插也是够麻烦的. U盘安装系统===>还是同样的问题,要一台一台服务器插U盘. 网络安装系统(ftp,http,nfs) ===>这个方法不错,只要服务器能联网就可以装系统了,但还是需要一台台服务器去敲键盘点鼠标.时刻想偷懒的我们,有没有更好的方法! 高效安装系统法:Kickstart.Cobbler 二.

CentOS 6.4下PXE+Kickstart无人值守安装操作系统

一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软

PXE+Kickstart无人值守安装CentOS 6.7

一.简介 1.1 什么是PXE PXE(preboot execute environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到

PXE+Kickstart无人值守安装操作系统

# 一.简介## 1.1.什么是PXE- 1.PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式- 2.支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统- 3.在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer proto

PXE+kickstart实现批量部署linux系统

当企业有大量的新机需要安装系统,如果每台都接上系统光盘并人工选择配置安装,无疑工作量巨大.而 PXE+kickstart 的安装方式能够实现自动化批量部署,特别适用于这种场景. 一.批量部署方式 ①物理机:PXE 负载均衡 ②虚拟机:映像文件模板 分布式文件系统 无论是针对物理机还是虚拟机的批量部署,都会对文件服务器造成巨大的压力,可以分别使用负载均衡和分布式文件系统的方式缓解 二.PXE工作原理 客户机通过支持PXE的网卡请求DHCP服务器 --> DHCP服务器给客户端分配IP地址等,并告诉

PXE+Kickstart+Nginx(http)+DHCP无人值守安装Centos6.4系统

PXE+Kickstart+Nginx(http)+DHCP无人值守安装Centos系统 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast

Linux中级:PXE + Kickstart 安装CentOS 6.x 操作系统

一.前言 本文很大部分都是参考:http://www.cnblogs.com/mchina/p/centos-pxe-kickstart-auto-install-os.html 主要用于学习. 1.1 什么是pxe PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持通过网络启动操作系统,在启动过程中,终端要求服务器分配IP地址,再用

pxe+kickstart自动装机详解

pxe+kickstart 这个网上文档还挺多的,但是基本都好多坑,最后自己综合了几篇做成功了,在此记录. pxe的工作示意图,不管做什么还是要弄懂原理的 整个过程图解: 一.测试环境 centos 6.8(基础服务器安装) NAT网络模式 IP:192.168.40.134 关闭防火墙 SELINUX=disabled 二.安装篇 1 apache安装 #yum install httpd -y 注:此处还可以用nfs或者ftp #service httpd start #chkconfig

CentOS6 PXE+Kickstart无人值守安装

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