一、简介

1.1 什么是PXE

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

严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 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 方式之一进行安装;

详细工作流程,请参考下面这幅图:

1.2 什么是Kickstart

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

PXE+Kickstart 无人值守安装操作系统完整过程如下:

二、系统环境

实验环境:VMware Workstation 10

系统平台:CentOS server 6.5

dhcp/tftp/httpd :172.16.1.100

kickstart_server ip:172.16.1.100

三、准备工作

生成ks.cfg 文件需要system-config-kickstart 工具,而此工具依赖于X Windows,所以我们需要安装X Windows 和Desktop 并重启系统(),操作如下

# yum groupinstall "X Window System"

# yum groupinstall Desktop

# reboot

四、配置HTTP安装方式

系统的安装方式可以选择HTTP、FTP、 NFS,我们这里介绍HTTP方式的安装,其他两种方式的安装,大家可以自行百度。

4.1 安装并配置HTTP

# yum install httpd –y

# rpm -qa|grep httpd

开启服务并设置开机启动

# /etc/init.d/httpd start

# chkconfig --level 35 httpd on

将iso文件挂载至/mnt/

4.2复制光盘全部内容至http 的根目录/var/www/html/ 下

# cp -r /mnt/*  /var/www/html/

HTTP部分设置完毕。

五、配置TFTP

5.1 安装tftp-server

# yum install tftp-server –y

5.2 启用tftp 服务

# vi /etc/xinetd.d/tftp

service tftp
{ socket_type             = dgram protocol                = udp wait                    = yes user                    = root server                  = /usr/sbin/in.tftpd server_args             = -s  /tftpboot disable                 = no per_source              = 11 cps                     = 100 2 flags                   = IPv4
}

  将disable 设置为no

5.3 启动tftp服务

因为tftp服务是挂载在超级进程xinetd 下的,所以通过启动xinetd 来启动tftp服务。

# /etc/init.d/xinetd restart

设置开机启动xinetd

# chkconfig xinetd on

六、配置支持PXE的启动程序

6.1 复制pxelinux.0 文件至 /tftpboot/ 文件夹中

# cp /usr/share/syslinux/pxelinux.0 /tftpboot/

说明:syslinux是一个功能强大的引导加载程序,而且兼容各种介质。更加确切地说:SYSLINUX是一个小型的Linux操作系统,它的目的是简化首次安装Linux的时间,并建立修护或其它特殊用途的启动盘。

6.2 复制iso 镜像中的/image/pxeboot/initrd.img 和vmlinux 至  /tftpboot/ 文件夹中

# cp /var/www/html/cdrom/images/pxeboot/{initrd.img,vmlinuz}  /tftpboot/

6.3 复制iso 镜像中的/isolinux/*.msg 至/tftpboot/ 文件夹中

# cp /var/www/html/cdrom/isolinux/*.msg  /tftpboot/

6.4 在 /tftpboot/ 中新建一个pxelinux.cfg目录

# mkdir  /tftpboot/pxelinux.cfg

6.5 将iso 镜像中的/isolinux 目录中的isolinux.cfg复制到pxelinux.cfg目录中,同时更改文件名称为default

# cp /var/www/html/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default

6.6 修改default文件

# vi /tftpboot/pxelinux.cfg/default

default ks     #默认启动的是 'label ks' 中标记的启动内核
prompt 1          #显示 'boot: ' 提示符。为 '0' 时则不提示,将会直接启动 'default' 参数中指定的内容。
timeout 6      #在用户输入之前的超时时间,单位为 1/10 秒。
display boot.msg  #显示某个文件的内容,注意文件的路径。默认是在/var/lib/tftpboot/ 目录下。也可以指定位类似 '/install/boot.msg'这样的,路径+文件名。
F1 boot.msg     #按下 'F1' 这样的键后显示的文件。
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux       #'label' 指定你在 'boot:' 提示符下输入的关键字,比如boot: linux[ENTER],这个会启动'label linux' 下标记的kernel 和initrd.img 文件。kernel vmlinuz  #kernel 参数指定要启动的内核。append initrd=initrd.img #append 指定追加给内核的参数,能够在grub 里使用的追加给内核的参数,在这里也都可以使用。
label text kernel vmlinuz append initrd=initrd.img text
label ks kernel vmlinuz append ks=http://172.16.1.100/ks_file/ks.cfg initrd=initrd.img    #告诉系统,从哪里获取ks.cfg文件
label local localboot 1
label memtest86 kernel memtest append - 

七、配置DHCP

7.1 安装DHCP服务

# yum -y install dhcp

7.2 复制配置模板文件到DHCP的配置目录中

# cp -f /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample  /etc/dhcp/dhcpd.conf

7.3 修改/etc/dhcp/dhcpd.conf 配置文件,内容如下:

subnet 172.16.1.0 netmask 255.255.255.0 {option routers                  172.16.1.100; option subnet-mask              255.255.255.0;range dynamic-bootp 172.16.1.10 172.16.1.50; default-lease-time 21600; max-lease-time 43200;filename "pxelinux.0";   #pxelinux 启动文件位置;next-server 172.16.1.100;  #TFTP Server 的IP地址;
}

 

7.4 启动DHCP服务

# /etc/init.d/dhcpd start

八、生成ks.cfg 文件

8.1 安装Kickstart

# yum install system-config-kickstart

8.2 在桌面环境下配置Kickstart

启动X Windows 环境

# startx

配置Kickstart

# system-config-kickstart

A. 设置语言,键盘,时区,Root密码,安装完毕后重启等。

我们可以打开/var/www/html/ks_file/ks.cfg 文件进行查看并做修改。

 

platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade
install
# Use network installation
url --url=http://172.16.1.100/   #这个选项告诉安装程序:到服务器192.168.111.130 的HTTP根目录下的cdrom 文件夹下寻找安装介质
# Root password
rootpw --iscrypted $1$vsvtP./e$6PVMNfJd.shq2LgFJjYfA1
# System authorization information
auth --useshadow --enablemd5
# Use graphical install
graphical
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 --isUtc Asia/Shanghai
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
# System bootloader configuration
key --skip
bootloader --append="rhgb quiet" --location=mbr --driveorder=sda
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part / --fstype="ext4" --size=8192
part swap --fstype="swap" --size=1024
part /home --fstype="ext4" --size=2048%packages
@base%end

说明:key --skip 如果是红帽系统,此选项可以跳过输入序列号过程;如果是CentOS 系列,则可以不保留此项内容;

reboot 此选项必须存在,也必须文中设定位置,不然kickstart显示一条消息,并等待用户按任意键后才重新引导;

clearpart --all --initlabel 此条命令必须添加,不然系统会让用户手动选择是否清除所有数据,这就需要人为干预了,从而导致自动化过程失败;

转载于:https://www.cnblogs.com/powpoia/p/6054829.html

KickStart 无人值守安装系统相关推荐

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

    文章目录 无人值守系统 部署安装 创建PXE服务器虚拟机并设置IP地址 配置本地yum源 安装并配置DHCP服务 安装并配置TFTP服务 安装SYSLinux 复制引导文件 安装并配置vsftpd服务 ...

  2. 【Linux】PXE+Kickstart无人值守安装系统

    文章目录 前言 一.简介 二.配置DHCP 三.TFTP 四.SYSLinux服务程序 五.vsftpd服务 六.Kickstart应答文件 七.自动安装系统 八.总结 前言 本文来记录下PXE+Ki ...

  3. Kickstart无人值守安装系统(含DHCP超详细原理)

    前言: 为啥要用无人值守安装系统?很简单的答案!就两个! 一个是方便日常工作,另一个就是可以用来装逼! 常规装系统的办法有哪些? 光盘安装系统===>一个服务器DVD内置光驱百千块,百台服务器都 ...

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

    文章目录 1 kickstart简介 1.1 什么是kickstart 1.2 什么是PXE 2 安装配置kickstart 2.1 配置DHCP服务 2.2 配置TFTP服务 2.3 web服务配置 ...

  5. 自动化运维之CentOS7下PXE+Kickstart+DHCP+TFTP+HTTP无人值守安装系统

    一.概述 1.关于PXE Preboot Execution Environment翻译过来就是预启动执行环境;简称PXE;传统安装操作系统的方法是CDROM或U盘引导,而PXE技术解决的是从网络引导 ...

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

    一.简介 1.1 什么是PXE PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持 ...

  7. 酸爽!我用这套无人值守安装系统瞬间搞定上百台服务器

    来自:DBAplus社群 作者介绍: 季城希,甜橙金融运维工程师,多年IDC运维经验.擅长IDC中服务器批量高效快速集成交付,精通各品牌型号服务器硬件产品及维护. 一.前言 为啥要用无人值守安装系统? ...

  8. Centos 6.5 Pxe+kickstart 无人值守安装操作系统

    Centos 6.5PXE+kickstart 无人值守安装操作系统 PXE一种引导方式.进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 ...

  9. 烂泥:kickstart无人值守安装CentOS6.5

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 在本次实验进行之前,首先我们要把公司的网络环境进行介绍. 注意这个网络拓扑图,也是生产环境的一个实例.同时服务器192.168.1.214已关闭ipta ...

最新文章

  1. 安卓中事件绑定的写法
  2. AOP配置开发入门案例
  3. 多重背包 (poj 1014)
  4. php 计算字符串相邻最大重复数_php如何解决字符串中重复字符的次数并且排序输出的方法...
  5. python 如何将虚拟环境的项目的所有.py文件的import导包汇总到requirements.txt文件 (pipreqs)
  6. 继续VISTA下网卡驱动问题
  7. 返回CompletableFuture:Java 8功能亮点
  8. C# 序列化与反序列化json
  9. ORM组件XCode(十八般武艺)
  10. 2014年自动化的个人感想
  11. 注解的DI以及动态代理
  12. 编程珠玑 第一部分 基础
  13. list对象转map
  14. box-sizing
  15. edge播放视频HTML5黑屏,edge不能播放网页视频怎么办-修复edge浏览器播放视频黑屏的方法 - 河东软件园...
  16. Outlook_Hotkey
  17. layui多文件一次性上传案例
  18. VUE3学习笔记(细节)
  19. linux克隆后静态ip,Centos7克隆后配置静态ip无法上网
  20. 如何查看存款和贷款的基准利率

热门文章

  1. (2)搞一搞 seata 之 Spring Cloud 整合
  2. 浅析面包屑导航对网站SEO优化有哪些作用?
  3. c语言行末不要输出多余空格,新人提问:如何将输出时每行最后一个空格删除...
  4. mysql导入sql文件限制,Mysql导入大容量SQL文件数据有关问题
  5. python tcp server_python scoket 编程 | tcp server client - 简明教程
  6. ubuntu dig timeout解决方法,dnscat执行失败也是这个原因
  7. 一种神经元探索系统方法及装置
  8. 函数重载和覆盖(重写)的区别
  9. nefu 118 n!后面有多少个0 算数基本定理,素数分解
  10. live555工程建立与调试