pxe+kickstart进行多版本系统安装

背景

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

实验流程

前提

环境搭建
  三台虚拟机,一台预装centos系统,另外两台创建空机器就好(安装centos7的机器最好配置1.5g以上内存),selinux关闭,iptables规则清空。
软件需求
  system-config-kickstart 图形化的工具,生成kickstart文件(要求图形界面centos6和7的有一定区别,最好使用两台有图形的机器去生成kickstart文件)
  dhcp 搭建dhcp服务器给空白机器提供ip地址以便后续的系统部署
  tftp 提供基础系统引导文件
  httpd或者ftp提供软件包和kickstart文件的存储和支持网络访问
  syslinux 提供pxelinux.0文件
kickstart文件生成
  首先安装kickstart图形化工具

        yum install system-config-kickstart -y
        #我这里已经装过了就不再重复安装了


  安装完成后在终端输入

    system-config-kickstart


  6和7这个程序的界面基本相同。
  因为提供了中文,因此就不在过多截图和说明。跟着指示一步一步选择即可,全部选择完成后可以选择“文件”进行保存。

kickstart文件的结构分析
  centos6

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Firewall configuration
firewall --disabled
# Install OS instead of upgrade  指明是安装系统还是升级系统
install
# Use network installation 使用网络安装系统,指明包安装路径
url --url="http://192.168.99.150/centos/6"
# Root password 设定root密码
rootpw --iscrypted $1$83EH4TBr$Q.b9cbOc79IC4aXYbCO3A0
# System authorization information  密钥加密算法启用shadow文件
auth  --useshadow  --passalgo=sha512
# Use text mode install  使用文本模式或者图形模式安装系统
text
# System keyboard  键盘设定
keyboard us
# System language 语言设定
lang en_US
# SELinux configuration selinux是否关闭
selinux --disabled
# Do not configure the X Window System  是否安装图形界面
skipx
# Installation logging level 日志级别
logging --level=info
# Reboot after installation 声明安装完成后重启系统
reboot
# System timezone 设置时区(可以改成亚洲上海)
timezone  Africa/Abidjan
# System bootloader configuration 设定BootLoader
bootloader --location=mbr
# Clear the Master Boot Record  清除mbr记录
zerombr
# Partition clearing information 清除全部分区
clearpart --all --initlabel
# Disk partitioning information 分区设定
part /boot --fstype="ext4" --size=200
part / --fstype="ext4" --size=16000
part swap --fstype="swap" --grow --size=2048

%packages  安装的包设定(这里仅仅最小化安装)
@core

  
  centos7

#platform=x86, AMD64, 或 Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard ‘us‘
# Root password
rootpw --iscrypted $1$/oxkHD8i$x9g6m.ghBq2L3Vz6ENY7i0
# Use network installation
url --url="http://192.168.99.150/centos/7"
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use text mode install
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# Firewall configuration
firewall --disabled
# Reboot after installation
reboot
# System timezone
timezone Africa/Abidjan
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --fstype="xfs" --size=200
part / --fstype="xfs" --size=16000
part swap --fstype="swap" --grow --size=2048

%packages 安装包选项最小化安装 7在选择完包之后要添加%end表示结束
@^minimal
%end

服务搭建

DHCP构建

  1.安装dhcp

    yum install dhcp -y 


  2.创建dhcp地址段配置文件,安装dhcp之后会默认生成示例文件,只要对示例文件进行简单修改即可使用。

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

  3.修改文件,添加以下字段

subnet 192.168.99.0 netmask 255.255.255.0 {     #设定分配的子网和掩码
        range 192.168.99.160 192.168.99.200;         #设定地址范围
        option subnet-mask 255.255.255.0;              #设定掩码
        option routers 192.168.99.150;                     #指定网关地址
        default-lease-time 86400;                             #设定租约期,不设定话默认是全局时间
        max-lease-time 864000;                               #最大租约期,不设定继承全局
        next-server 192.168.99.150;                         #指定下一个服务器地址,用来指明提供ftp或者http服务的地址
        filename "pxelinux.0";
}

  4.启动服务并且设定开机启动

    chkconfig dhcpd on
    service dhcpd start
    #centos 7 使用systemctl enable dhcpd     systemctl start dhcpd

地址分配记录,新配置的应该不会有记录这里是实验完成后的记录。

    /var/lib/dhcpd/dhcpd.leases

配置httpd服务提供包的安装和kickstart文件

  1.通过yum方式安装httpd并且开机启动

yum install httpd -y
chkconfig httpd on
#centos7
#systemctl enable httpd

  2.创建相应目录挂载光盘文件(使用两个光驱挂载以便节省磁盘空间)以及存放ks文件。要注意权限,最好在挂载完成后在宿主机网页访问一下。

    mkdir -pv /var/www/html/centos/{6,7,ks}
    mount /dev/sr0 /var/www/html/centos/6/
    mount /dev/sr1 /var/www/html/centos/7/
    mv centos6.cfg centos7.cfg /var/www/html/ks/   #之前准备好的ks文件均为最小化安装

配置tftp服务并且准备启动文件

  1.安装tftp服务并且配置开机启动

    yum install tftp-server -y
    chkconfig tftp on
    chkconfig xinetd on (centos 6 tftp由xinetd管理)
    #centos7
    # systemctl enable tftp

  2.准备相关的启动文件及目录

mkdir /var/lib/tftpboot/pxelinux.cfg
mkdir -pv /var/lib/tftpboot/centos{6,7}
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
cp /var/www/html/centos/6/isolinux/vesamenu.c32 /var/lib/tftpboot/
cp /var/www/html/centos/6/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos6/
cp /var/www/html/centos/7/isolinux/{vmlinuz,initrd.img} /var/lib/tftpboot/centos7/
cp /var/www/html/centos/6/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default

  3.修改default菜单文件

#仅仅修改label字段
label linux7
  menu label Install centos^7
  kernel centos7/vmlinuz
  append initrd=centos7/initrd.img text ks=http://192.168.99.150/centos/ks/centos7.cfg
label linux6
  menu label Install centos^6
  kernel centos6/vmlinuz
  append initrd=centos6/initrd.img text ks=http://192.168.99.150/centos/ks/centos6.cfg

验证

  1.重启httpd dhcpd xinetd服务

service httpd restart
service dhcpd restart
service xinetd restart
#centos7使用systemctl命令重启服务,centos7不再使用xinetd管理tftp服务
#systemctl restart tftp 

  2.验证服务端口是否正常启动

ss -tunlp


  3.配置3台主机都到vmnat2段

  4.启动2台空白虚拟机分别安装centos6和centos7


  5.静静等待安装完成
  
  centos6


  
  centos7
.

总结

实验进行基本顺利,感觉对pxe过程的中的坑有了比较详细的了解,下篇会继续pxe的进阶cobbler的配置。

原文地址:http://blog.51cto.com/11010461/2120693

时间: 2024-11-10 21:59:34

pxe+kickstart进行多版本系统安装的相关文章

RHEL7/CentOS7 pxe+kickstart自动化系统安装

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

DHCP+VSFTPD+TFTP+Kickstart搭建PXE环境实现批量自动化系统安装

一.简介 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实现批量部署linux系统

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

CentOS 6.6下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无人值守安装系统

PXE+Kickstart无人值守安装系统 一.介绍 二.原理 三.安装部署PXE+kickstart 四.安装TFTP 五.安装DHCP 六.生成kickstart(ks.cfg)文件 七.安装HTTP 八.虚拟机测试自动安装 一.介绍 CentOS的安装方法挺多,最常见的有光盘.Kickstart无人值守安装.U盘安装及ISO硬盘安装等.如果现在让你安装100台服务器,甚至更多台服务器,你会用什么办法安装呢,用光盘?这样要损坏多少张光盘呢,价格也不菲,U盘安装?一台一台接,很累好不好,用ki

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

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

(转)PXE+kickstart无人值守安装CentOS 7

kickstart+cobbler系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 本文是PXE+kickstart无人值守安装CentOS6的续篇,主要是为了突出CentOS7和CentOS6配置kickstart时的不同点,例如pxelinux.cfg/default文件的变化,kickstart使用nfs提供时的bug等.为了文章的完整性和独立性,将很多CentOS6上直接复制搬到了本文. 1.1 PXE说明 所谓的PXE是Pre

使用 PXE+Kickstart 实现无人值守批量部署系统

一.废话两句 在云数据中心,一次几十台甚至几百台服务器上线,系统安装将变得非常繁琐,系统安装好了后还会涉及很多配置,如果一台台来安装的话工作量非常大.(虽然有加班费,开个玩笑)为了解决这个问题,我们需要实现无人值守批量部署系统. 简单看一下拓扑图: 1. 什么是PXE? 简单来说:PXE主要是引导作用,具体的详细信息这里就不多说了,详情百度即可. PXE引导流程: 2. 什么是Kickstart? 简单两句就是:Kickstart是一种无人值守的安装方式.它的工作原理是在安装过程中记录典型的需要

【我的Linux,我做主!】使用PXE+Kickstart无人值守安装服务

(一)了解kickstart安装的流程有时候在公司内部会需要批量安装操作系统,这个时候如果我们按照使用光盘镜像的方式来一台一台的安装操作系统,不仅耗时费力,而且效率低下.比如同时安装100台机器,按照传统的方式会需要准备100个刻录好的光盘,准备100个光驱,每台机器的操作系统配置都需要独立的配置一次,可能需要加班加点好几天才能够做好,如果我们可以使用批量自动化的方式安装操作系统,不仅对人员的损耗降低了,而且效率也会大大的得到提高.现在我们将介绍可以实现无人值守安装系统的PXE+Kickstar