码迷,mamicode.com
首页 > 系统相关 > 详细

kickstart+pxe无人值守安装linux

时间:2015-07-29 19:39:24      阅读:377      评论:0      收藏:0      [点我收藏+]

标签:linux   无人值守安装   pxe   kickstart

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服务器,并配置相关信息:

[root@fcy ~]# 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服务器:

[root@fcy ~]# service dhcpd start
Starting dhcpd:                                            [  OK  ]

    2)、安装FTP服务器:

[root@fcy ~]# 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服务器:

[root@fcy ~]# service xinetd start
Starting xinetd:                                           [  OK  ]

        端口69已经启动:

技术分享

    

    3)、导入引导内容:

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

技术分享


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

[root@fcy 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:

[root@fcy tftpboot]# mkdir pxelinux.cfg
[root@fcy tftpboot]# cp /media/cdrom/isolinux/isolinux.cfg pxelinux.cfg/default
[root@fcy 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:

[root@fcy pxelinux.cfg]# yum install system-config-kickstart -y
    ......(过程略)

        生成ks.cfg文件:

[root@fcy 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  "s@HOSTNAME.*@HOSTNAME=pxe$num.a.com@"   /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)

[root@fcy ~]# cp -r /media/cdrom/*  /var/ftp/pub

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

[root@fcy ~]# cp /root/ks.cfg /var/ftp/
[root@fcy ~]# 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服务:

[root@fcy ~]# service vsftpd start
Starting vsftpd for vsftpd:                                [  OK  ]


    5)、安装测试:

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

技术分享

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

技术分享

        

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

技术分享


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

技术分享


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

技术分享


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

技术分享


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

技术分享


5、总结

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

本文出自 “却邪水心泮” 博客,请务必保留此出处http://shmilyfl.blog.51cto.com/8897986/1679721

kickstart+pxe无人值守安装linux

标签:linux   无人值守安装   pxe   kickstart

原文地址:http://shmilyfl.blog.51cto.com/8897986/1679721

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!