kickstart+pxe无人值守安装linux

1、kickstart与pxe简介:

kickstart是RED HAT推出的一种无人值守的安装模式,它能实现大批量的客户机自动安装。一般情况下,我们在安装linux操作系统时,是以一种交互式应答的界面模式来决定我们的系统该如何安装,比如安装过程显示的语言,使用的键盘类型,所在的时区信息,要预先安装的软件包,磁盘分区信息等等类容。而kickstart所完成的功能就是将所有必须要回答的问题预先写入一张叫做ks.cfg的配置表中,然后引导进程找到这个配置表自动引导剩下的安装工作以及应答,实现自动化安装。

pxe是Intel公司研发的预启动执行环境技术,结合kickstart能实现客户端自动获得位于网络上的ks.cfg文件,引导安装文件等,实现用户只需要开机就能自动安装操作系统的轻便工作,无需再作额外的配置,即可轻松的完成大批量的客户端安装。

2、kickstart+pxe的实现流程:

3、实验环境:

VMware workstations 10  +  CentOS6.5-i386

DHCP服务器地址:192.168.47.100

TFTPfFF服务器地址:192.168.47.100

FTP服务器地址:192.168.47.100

安装树目录:/var/ftp/pub

引导程序目录:/var/lib/tftpboot

ks.cfg位置:/var/ftp/

4:实验步骤:

1)、安装DHCP服务器,并配置相关信息:

[[email protected] ~]# yum install dhcp -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Setting up Install Process
Resolving Dependencies
--> Running transaction check
......(过程略)
Installed:
  dhcp.i686 12:4.1.1-38.P1.el6.centos                                      

Dependency Installed:
  portreserve.i686 0:0.0.4-9.el6

打开DHCP的主配置文件(/etc/dhcp/dhcpd.conf),做如下修改:

由于新建的DHCP服务主配置文件无内容,所以在底行模式导入系统样板文件:

保留如下配置即可:

启动DHCP服务器:

[[email protected] ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]

2)、安装FTP服务器:

[[email protected] ~]# yum install vsftpd tftp-server -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Setting up Install Process
......(过程略)
Installed:
  tftp-server.i686 0:0.49-7.el6                                            

Dependency Installed:
  xinetd.i686 2:2.3.14-39.el6_4                                            

Complete!

由于tftp是依赖于xinetd的进程,所以配置文件在/etc/xinetd.d/tftp下:

启动tftp服务器:

[[email protected] ~]# service xinetd start
Starting xinetd:                                           [  OK  ]

端口69已经启动:

3)、导入引导内容:

找到tftp服务器的主目录/var/lib/tftpboot/,导入光盘上的isolinux目录下的内核和驱动文件

安装光盘上的syslinux软件包,得到网络引导文件pxelinux.0

[[email protected] tftpboot]# yum install syslinux -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Setting up Install Process
Resolving Dependencies
--> Running transaction check
......(过程略)
Installed:
  syslinux.i686 0:4.02-8.el6                                               

Dependency Installed:
  mtools.i686 0:4.0.12-1.el6                                               

Complete!

找到pxelinux.0这个文件(),拷贝到tftp服务器的根目录

创建目录pxelinux.cfg目录,将光盘上的网络引导程序拷贝进去并重命名为default:

[[email protected] tftpboot]# mkdir pxelinux.cfg
[[email protected] tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[[email protected] tftpboot]# ll
total 34944
-r--r--r--. 1 root root 31742048 Jul 29 23:26 initrd.img
-rw-r--r--. 1 root root    26828 Jul 29 23:31 pxelinux.0
drwxr-xr-x. 2 root root     4096 Jul 29 23:34 pxelinux.cfg
-r-xr-xr-x. 1 root root  4002656 Jul 29 23:26 vmlinuz

修改引导程序的内容

default linux    #将默认的引导菜单修改为第一个linux菜单
#prompt 1
timeout 60        #修改引导等待时间为60秒

display boot.msg

menu background splash.jpg
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000

label linux
  menu label ^Install or upgrade an existing system
  menu default
  kernel vmlinuz
  append initrd=initrd.img  ks=ftp://192.168.47.100/ks.cfg    #指定ks.cfg文件的位置,注意不要换行,不然会无法找到ks.cfg文件
  ......

4)、安装system-config-kickstart,生成自动化安装文件ks.cfg:

[[email protected] pxelinux.cfg]# yum install system-config-kickstart -y
    ......(过程略)

生成ks.cfg文件:

[[email protected] var]# system-config-kickstart
Xlib:  extension "RANDR" missing on display "localhost:12.0".
/usr/share/system-config-kickstart/kickstartGui.py:103: GtkWarning: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
  xml = gtk.glade.XML ("/usr/share/system-config-kickstart/system-config-kickstart.glade", domain="system-config-kickstart")
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * c6-media: 
Checking for new repos for mirrors

注意:此时会弹出一个对话框,点击左侧倒数第三个选项,如果无法发现可以安装的软件包,请重新配置好本地的yum源:

基本配置:

安装方式:

引导记录设置:

分区设置:

网络设置:

网络安全设置:

预安装包选择(按需选择):

安装后运行脚本(主要功能是将网卡内容主机名称固定):

#!/bin/bash
string=`ifconfig  eth0  |grep ‘inet\>‘   |awk  ‘{print  $2}‘`
num=${string##*.}
sed  -i  -e  "[email protected]*@[email protected]"   /etc/sysconfig/network
echo  "DEVICE=eth0\nONBOOT=yes\nBOOTPROTO=static\nIPADDR=192.168.47.$num\nNETMASK=255.255.255.0\nGATEWAY=192.168.47.254\n"  >/etc/sysconfig/network-scripts/ifcfg-eth0

生成ks.cfg文件并放置在/root目录下

在ks.cfg文件中添加一句poweroff,表示安装完成后将系统设置为关闭状态

4)、设置FTP服务器:

将光盘上的内容拷贝到FTP服务器上(/var/ftp/pub)

[[email protected] ~]# cp -r /media/cdrom/*  /var/ftp/pub

将修改好的ks.cfg文件拷贝到FTP服务器的根目录下(/var/ftp/)

[[email protected] ~]# cp /root/ks.cfg /var/ftp/
[[email protected] ~]# ll /var/ftp
total 8
-rw-r--r--. 1 root root 1403 Jul 30 00:48 ks.cfg
drwxr-xr-x. 6 root root 4096 Jul 29 23:43 pub

启动FTP服务:

[[email protected] ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]

5)、安装测试:

创建一个新的虚拟机,并设置硬件属性,其中网卡注意与服务器保持一致:

点击选项栏的虚拟机--》电源---》启动时进入BIOS,然后启动虚拟机

进入BIOS后选择BOOT的启动顺序,将网络启动移到最上面,按F10保存退出:

通过MAC地址向DHCP服务器获取动态地址:

找到FTP服务器,并下载ks.cfg文件:

开始自动化安装操作系统:

由于设置原因,安装完成后会自动关闭系统,重新启动系统,进入查看主机名和网卡信息:

5、总结

在做实验之前,一定要了解kickstart和pxe的工作过程,以及需要哪些服务的支持和软件、文件的引导。只有这样,才能正确、快速的搭建一个无人值守安装的服务。

时间: 2025-01-05 02:59:06

kickstart+pxe无人值守安装linux的相关文章

Kickstart&&pxe智能化安装Linux系统

Kickstart&&pxe智能化安装Linux系统

Linux centos PXE无人值守安装 DHCP+TFTP+FTP+Kickstart

网络模式:NAT模式(共享主机的IP地址) DHCP / TFTP IP:192.168.220.137 HTTP / FTP / NFS IP:192.168.220.137 环境搭建: yum install -y tftp-server dhcp system-config-kickstart vsftp xinetd syslinux 1.挂载ISO文件然后把光盘中的文件拷贝至/var/ftp/pub中 mount /dev/cdrom /media/CentOS/ cp -Rf /me

linux之PXE+kickstart实现无人值守安装

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

kickstart无人值守安装Linux

kickstart无人值守安装Linux 1.安装vsftpd.tftp-server.dhcp-server和kickstart yum -y install vsftpd tftp* dhcp kickstart 2.设置vsftpd 挂载windows共享文件夹 mount -t cifs -o username=share,password=share //192.168.20.254/iso /mnt/iso 挂载iso文件到vsftpd的pub目录 mount -o loop /mn

无人值守安装 linux 系统

项目内容:利用网络安装技术,结合 Kickstart 程序脚本,实现无人值守安装 Linux 操作系统 项目目的:通过此技术,批量的完成成百上千台服务器系统的无人看管安装,节省大量时间. 1.首先配置好 PXE+DHCP+VSFTP 的环境,我们先使用图形化的方式生成一个kickstart 文件. 2.安装图形化 kickstart 程序包 [[email protected] ~]# yum install system-config-kickstart -y 3.运行图形化 system-c

RHEL6.4 KVM安装 网卡桥接设置 PXE无人值守安装虚拟机

实验需求:在Vmware里面安装KVM虚拟机,PXE引导无人值守安装虚拟机 --------------------------------------分割线 -------------------------------------- 1.在Vmware里面安装RHEL6.4 2.安装vmtools过程略...关闭防火墙与Selinux [[email protected] ~]# service iptables stop [[email protected] ~]# chkconfig i

cobbler pxe 无人值守安装

Centos 6.4 PXE无人值守安装 http://www.120ni.com/?id=28 Centos 6.4 Cobbler服务器简单搭建(一) http://www.120ni.com/?id=53 Centos 6.4 Cobbler使用详解(二) http://www.120ni.com/?id=54

PXE全自动安装Linux系统

PXE自动安装Linux系统 PXE安装系统是基于网络的方式安装的,所以需要网卡支持PXE才可以. 本次实验环境: 虚拟机:VMware-10.0.1 build-1379776 服务器端:CentOS 6.6 安装的版本:CentOS 6.6 本次搭建所有安装域下载的服务程序都是基于YUM安装的,如果不能外网安装请自建光盘YUM仓库,参考:http://kmk0226.blog.51cto.com/5975994/1662522 配置文件修改都为vim,如果没有需要安装 yum -y inst

PXE无人值守安装RHEL5.9操作系统

PXE无人值守安装RHEL5.9系统 实验要求: 使用PXE网络装机方式,实现为其他服务器无人值守自动安装RHEL5.9系统 实验步骤: 1.准备一台RHEL5.9操作系统的服务器,配好yum 2.安装软件system-config-kickstart.xinetd.tftp-server.dhcp.httpd 注:各软件用途 system-config-kickstart:图形化工具,用于生成自动装机的配置文件 tftp-server:提供tftp服务,用于装机过程中简单文件的传输 dhcp: