linux系统PXE+Kickstart自动安装系统
一、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自动安装系统的更多相关文章
- CentOS 7.2 下 PXE+kickstart 自动安装系统
		一.简单概述 1.1 Kickstart 概述 对于网络安装系统,在linux 下面最熟悉的应该就是 Kickstart 以及 cobbler.写这篇文章的目的在于我公司目前使用的就是 Kicksta ... 
- 使用PXE+Kickstart无人值守安装系统
		PXE预启动执行环境(即Preboot execute environment) 是一种能够让计算机通过网络启动的引导方式,只要网卡支持PXE协议即可使用,用于在无人值守安装系统服务中引导客户机安装服 ... 
- centos7/rhel7下配置PXE+Kickstart自动安装linux系统
		应用场景:临时安装一个系统或者批量安装linux系统,无需人工介入选择下一步,减少在安装系统上的时间浪费,提高工作效率. DHCP + TFTP + Syslinux + FTP + Kickstar ... 
- PXE+Kickstart无人值守安装系统re
		PXE(Preboot Excute Environment)预启动执行环境,可以让计算机通过网络启动系统,主要用于无人值守安装系统中引导客户端主机安装Linux操作系统. 由于之前有过使用cobbl ... 
- Linux部署之批量自动安装系统之Kickstart篇
		1. 安装 2. 在桌面环境下啊配置 3. Kickstart之基本配置 4. Kickstart之安装方法 5. ... 
- PXE+kickstart自动安装ubuntu14.04
		本文参考了诸多文章,先感谢这些文章的作者. 使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp). 实验环境: 1. vmware 12 2 ... 
- PXE+Kickstart 自动安装CentOS系统
		PXE (preboot execcute environment) 依赖服务 dhcp tftp file server (yum repository) 准备TFTP服务器 如何配置TFTP服务 ... 
- CentOS7.2下PXE+kickstart自动化安装系统
		一.实验环境 操作系统:CentOS Linux release 7.2.1511 (Core) 网卡地址:192.168.100.147/24 光盘镜像:CentOS-7-x86_64-Minima ... 
- Linux部署之批量自动安装系统之测试篇
		1. 客户端从网络启动如下 2. 复制vesamenu.c32文件可解决上面的问题 3. 客户端再次启动 4. 选择第一个进 ... 
随机推荐
- 微信:JSSDK开发
			根据微信开发文档步骤如下: 1.先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. JS接口安全域名设置 mi.com(前面不用带www/http,域名必须备案过) 2.引 ... 
- 1.系统生命开发周期(SDLC)
			哎,首先我恭喜我,这学期学了一门老师们都说非常重要,而学生们都说哪里重要的课,它就是与<软件工程>课齐名的<系统分析与设计>!!骚年,不背不记,你就死定了!! 首先俺领你认识一 ... 
- dispatch_set_target_queue 说明
			参照:http://blog.csdn.net/growinggiant/article/details/41077221 http://codingobjc.com/blog/2013/05/07/ ... 
- angular(3)服务 --注入---自定义模块--单页面应用
			ng内部,一旦发生值改变操作,如$scope.m=x,就会自动轮询$digest队列,触发指定的$watch,调用其回调函数,然后修改dom树. 干货:https://github.com/xufei ... 
- 关于print和echo的区别
			我的想法是print是函数,echo是语句.有一个点很难去说明就是为什么可以执行print 666.可以这样不加括号,象print(666);至于为什么一定要认为print是函数,而非网上说的语句和函 ... 
- terminator 安装及使用
			1. 安装 $ sudo apt-get install terminator 2. 右键设置首选项 背景设置为0.8透明度, 字体挤在一起:在ubuntu下请选择mono后缀的字体就可以了 3. 使 ... 
- Codeforces 732F [边双联通分量][tarjan]
			/* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给一个无向图.现在要求给这个无向图的边加上方向. 定义f(x)为从x点出发能够到达的点的数目. 使得MIN(f(x))最大. 思路: 先tarja ... 
- Python基础篇【第5篇】: Python内置模块(二)
			内置模块 1. OS os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相当于shell ... 
- VC非法内存值的判断
			0xcdcdcdcd - Created but not initialised0xdddddddd - Deleted0xfeeefeee - Freed memory set by NT's he ... 
- ESET使用
			杀毒软件换了好几次,小红伞到ESET,感觉小红伞也可以但是就是更新上一直有些问题,所以狠心换成了ESET,这个安全套装感觉还是有模有样的. 
