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. 选择第一个进 ...
随机推荐
- Django Form and Modelform Admin定义 高级查询)
Django的form表单一般具有两种功能 1. 验证输入 2.输入HTML ---------模板----------- from django import forms class BookFor ...
- HTML JavaScripts
JavaScript JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. ...
- SonarQube的使用入门
SonarQube的安装.配置与使用 详情请参照原博客:http://www.cnblogs.com/qiaoyeye/p/5249786.html SonarQube是管理代码质量一个开放平台,可以 ...
- 清除系统日志及数据库(sql server)日志最佳实践
在一个项目中遇到的问题:系统日志过大,后来用delete语句删除了(相当的慢),结果数据库日志又变成很大了(差不多10G),所以又得把数据库日志删除. 方法: --备份系统中的部份日志--SELECT ...
- CentOS下Apache开启Rewrite功能
1.centos的配置文件放在: /etc/httpd/conf/httpd.conf 打开文件找到: LoadModule rewrite_module modules/mod_rewrite.so ...
- Nuget 常用命令
Update-Package -ProjectName 'NLog' -Reinstall 主题 about_NuGet 简短说明 提供有关 NuGet 程序包管理器命令的信息. 详细说明 本主题介绍 ...
- 如何让NGUI的对象在3D模型之上
假设场景中有两台摄像机, 一台是NGUI的摄像机, 另外一台是投影摄像机. 投影摄像机看的是3D模型, Depth比NGUI的摄像机要大, Clear Flags设置的是Depth only. 现在想 ...
- 模块化编程时,#include到底要放在哪里?
结合我自己的经验,谈一谈模块化编程时#include应该出现的位置.总结起来大体有二条规则: 一.规则1:只包含必要的头文件 看下面这个模块: ===foo.c==== #include <st ...
- [python实现设计模式]-4.观察者模式-吃食啦!
观察者模式是一个非常重要的设计模式. 我们先从一个故事引入. 工作日的每天5点左右,大燕同学都会给大家订饭. 然后7点左右,饭来了. 于是燕哥大吼一声,“饭来啦!”,5点钟定过饭的同学就会纷纷涌入餐厅 ...
- system verilog的一些总结(从其他博客复制来的)
转载自 http://blog.sina.com.cn/s/blog_e7fec2630101f5t9.html SystemVerilog是一种硬件描述和验证语言(HDVL),它基于IEEE 136 ...