SlideShare une entreprise Scribd logo
1  sur  30
目   录
安徽工业经济职业技术学院 2010 届毕业论文(设计)




一、不适合本地安装的情况
  不适合本地安装的情况如下:
  ( 1 )无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地安装。

  ( 2 )非标准的软驱和光驱:虽然笔记本电脑都会配置光驱。但是并不一定都是标

准的 IDE 设备,有些通过 USB 接口或 1394 接口(例如 Samsung 的 Q10 )连接。在

Linux 安装时所引导的 Linux 内核一般都不会带这些接口的驱动,所以也无法通过本

地安装。
  ( 3 )在一些场合,如机房中有大量的计算机需要同时安装 Linux 。如果通过光驱的
方式逐台安装,不仅效率低,也不利于维护。
  ( 4 )光驱或安装光盘故障。



二、原理和概念
2.1 什么是 PXE

 2.1.1 PXE 技术的基本原理

     PXE 技术与 RPL 技术不同之处为 RPL 是静态路由, PXE 是动态路由。RPL 是根据

网卡上的 ID 号加上其他记录组成的一个 Frame (帧)向服务器发出请求。而服务器中

已有这个 ID 数据,匹配成功则进行远程启动。 PXE 则是根据服务器端收到的工件站

MAC 地址,使用 DHCP 服务为这个 MAC 地址指定个 IP 地址。每次启动可能同一台工

作站有与上次启动有不同的 IP ,即动态分配地址。下以客户端引导过程说明 PXE 的原
理。
 ( 1 )客户端开机后, PXE BootROM (自启动芯片)获得控制权之前执行自我测试,

然后以广播形式发出一个请求 FIND 帧。

  ( 2 )如果服务器收到客户端所送出的要求,就会送回 DHCP 回应,包括用户端的

IP 地址、预设通信通道,以及开机映像文件;否则服务器会忽略这个要求。



                           2
安徽工业经济职业技术学院 2010 届毕业论文(设计)




  ( 3 )客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件 ,

并把自己的 MAC 地址写到服务器端的 Netnames.db 文件中。

  ( 4 )将有更多的消息在客户端与服务器之间应答,用于决定启动参数。BootROM

由 TFTP 通信协议从服务器下载开机映像文档。客户端使用 TFTP 协议接收启动文件后
将控制权转交启动块以引导操作系统,完成远程启动。
  2.1.2 PXE 安装流程

  PXE 协议的成功运行需要解决以下的两个问题

  ( 1 )既然是通过网络传输,那么计算机在启动时其 IP 地址如何配置?

  ( 2 )通过何种下载 Linux 内核和根文件系统?

  第一个问题可以通过 DHCP Server 解决,由 DHCP Server 来为 PXE Client 分配一

个 IP 地址, DHCP Server 是用来为 DHCP Client 动态分配 IP 地址的协议。不过由于这

里是为 PXE Client 分配 IP 地址,所以在配置 DHCP Server 时需要增加相应的 PXE 特

有 配 置 ; 至 于 第 2 个 问 题 , 在 PXE Client 所 在 的 ROM 中 , 已 经 存 在 了 TFTP

Client 。PXE Client 使用 TFTP Client ,通过 TFTP 协议到 TFTP Server 上下载所需的文

件。这样, PXE 协议运行的条件就具备了, PXE 的安装流程如图所示。

  在图中, PXE Client 是需要安装 Linux 的计算机, TFTP Server 和 DHCP Server 运

行在另外一台 Linux Server 上, Bootstrap 文件、配置文件、Linux 内核,以及 Linux 根

文件系统都放置在 Linux Server 上 TFTP 服务器的根目录下。除了配置文件,这 3 个二

进制文件是 PXE Client 在工件过程中所必需的文件,即 bootstrap 、Linux 内核和 Linux

根文件系统。 Bootstrap 文件是可执行程序,它为用户提供简单的控制界面,并根据用

户的选择下载合适的 Linux 内核以及 Linux 根文件系统。




                              3
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                    图 1 PXE 的基本原理

2.2 什么是 KickStart

   KickStart 是一种无人职守安装方式。 KickStart 的工作原理是通过记录典型的安装

过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;在其后的安装

过程中 ( 不只局限于生成 KickStart 安装文件的机器 ) 当出现要求填写参数的情况时,安

装程序会首先去查找 KickStart 生成的文件,当找到合适的参数时,就采用找到的参数,



                                    4
安徽工业经济职业技术学院 2010 届毕业论文(设计)




当没有找到合适的参数时,才需要安装者手工干预。这样,如果 KickStart 文件涵盖了
安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取
ks.cfg 文件,然后去忙自己的事情。等安装完毕,安装程序会根据 ks.cfg 中设置的重启

选项来重启系统,并结束安装。


2.3 网络结构
  如图为网络安装环境的一个原理示意,安装环境由一个局域网和连接到该局域网
的启动服务器、安装服务器和待安装客户端,其中启动服务器和安装服务器可以部署
在同一台物理机上。




                        图 2 网络结构
下表列出了对这些机器的软硬件要求及其负载的服务与数据。
  系统名称                          安装和启动服务器                            待安装计算机
  操作系统   Red Hat Enterprise Linux 5                        无
   硬件    普通 X86 体系                                         普通 X86 体系,网卡必须带有 PXE

                                                           支持
   网络    同一子网
  服务类型   DHCP、TFTP 及 NFS                                   无
   数据    PXE Linux 启动镜像,kickstart 配置文件、RedHat Enterprise   无

         Linux 5 安装介质和 Red Hat Enterprise Linux 5 安装程序启动
         镜像


                             表 1 基本的软硬件要求



三、安装的前提条件
3.1 PXE+KickStart 安装的条件

                                      5
安徽工业经济职业技术学院 2010 届毕业论文(设计)




执行 PXE+KickStart 安装需要的设备为:

DHCP 服务器;

TFTP 服务器;

KickStart 所生成的 ks.cfg 配置文件

一台存放系统安装文件的服务器,如 NFS 、 HTTP 或 FTP 服务器。

带有一个 PXE 支持网卡的将安装的主机;

3.2 安装过程中所需要的 rpm 包及获取

3.2.1 需要的 rpm 软件包
nfs-utils-lib-*

nfs-utils- *

xinetd-*

tftp-server-*

dhcp-*

dhcp-devel-*

system-config-kickstart-*


3.2.2 软件包的获取 


1 、本地方式

一般情况下一些常用的安装包都可以在你的安装光盘中找到。
2 、网络方式

如果你无法在安装光盘中找到适合的安装包,你可以通过 yum 这种方式安装。



四、操作步骤:

                                    6
安徽工业经济职业技术学院 2010 届毕业论文(设计)




操 作 要 求 : 有一个 100 台机器的机房,要求需要批量安装 Red Hat Linux 操作系统,

服务器地址为 192.168.0.1 ,子网掩码为 255.255.255.0 ,使待安装的机器做的操作仅仅
是开机就可以自动安装操作系统。
4.1 配置 IP 地址

  ( 1 )在终端里输入 system-config-network-tui, 打开 IP 配置图形界面。




                         图 3 IP 配置命令




                            图 4 IP 配置界面(1)




                             7
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                             图 5 IP 配置界面(2)

( 2 )重启网卡, service network restart




                               8
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                           图 6 重启网卡及 IP 的配置情况

4.2 安装 rpm 包

  配置该服务器需要安装 dhcpd , tftp-server , nfs , system-config-kickstart ,等包。首

  先需要检查本机上是否已经安装了这些包,输入 rpm –qa | grep + 包名。




                           图 7 检查 RPM 包



                                9
安徽工业经济职业技术学院 2010 届毕业论文(设计)




如果没有安装这些包则需要通过 rpm –ivh + 包名一安装。

首先需要用 mount –t iso9660 /dev/cdrom /mnt/cdrom ( /mnt/cdrom 必需存在)来将

系统光盘挂载到 /mnt/cdrom 目录下。然后安装需要的 rpm 包。




                           图 8 挂载光盘




                           图 9 安装 RPM 包




                            10
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                         图 10 检查 NFS 包




                     图 11 安装 tftp-server 包




                     图 12 检查所有包的安装

4.3 配置 dhcp 服务

                          11
安徽工业经济职业技术学院 2010 届毕业论文(设计)




使用 vim 编辑器编辑 /etc/dhcp.conf 文件。




              图 13 dhcp 配置文件位置

由于是第一次编辑 dhcp.conf 所以里面的内容是空的,那么我们就需要将 /usr/shar/

doc/dhcp-3.0.5/dhcp.conf.sample 复制到 /etc 下并改名为 dhcp.conf




                             图 14 copy dhcp 示例配置文件

现在使用 vim 打开 /etc/dhcpd.conf 就可以看见系统自带的 dhcp 示例配置了。




                                 图 15 dhcp 示例配置文件内容
我们需要对它进行修改,我这里把它修改的尽量简单了。
ddns-update-style none;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

                                  12
安徽工业经济职业技术学院 2010 届毕业论文(设计)



        option routers 192.168.0.1;
    option subnet-mask 255.255.255.0;
#   option domain-name “example.com”;
#   option domain-name-servers 192.168.0.1;
        default-lease-time 21600;
        max-lease-time 43200;
        range 192.168.0.100 192.168.0.200;
        filename “/kickstart/ks.cfg”;
        next-server 192.168.0.1;
}

option space PXE;
class “PXE” {
        match if substring(option vendor-class-identifier, 0, 9) = “PXEClient”;
        option vendor-encapsulated-options 01:04:00:00:00:00:ff;
        option boot-size 0x1;
        filename “pxelinux.0”;
        option tftp-server-name “192.168.0.1”;
        option vendor-class-identifier “PXEClient”;
        vendor-option-space PXE;
}
红色部分都是要特别注意的地方,出错了就会导致服务器配置失败。




                               图 16 修改后的 dhcp 文件



需要注意的是字段 range 是给待安装的机器分配的的 IP 地址池, filename 字段是



                                     13
安徽工业经济职业技术学院 2010 届毕业论文(设计)




  ks.cfg 的位置,即待安装机器所需要的安装配置文件, next-server 是 tftp 服务器的

  位置。和下面的 tftp-server-name 字段是对应的。

4.4 配置 tftp 服务

  tftp 是为了给待安装的机器发送文件的简单的文件传输服务。

  这个配置还是比较简单的,只需要把这个服务给启用就可以了。
  使用 vim 编辑器打开 /etc/xinetd.d/tftp 文件




                           图 17 tftp 配置文件位置

  将里面的 disable 字段值改为 no ,保存退出就可以了。




                           图 18 tftp 配置情况



4.5 配置 nfs 服务

                               14
安徽工业经济职业技术学院 2010 届毕业论文(设计)




nfs 服务是将安装过程所需要的一些文件共享出来,这个也是比较简单的。

使用 vim 编辑器打开 /etc/exports 文件,只要将你想共享的文件夹写入其中就可以

了 , 我 们 这 里 需 要 把 /kickstart /tftpboot /linuxinstall 给 共 享 出 来 就 可 以 了 , 其

中 /kickstart 文 件 , linuxinstall 文 件 都 是 我 们 自 己 建 立 的 , 将 在 后 面 建 立 。 而

/tftpboot 文件夹是在安装 tftp-server 的 rpm 包时候自动建立的。




                           图 19 nfs 配置文件位置




                               图 20 nfs 配置

其中 * 表示任何主机都可以访问, ro 表示 read only ,只读权限, sync 表示与服务器
同步。
通过输入 service nfs restart 重启 nfs 服务,然后我们输入 exportfs 可以看见我们共
享的文件。

                                15
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                              图 21 exportfs 命令

4.6 配置 ks.cfg 文件

  ks.cfg 是待安装机器的所有的配置文件,每台机器在安装过 linux 系统以后都会自

  动生成一个 ks.cfg 文件里面记录了在安装系统的时候所做的所有操作,文件的位置

  位于 /root 目录下的 anaconda-ks.cfg 。




                              图 22 anaconda-ks.cfg 文件

  下面是我自己的 anaconda-ks.cfg 文件。

  我是通过 pxe 从网络自动安装的系统,所以和光盘安装有所不同。




                               16
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                 图 23 anaconda-ks.cfg 内容

这个文件也可以通过 system-config-kickstart 的图形界面来编辑。前提需要安装这个

rpm 包,系统光盘自带这个包。下面的是 kickstart configurator 图形界面。




                 图 24 kickstart configurator 窗口


                           17
安徽工业经济职业技术学院 2010 届毕业论文(设计)




下面是笔者的 ks.cfg 配置内容。
Text
key –skip
keyboard us
lang en_US
langsupport –default en_US en_US
network –bootproto dhcp
nfs –server=192.168.0.1 –dir=/linuxinstall
zerombr yes
clearpart –all
part swap –size 512
part /boot –size 100
part pv.01 –size 14000
volgroup vol0 pv.01
logvol / --vgname=vol0 –size=8192 –name=root
logvol /home –vgname=vol0 –size=500 –name=home
timezone Asia/Shanghai –utc
xconfig –resolution=1024x768 –depth=16 –startxonboot
rootpw redhat
authconfig –useshadow –enablemd5
firewall –disabled
bootloader
reboot

%packages
@ GNOME Desktop Environment
@ X Window System
@ Printing Support
@ Development Tools
elinks
openssh
openssh-server
openssh-clients
vim-enhanced
samba-common
samba-client
gimp
gimp-data-extras
enscript
libcap
ntp
coreutils
elfutils

                                  18
安徽工业经济职业技术学院 2010 届毕业论文(设计)



 elfutils-libelf
 gimp-print-plugin
 gnome-icon-theme
 gstreamer
 gstreamer-tools
 libgnomeprint22
 libgnomeprintui22
 libgsf
 libIDL
 libraw1394
 nautilus-cd-burner
 openmotif
 pyorbit
 startup-notification
 ttmkfdir
 firefox
 mutt

 %post
 # Set the time, then set the hardware clock
 ntpdate –b 192.168.0.1
 hwclock –systohc –utc
 # These accounts should be consolidated
 useradd student
 echo “student” | passwd –stdin student
 useradd visitor
 echo “password” | passwd –stdin visitor
 umount 192.168.0.1:/kickstart


 其中第一句 text 表示以字符界面安装, %packages 表示需要安装的包, %post 表示

 系统安装过后所执行的脚本。红色部分一定要注意,指定系统是通过 nfs 来安装的,

 安装路径是 /linuxinstall

 配置好以后保存为 ks.cfg ,放在后面我们建立了 /kickstart 目录下。

4.7 创建所需文件夹

 上面我们共享出了 kickstart 和 linuxinstall 文件夹,但是系统上并没有这两个文件

 夹,所以就需要我们来建立这两个文件夹,使用 mkdir 命令来执行新建操作。



                                      19
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                                 图 25 创建文件夹




 然后将上步创建的 ks.cfg 保存到 /kickstart 中,需要注意的是在配置 dhcp.conf 文件

 中 , 我 们 就 指 定 了 filename “/kickstart/ks.cfg” 所 以 路 径 一 定 不 能 搞 错 。 你 在

 dhcp.conf 中写的路径是什么你就需要把你的 ks.cfg 放在什么样的路径。并且要通过

 nfs 给共享出来。

 而 /linuxinstall 文件夹放的系统安装文件。


4.8 配置支持 PXE 启动

 这步需要将 linux 内核复制到 tftpboot 文件夹内。
 mount –t iso9660 /dev/cdrom /mnt/cdrom
 # 挂载光盘到 /mnt/cdrom


 cd /tftpboot/
 #tfp-server 指定的根目录位置 ( 若该文件夹已经存在则不用建立 , 通常重启 tftp 服务

 后会自动建立 )


 cp /usr/lib/syslinux/pxelinux.0 /tftpboot
 #pxelinux.0 是 pxe 方式的 boot loader, 如果你发现没有这个目录,不要紧张 , 找 到

 syslinux 这个软件包就 OK 了


 cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot/
 cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot/
 # 把 Linux 第一张安装光盘上 /image/pxeboot/initrd.img 和 vmlinux 复制到 /tftpboot/

                                       20
安徽工业经济职业技术学院 2010 届毕业论文(设计)



中

mkdir /tftpboot/pxelinux.cfg
# 在 tftpboot 中新建一个 pxelinux.cfg 目录




                           图 26 pxelinux.cfg 文件目录

由于启动镜像 pxelinux.0 文件在执行过程中,会读取配置文件以确定它应该载入什

么 Linux 内 核 文 件 来 运 行 。 所 有 的 配 置 文 件 都 放 在 启 动 服 务 器 的

/tftpboot/pxelinux.cfg/ 目录下。pxelinux.0 根据一定的规则来搜索合适的配置文件名。

比如说 C0A88A1E > C0A88A1 > … > C0 > C > default 就是说,如果 C0A88A1E

文 件 存 在 , 它 就 是 pxelinux.0 将 载 入 的 配 置 文 件 。 否 则 , 继 续 往 下 找 。 如 果

C0A88A1 文件存在,它就是 pxelinux.0 将载入的配置文件。如果前面的以 C 开头

的文件都不存在,那么 pxelinux.0 将试图从文件 default 中读取配置。对于一台需要

支持很多安装机器的安装服务器来说,将配置写在与 IP 地址对应的文件里很不灵

活。把所有配置都集中在 default 文件中是个不错的主意,可以减轻配置文件维护负

担。 这里也是为什么要建立 pxelinux.cfg 文件夹。所以接下来就要在 pxelinux.cfg 里

建 立 default 文 件 , 系 统 盘 里 也 有 这 个 文 件 , 位 于 系 统 盘 的 isolinux 下 的

isolinux.cfg 但是我这里不借用它的 default 文件,所以这是我们使用 vim 编辑器在

pxelinux.cfg 中直接建立一个 default 文件。



                                    21
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                              图 27 创建 default 文件
 直接在里面写入一句话就可以了
 default linux
 label linux
   kernel vmlinuz
   append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks noipv6




                              图 28 default 文件内容
 这样写的好处在于不用在待安装机器启动的时候做一些别的操作。
 接下来是要在 /linuxinstall 文件夹中放入系统盘内的文件,你在挂载光盘后可以直

 接使用 cp –r /mnt/cdrom /linuxinstall 将文件复制到 /linuxinstall 中,不过这样做还

 是比较麻烦的,我直接使用 mount –t iso9660 /dev/cdrom /linuxinstall 把系统光盘

 给挂载到 /linuxinstall 中。

4.9 启动服务器
  到这里我们的服务器可以说是配置的差不多了,剩下的就只要将这些服务给启动
 起来就可以了。
   service dhcpd start

                                   22
安徽工业经济职业技术学院 2010 届毕业论文(设计)




    # 启动 dhcpd 服务


    chkconfig dhcpd on
    #dhcpd 服务开机自动启动


    service nfs restart
    # 重启 nfs 服务


    chkconfig nfs on
    #nfs 服务开机自动启动


    service xinetd start
    # 启动 xinetd 服务


    chkconfig xinetd on
    #xinetd 服务开机自动启动


4.10 测试

    将待安装机器启动起来,进入 bios 界面,将启动方式改为从网络启动,保存退

  出重启即可,有的机器则不用进入 bios 就可以直接进入安装界面。主要过程如下:


    正在获取 IP 地址




                               23
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                         图 29 获取 IP 地址



获取到 IP 地址后,从 tftp 服务器上读取内核及 default 配置文件并执行安装




                   图 30 获取内核文件



                    24
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                    图 31 执行安装

 从 nfs 上加载文件




                    图 32 加载文件


格式化磁盘




                     25
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                 图 33 格式化磁盘
安装操作系统




                 图 34 正在安装系统


安装完成,并重新启动计算机




                    26
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                    图 35 安装完成并重启
 重新启动后,系统已经安装成功。

五、常见故障排除
 5.1 无法分配到 IP 地址

 如果安装开始的时候无法分配到 IP 地址,则说明你服务器的 dhcp.conf 配置的有问

 题,有可能你的语法有问题,比如说少了个分号 (;), 又或者单词写的有问题,这些

 语法错误会导致 dhcp 服务启动失败。

 5.2 tftp 无法连接




                       27
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                         图 36 tftp 无法连接

  上面也指出了错误的所在了,表示了无法连接到 tftp 服务器,导致这个错误的

主要原因是在你的 dhcp.conf 文件的 next-server 和 tftp-server-name 两个字段上,

如果这两个字段没有正确的指出 tftp 服务器的地址的话,一般就会出现这样的问题。

这类问题一般都出现在 dhcp 服务器的配置上面,因为当待安装机器在局域网内广

播需要分配 IP 地址的时候,服务器会将 IP 地址和一些安装文件的地址返回给待安

装机器上,如果 dhcp 出现了问题则无法将这些地址返回回来,这就导致了待安装
机器不知道从何处来获取安装文件。
5.3 无法获取 ks.cfg 文件

  可以获取到 dhcp 服务器分配的 IP 地址,也可以从 tftp 服务器上获取内核文件,

并加载,但是在读取 ks.cfg 文件的时候出现了错误。如下图。




                          28
安徽工业经济职业技术学院 2010 届毕业论文(设计)




                   图 37 无法获取 ks.cfg 文件

 出现了这样的问题则说明你的客户端是知道 ks.cfg 的位置的,但是就是无法读取,

 所以我们看看服务器的 ks.cfg 的权限,一般都是客户端的权限不够,所以只要更改

 一下 ks.cfg 文件的权限这样的问题一般都是可以解决的。使用 chmod 命令来更改权
 限。




                   图 38 更改 ks.cfg 文件权限

 基本上到此服务器已经配置好了,可以执行批量的安装 Red Hat Linux 操作系统了。

六、结论
  本论文通过搭建 kickstart 无人值守服务器,介绍了一些基本 Linux 服务器的简

                       29
安徽工业经济职业技术学院 2010 届毕业论文(设计)




单搭建,例如 dhcp , nfs , tftp 服务器的搭建,具体的步骤也都比较明确的写出来

了。由于接触 Linux 还是比较迟,所以或许没有那么的完善,在写的过程中遇到很
多古怪的问题,不过在老师的帮助下以及在网络和书本上查找大量资料才最终将他
们一一的克服了
    通过这样一篇论文使自己在 Linux 方面有了更深一层的认识,为以后自己
在学习和工作中多出了一定的经验。




                     30

Contenu connexe

Tendances

基于PXE实现部署Linux服务器
基于PXE实现部署Linux服务器基于PXE实现部署Linux服务器
基于PXE实现部署Linux服务器ekoing
 
Puppet安装总结
Puppet安装总结Puppet安装总结
Puppet安装总结Yiwei Ma
 
S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guidephantoxe
 
域名系统简介
域名系统简介域名系统简介
域名系统简介lurga
 
Linux必学的60个命令
Linux必学的60个命令Linux必学的60个命令
Linux必学的60个命令yiditushe
 
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版xingsu1021
 
Aix操作系统培训文档
Aix操作系统培训文档Aix操作系统培训文档
Aix操作系统培训文档lwj2012
 
Linux服务器服务配置说明
Linux服务器服务配置说明Linux服务器服务配置说明
Linux服务器服务配置说明Da Zhao
 
淺談Debian套件打包
淺談Debian套件打包淺談Debian套件打包
淺談Debian套件打包Wen Liao
 
尚观Linux研究室 linux驱动程序全解析
尚观Linux研究室   linux驱动程序全解析尚观Linux研究室   linux驱动程序全解析
尚观Linux研究室 linux驱动程序全解析hangejnu
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zendwensheng wei
 
Lamp安全全攻略
Lamp安全全攻略Lamp安全全攻略
Lamp安全全攻略Da Zhao
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档xuebao_zx
 
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理haiyuan ning
 
Linux安全配置终极指南
Linux安全配置终极指南Linux安全配置终极指南
Linux安全配置终极指南wensheng wei
 
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newX64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newYiwei Ma
 
Free Bsd7.2 Install V1.6
Free Bsd7.2 Install V1.6Free Bsd7.2 Install V1.6
Free Bsd7.2 Install V1.6Jainan O
 

Tendances (19)

基于PXE实现部署Linux服务器
基于PXE实现部署Linux服务器基于PXE实现部署Linux服务器
基于PXE实现部署Linux服务器
 
Puppet安装总结
Puppet安装总结Puppet安装总结
Puppet安装总结
 
S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guide
 
域名系统简介
域名系统简介域名系统简介
域名系统简介
 
Linux必学的60个命令
Linux必学的60个命令Linux必学的60个命令
Linux必学的60个命令
 
利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版利用Cent Os快速构建自己的发行版
利用Cent Os快速构建自己的发行版
 
Aix操作系统培训文档
Aix操作系统培训文档Aix操作系统培训文档
Aix操作系统培训文档
 
Linux服务器服务配置说明
Linux服务器服务配置说明Linux服务器服务配置说明
Linux服务器服务配置说明
 
淺談Debian套件打包
淺談Debian套件打包淺談Debian套件打包
淺談Debian套件打包
 
尚观Linux研究室 linux驱动程序全解析
尚观Linux研究室   linux驱动程序全解析尚观Linux研究室   linux驱动程序全解析
尚观Linux研究室 linux驱动程序全解析
 
CentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 ZendCentOS5 apache2 mysql5 php5 Zend
CentOS5 apache2 mysql5 php5 Zend
 
Lamp安全全攻略
Lamp安全全攻略Lamp安全全攻略
Lamp安全全攻略
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
 
Dns
DnsDns
Dns
 
Asm+aix
Asm+aixAsm+aix
Asm+aix
 
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
 
Linux安全配置终极指南
Linux安全配置终极指南Linux安全配置终极指南
Linux安全配置终极指南
 
X64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 newX64服务器 lamp服务器部署标准 new
X64服务器 lamp服务器部署标准 new
 
Free Bsd7.2 Install V1.6
Free Bsd7.2 Install V1.6Free Bsd7.2 Install V1.6
Free Bsd7.2 Install V1.6
 

En vedette

Get Any Case Thrown Out - Free Booklet
Get Any Case Thrown Out - Free BookletGet Any Case Thrown Out - Free Booklet
Get Any Case Thrown Out - Free BookletChuck Thompson
 
Comparison of the forecasting techniques – arima, ann and svm a review-2
Comparison of the forecasting techniques – arima, ann and svm   a review-2Comparison of the forecasting techniques – arima, ann and svm   a review-2
Comparison of the forecasting techniques – arima, ann and svm a review-2IAEME Publication
 
Defrag my Mac
Defrag my MacDefrag my Mac
Defrag my MacDaizy1
 
Supersaturaatio, markkinointiviestinnän viikko TRE
Supersaturaatio, markkinointiviestinnän viikko TRESupersaturaatio, markkinointiviestinnän viikko TRE
Supersaturaatio, markkinointiviestinnän viikko TREMarkus Keränen
 
Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01
Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01
Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01juko101
 
Bicentenario revolcion mayo y oriental
Bicentenario revolcion mayo y oriental Bicentenario revolcion mayo y oriental
Bicentenario revolcion mayo y oriental bloghistoria5h7
 

En vedette (11)

Get Any Case Thrown Out - Free Booklet
Get Any Case Thrown Out - Free BookletGet Any Case Thrown Out - Free Booklet
Get Any Case Thrown Out - Free Booklet
 
Comparison of the forecasting techniques – arima, ann and svm a review-2
Comparison of the forecasting techniques – arima, ann and svm   a review-2Comparison of the forecasting techniques – arima, ann and svm   a review-2
Comparison of the forecasting techniques – arima, ann and svm a review-2
 
Defrag my Mac
Defrag my MacDefrag my Mac
Defrag my Mac
 
Artigas
ArtigasArtigas
Artigas
 
Ewrt 1 b class 21
Ewrt 1 b class 21Ewrt 1 b class 21
Ewrt 1 b class 21
 
Front cover
Front coverFront cover
Front cover
 
Supersaturaatio, markkinointiviestinnän viikko TRE
Supersaturaatio, markkinointiviestinnän viikko TRESupersaturaatio, markkinointiviestinnän viikko TRE
Supersaturaatio, markkinointiviestinnän viikko TRE
 
Sony LMD 1751W
Sony LMD 1751WSony LMD 1751W
Sony LMD 1751W
 
Two fundamental approaches to social media
Two fundamental approaches to social mediaTwo fundamental approaches to social media
Two fundamental approaches to social media
 
Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01
Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01
Icttosupportacreativecurriculuminyears1and2 101006034102-phpapp01
 
Bicentenario revolcion mayo y oriental
Bicentenario revolcion mayo y oriental Bicentenario revolcion mayo y oriental
Bicentenario revolcion mayo y oriental
 

Similaire à Kick start无人值守批量安装linux

S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guidephantoxe
 
第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络F.l. Yu
 
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理Jason Zheng
 
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gChien Chung Shen
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理frankwsj
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)heima911
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano旭 張
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 Lheima911
 
unix toolbox 中文版
unix toolbox 中文版unix toolbox 中文版
unix toolbox 中文版Jie Bao
 
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)Yiwei Ma
 
Unixtoolbox zh cn
Unixtoolbox zh cnUnixtoolbox zh cn
Unixtoolbox zh cnxdboy2006
 
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)acqua young
 
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程NJU OPEN
 
VMware Rhel5 Oracle10g Rac
VMware Rhel5 Oracle10g RacVMware Rhel5 Oracle10g Rac
VMware Rhel5 Oracle10g Racguest77e407
 
Sery lvs+keepalived
Sery lvs+keepalivedSery lvs+keepalived
Sery lvs+keepalivedcolderboy17
 
Hadoop平台搭建
Hadoop平台搭建Hadoop平台搭建
Hadoop平台搭建Liyang Tang
 

Similaire à Kick start无人值守批量安装linux (20)

S3C44B0 User Guide
S3C44B0 User GuideS3C44B0 User Guide
S3C44B0 User Guide
 
第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络第11讲 管理Cisco互联网络
第11讲 管理Cisco互联网络
 
使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理使用Rpm&yum进行基础软件管理
使用Rpm&yum进行基础软件管理
 
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11gOracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
Oracle管理藝術第1章 在Linux作業體統安裝Oracle 11g
 
自动化运维管理
自动化运维管理自动化运维管理
自动化运维管理
 
LinuxGuide4F2E
LinuxGuide4F2ELinuxGuide4F2E
LinuxGuide4F2E
 
Linuxguide4f2e
Linuxguide4f2eLinuxguide4f2e
Linuxguide4f2e
 
九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)九州通 Tsm重新配置文档(2008 11 10)
九州通 Tsm重新配置文档(2008 11 10)
 
Deployment with Capistrano
Deployment with CapistranoDeployment with Capistrano
Deployment with Capistrano
 
Install Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 LInstall Oracle11g For Aix 5 L
Install Oracle11g For Aix 5 L
 
unix toolbox 中文版
unix toolbox 中文版unix toolbox 中文版
unix toolbox 中文版
 
康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)康盛创想项目部Linux 服务器部署标准(最新版)
康盛创想项目部Linux 服务器部署标准(最新版)
 
Unixtoolbox zh cn
Unixtoolbox zh cnUnixtoolbox zh cn
Unixtoolbox zh cn
 
unixtoolbox_zh_CN
unixtoolbox_zh_CNunixtoolbox_zh_CN
unixtoolbox_zh_CN
 
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
Install oracle ebs r12.1.1 on OEL5.6 x86(include demo)
 
[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程[精彩回顾]Linux新手教程
[精彩回顾]Linux新手教程
 
VMware Rhel5 Oracle10g Rac
VMware Rhel5 Oracle10g RacVMware Rhel5 Oracle10g Rac
VMware Rhel5 Oracle10g Rac
 
Sery lvs+keepalived
Sery lvs+keepalivedSery lvs+keepalived
Sery lvs+keepalived
 
Gentoo linux
Gentoo linuxGentoo linux
Gentoo linux
 
Hadoop平台搭建
Hadoop平台搭建Hadoop平台搭建
Hadoop平台搭建
 

Plus de Yiwei Ma

Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconCibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconYiwei Ma
 
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconCibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconYiwei Ma
 
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconTaobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconYiwei Ma
 
Alibaba server-zhangxuseng-qcon
Alibaba server-zhangxuseng-qconAlibaba server-zhangxuseng-qcon
Alibaba server-zhangxuseng-qconYiwei Ma
 
Zhongxing practice-suchunshan-qcon
Zhongxing practice-suchunshan-qconZhongxing practice-suchunshan-qcon
Zhongxing practice-suchunshan-qconYiwei Ma
 
Taobao practice-liyu-qcon
Taobao practice-liyu-qconTaobao practice-liyu-qcon
Taobao practice-liyu-qconYiwei Ma
 
Thoughtworks practice-hukai-qcon
Thoughtworks practice-hukai-qconThoughtworks practice-hukai-qcon
Thoughtworks practice-hukai-qconYiwei Ma
 
Ufida design-chijianqiang-qcon
Ufida design-chijianqiang-qconUfida design-chijianqiang-qcon
Ufida design-chijianqiang-qconYiwei Ma
 
Spring design-juergen-qcon
Spring design-juergen-qconSpring design-juergen-qcon
Spring design-juergen-qconYiwei Ma
 
Netflix web-adrian-qcon
Netflix web-adrian-qconNetflix web-adrian-qcon
Netflix web-adrian-qconYiwei Ma
 
Google arch-fangkun-qcon
Google arch-fangkun-qconGoogle arch-fangkun-qcon
Google arch-fangkun-qconYiwei Ma
 
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconCibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconYiwei Ma
 
Alibaba arch-jiangtao-qcon
Alibaba arch-jiangtao-qconAlibaba arch-jiangtao-qcon
Alibaba arch-jiangtao-qconYiwei Ma
 
Twitter keynote-evan-qcon
Twitter keynote-evan-qconTwitter keynote-evan-qcon
Twitter keynote-evan-qconYiwei Ma
 
Netflix keynote-adrian-qcon
Netflix keynote-adrian-qconNetflix keynote-adrian-qcon
Netflix keynote-adrian-qconYiwei Ma
 
Facebook keynote-nicolas-qcon
Facebook keynote-nicolas-qconFacebook keynote-nicolas-qcon
Facebook keynote-nicolas-qconYiwei Ma
 
Domainlang keynote-eric-qcon
Domainlang keynote-eric-qconDomainlang keynote-eric-qcon
Domainlang keynote-eric-qconYiwei Ma
 
Devjam keynote-david-qcon
Devjam keynote-david-qconDevjam keynote-david-qcon
Devjam keynote-david-qconYiwei Ma
 
Baidu keynote-wubo-qcon
Baidu keynote-wubo-qconBaidu keynote-wubo-qcon
Baidu keynote-wubo-qconYiwei Ma
 
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011Yiwei Ma
 

Plus de Yiwei Ma (20)

Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconCibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
 
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconCibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
 
Taobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qconTaobao casestudy-yufeng-qcon
Taobao casestudy-yufeng-qcon
 
Alibaba server-zhangxuseng-qcon
Alibaba server-zhangxuseng-qconAlibaba server-zhangxuseng-qcon
Alibaba server-zhangxuseng-qcon
 
Zhongxing practice-suchunshan-qcon
Zhongxing practice-suchunshan-qconZhongxing practice-suchunshan-qcon
Zhongxing practice-suchunshan-qcon
 
Taobao practice-liyu-qcon
Taobao practice-liyu-qconTaobao practice-liyu-qcon
Taobao practice-liyu-qcon
 
Thoughtworks practice-hukai-qcon
Thoughtworks practice-hukai-qconThoughtworks practice-hukai-qcon
Thoughtworks practice-hukai-qcon
 
Ufida design-chijianqiang-qcon
Ufida design-chijianqiang-qconUfida design-chijianqiang-qcon
Ufida design-chijianqiang-qcon
 
Spring design-juergen-qcon
Spring design-juergen-qconSpring design-juergen-qcon
Spring design-juergen-qcon
 
Netflix web-adrian-qcon
Netflix web-adrian-qconNetflix web-adrian-qcon
Netflix web-adrian-qcon
 
Google arch-fangkun-qcon
Google arch-fangkun-qconGoogle arch-fangkun-qcon
Google arch-fangkun-qcon
 
Cibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qconCibank arch-zhouweiran-qcon
Cibank arch-zhouweiran-qcon
 
Alibaba arch-jiangtao-qcon
Alibaba arch-jiangtao-qconAlibaba arch-jiangtao-qcon
Alibaba arch-jiangtao-qcon
 
Twitter keynote-evan-qcon
Twitter keynote-evan-qconTwitter keynote-evan-qcon
Twitter keynote-evan-qcon
 
Netflix keynote-adrian-qcon
Netflix keynote-adrian-qconNetflix keynote-adrian-qcon
Netflix keynote-adrian-qcon
 
Facebook keynote-nicolas-qcon
Facebook keynote-nicolas-qconFacebook keynote-nicolas-qcon
Facebook keynote-nicolas-qcon
 
Domainlang keynote-eric-qcon
Domainlang keynote-eric-qconDomainlang keynote-eric-qcon
Domainlang keynote-eric-qcon
 
Devjam keynote-david-qcon
Devjam keynote-david-qconDevjam keynote-david-qcon
Devjam keynote-david-qcon
 
Baidu keynote-wubo-qcon
Baidu keynote-wubo-qconBaidu keynote-wubo-qcon
Baidu keynote-wubo-qcon
 
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011淘宝线上线下性能跟踪体系和容量规划-Qcon2011
淘宝线上线下性能跟踪体系和容量规划-Qcon2011
 

Kick start无人值守批量安装linux

  • 1.
  • 2. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 一、不适合本地安装的情况 不适合本地安装的情况如下: ( 1 )无软驱和光驱:如果计算机不带光驱或软驱,则无法通过本地安装。 ( 2 )非标准的软驱和光驱:虽然笔记本电脑都会配置光驱。但是并不一定都是标 准的 IDE 设备,有些通过 USB 接口或 1394 接口(例如 Samsung 的 Q10 )连接。在 Linux 安装时所引导的 Linux 内核一般都不会带这些接口的驱动,所以也无法通过本 地安装。 ( 3 )在一些场合,如机房中有大量的计算机需要同时安装 Linux 。如果通过光驱的 方式逐台安装,不仅效率低,也不利于维护。 ( 4 )光驱或安装光盘故障。 二、原理和概念 2.1 什么是 PXE 2.1.1 PXE 技术的基本原理 PXE 技术与 RPL 技术不同之处为 RPL 是静态路由, PXE 是动态路由。RPL 是根据 网卡上的 ID 号加上其他记录组成的一个 Frame (帧)向服务器发出请求。而服务器中 已有这个 ID 数据,匹配成功则进行远程启动。 PXE 则是根据服务器端收到的工件站 MAC 地址,使用 DHCP 服务为这个 MAC 地址指定个 IP 地址。每次启动可能同一台工 作站有与上次启动有不同的 IP ,即动态分配地址。下以客户端引导过程说明 PXE 的原 理。 ( 1 )客户端开机后, PXE BootROM (自启动芯片)获得控制权之前执行自我测试, 然后以广播形式发出一个请求 FIND 帧。 ( 2 )如果服务器收到客户端所送出的要求,就会送回 DHCP 回应,包括用户端的 IP 地址、预设通信通道,以及开机映像文件;否则服务器会忽略这个要求。 2
  • 3. 安徽工业经济职业技术学院 2010 届毕业论文(设计) ( 3 )客户端收到服务器发回的响应后则会回应一个帧,以请求传送启动所需文件 , 并把自己的 MAC 地址写到服务器端的 Netnames.db 文件中。 ( 4 )将有更多的消息在客户端与服务器之间应答,用于决定启动参数。BootROM 由 TFTP 通信协议从服务器下载开机映像文档。客户端使用 TFTP 协议接收启动文件后 将控制权转交启动块以引导操作系统,完成远程启动。 2.1.2 PXE 安装流程 PXE 协议的成功运行需要解决以下的两个问题 ( 1 )既然是通过网络传输,那么计算机在启动时其 IP 地址如何配置? ( 2 )通过何种下载 Linux 内核和根文件系统? 第一个问题可以通过 DHCP Server 解决,由 DHCP Server 来为 PXE Client 分配一 个 IP 地址, DHCP Server 是用来为 DHCP Client 动态分配 IP 地址的协议。不过由于这 里是为 PXE Client 分配 IP 地址,所以在配置 DHCP Server 时需要增加相应的 PXE 特 有 配 置 ; 至 于 第 2 个 问 题 , 在 PXE Client 所 在 的 ROM 中 , 已 经 存 在 了 TFTP Client 。PXE Client 使用 TFTP Client ,通过 TFTP 协议到 TFTP Server 上下载所需的文 件。这样, PXE 协议运行的条件就具备了, PXE 的安装流程如图所示。 在图中, PXE Client 是需要安装 Linux 的计算机, TFTP Server 和 DHCP Server 运 行在另外一台 Linux Server 上, Bootstrap 文件、配置文件、Linux 内核,以及 Linux 根 文件系统都放置在 Linux Server 上 TFTP 服务器的根目录下。除了配置文件,这 3 个二 进制文件是 PXE Client 在工件过程中所必需的文件,即 bootstrap 、Linux 内核和 Linux 根文件系统。 Bootstrap 文件是可执行程序,它为用户提供简单的控制界面,并根据用 户的选择下载合适的 Linux 内核以及 Linux 根文件系统。 3
  • 4. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 1 PXE 的基本原理 2.2 什么是 KickStart KickStart 是一种无人职守安装方式。 KickStart 的工作原理是通过记录典型的安装 过程中所需人工干预填写的各种参数,并生成一个名为 ks.cfg 的文件;在其后的安装 过程中 ( 不只局限于生成 KickStart 安装文件的机器 ) 当出现要求填写参数的情况时,安 装程序会首先去查找 KickStart 生成的文件,当找到合适的参数时,就采用找到的参数, 4
  • 5. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 当没有找到合适的参数时,才需要安装者手工干预。这样,如果 KickStart 文件涵盖了 安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取 ks.cfg 文件,然后去忙自己的事情。等安装完毕,安装程序会根据 ks.cfg 中设置的重启 选项来重启系统,并结束安装。 2.3 网络结构 如图为网络安装环境的一个原理示意,安装环境由一个局域网和连接到该局域网 的启动服务器、安装服务器和待安装客户端,其中启动服务器和安装服务器可以部署 在同一台物理机上。 图 2 网络结构 下表列出了对这些机器的软硬件要求及其负载的服务与数据。 系统名称 安装和启动服务器 待安装计算机 操作系统 Red Hat Enterprise Linux 5 无 硬件 普通 X86 体系 普通 X86 体系,网卡必须带有 PXE 支持 网络 同一子网 服务类型 DHCP、TFTP 及 NFS 无 数据 PXE Linux 启动镜像,kickstart 配置文件、RedHat Enterprise 无 Linux 5 安装介质和 Red Hat Enterprise Linux 5 安装程序启动 镜像 表 1 基本的软硬件要求 三、安装的前提条件 3.1 PXE+KickStart 安装的条件 5
  • 6. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 执行 PXE+KickStart 安装需要的设备为: DHCP 服务器; TFTP 服务器; KickStart 所生成的 ks.cfg 配置文件 一台存放系统安装文件的服务器,如 NFS 、 HTTP 或 FTP 服务器。 带有一个 PXE 支持网卡的将安装的主机; 3.2 安装过程中所需要的 rpm 包及获取 3.2.1 需要的 rpm 软件包 nfs-utils-lib-* nfs-utils- * xinetd-* tftp-server-* dhcp-* dhcp-devel-* system-config-kickstart-* 3.2.2 软件包的获取  1 、本地方式 一般情况下一些常用的安装包都可以在你的安装光盘中找到。 2 、网络方式 如果你无法在安装光盘中找到适合的安装包,你可以通过 yum 这种方式安装。 四、操作步骤: 6
  • 7. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 操 作 要 求 : 有一个 100 台机器的机房,要求需要批量安装 Red Hat Linux 操作系统, 服务器地址为 192.168.0.1 ,子网掩码为 255.255.255.0 ,使待安装的机器做的操作仅仅 是开机就可以自动安装操作系统。 4.1 配置 IP 地址 ( 1 )在终端里输入 system-config-network-tui, 打开 IP 配置图形界面。 图 3 IP 配置命令 图 4 IP 配置界面(1) 7
  • 8. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 5 IP 配置界面(2) ( 2 )重启网卡, service network restart 8
  • 9. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 6 重启网卡及 IP 的配置情况 4.2 安装 rpm 包 配置该服务器需要安装 dhcpd , tftp-server , nfs , system-config-kickstart ,等包。首 先需要检查本机上是否已经安装了这些包,输入 rpm –qa | grep + 包名。 图 7 检查 RPM 包 9
  • 10. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 如果没有安装这些包则需要通过 rpm –ivh + 包名一安装。 首先需要用 mount –t iso9660 /dev/cdrom /mnt/cdrom ( /mnt/cdrom 必需存在)来将 系统光盘挂载到 /mnt/cdrom 目录下。然后安装需要的 rpm 包。 图 8 挂载光盘 图 9 安装 RPM 包 10
  • 11. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 10 检查 NFS 包 图 11 安装 tftp-server 包 图 12 检查所有包的安装 4.3 配置 dhcp 服务 11
  • 12. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 使用 vim 编辑器编辑 /etc/dhcp.conf 文件。 图 13 dhcp 配置文件位置 由于是第一次编辑 dhcp.conf 所以里面的内容是空的,那么我们就需要将 /usr/shar/ doc/dhcp-3.0.5/dhcp.conf.sample 复制到 /etc 下并改名为 dhcp.conf 图 14 copy dhcp 示例配置文件 现在使用 vim 打开 /etc/dhcpd.conf 就可以看见系统自带的 dhcp 示例配置了。 图 15 dhcp 示例配置文件内容 我们需要对它进行修改,我这里把它修改的尽量简单了。 ddns-update-style none; ignore client-updates; subnet 192.168.0.0 netmask 255.255.255.0 { 12
  • 13. 安徽工业经济职业技术学院 2010 届毕业论文(设计) option routers 192.168.0.1; option subnet-mask 255.255.255.0; # option domain-name “example.com”; # option domain-name-servers 192.168.0.1; default-lease-time 21600; max-lease-time 43200; range 192.168.0.100 192.168.0.200; filename “/kickstart/ks.cfg”; next-server 192.168.0.1; } option space PXE; class “PXE” { match if substring(option vendor-class-identifier, 0, 9) = “PXEClient”; option vendor-encapsulated-options 01:04:00:00:00:00:ff; option boot-size 0x1; filename “pxelinux.0”; option tftp-server-name “192.168.0.1”; option vendor-class-identifier “PXEClient”; vendor-option-space PXE; } 红色部分都是要特别注意的地方,出错了就会导致服务器配置失败。 图 16 修改后的 dhcp 文件 需要注意的是字段 range 是给待安装的机器分配的的 IP 地址池, filename 字段是 13
  • 14. 安徽工业经济职业技术学院 2010 届毕业论文(设计) ks.cfg 的位置,即待安装机器所需要的安装配置文件, next-server 是 tftp 服务器的 位置。和下面的 tftp-server-name 字段是对应的。 4.4 配置 tftp 服务 tftp 是为了给待安装的机器发送文件的简单的文件传输服务。 这个配置还是比较简单的,只需要把这个服务给启用就可以了。 使用 vim 编辑器打开 /etc/xinetd.d/tftp 文件 图 17 tftp 配置文件位置 将里面的 disable 字段值改为 no ,保存退出就可以了。 图 18 tftp 配置情况 4.5 配置 nfs 服务 14
  • 15. 安徽工业经济职业技术学院 2010 届毕业论文(设计) nfs 服务是将安装过程所需要的一些文件共享出来,这个也是比较简单的。 使用 vim 编辑器打开 /etc/exports 文件,只要将你想共享的文件夹写入其中就可以 了 , 我 们 这 里 需 要 把 /kickstart /tftpboot /linuxinstall 给 共 享 出 来 就 可 以 了 , 其 中 /kickstart 文 件 , linuxinstall 文 件 都 是 我 们 自 己 建 立 的 , 将 在 后 面 建 立 。 而 /tftpboot 文件夹是在安装 tftp-server 的 rpm 包时候自动建立的。 图 19 nfs 配置文件位置 图 20 nfs 配置 其中 * 表示任何主机都可以访问, ro 表示 read only ,只读权限, sync 表示与服务器 同步。 通过输入 service nfs restart 重启 nfs 服务,然后我们输入 exportfs 可以看见我们共 享的文件。 15
  • 16. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 21 exportfs 命令 4.6 配置 ks.cfg 文件 ks.cfg 是待安装机器的所有的配置文件,每台机器在安装过 linux 系统以后都会自 动生成一个 ks.cfg 文件里面记录了在安装系统的时候所做的所有操作,文件的位置 位于 /root 目录下的 anaconda-ks.cfg 。 图 22 anaconda-ks.cfg 文件 下面是我自己的 anaconda-ks.cfg 文件。 我是通过 pxe 从网络自动安装的系统,所以和光盘安装有所不同。 16
  • 17. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 23 anaconda-ks.cfg 内容 这个文件也可以通过 system-config-kickstart 的图形界面来编辑。前提需要安装这个 rpm 包,系统光盘自带这个包。下面的是 kickstart configurator 图形界面。 图 24 kickstart configurator 窗口 17
  • 18. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 下面是笔者的 ks.cfg 配置内容。 Text key –skip keyboard us lang en_US langsupport –default en_US en_US network –bootproto dhcp nfs –server=192.168.0.1 –dir=/linuxinstall zerombr yes clearpart –all part swap –size 512 part /boot –size 100 part pv.01 –size 14000 volgroup vol0 pv.01 logvol / --vgname=vol0 –size=8192 –name=root logvol /home –vgname=vol0 –size=500 –name=home timezone Asia/Shanghai –utc xconfig –resolution=1024x768 –depth=16 –startxonboot rootpw redhat authconfig –useshadow –enablemd5 firewall –disabled bootloader reboot %packages @ GNOME Desktop Environment @ X Window System @ Printing Support @ Development Tools elinks openssh openssh-server openssh-clients vim-enhanced samba-common samba-client gimp gimp-data-extras enscript libcap ntp coreutils elfutils 18
  • 19. 安徽工业经济职业技术学院 2010 届毕业论文(设计) elfutils-libelf gimp-print-plugin gnome-icon-theme gstreamer gstreamer-tools libgnomeprint22 libgnomeprintui22 libgsf libIDL libraw1394 nautilus-cd-burner openmotif pyorbit startup-notification ttmkfdir firefox mutt %post # Set the time, then set the hardware clock ntpdate –b 192.168.0.1 hwclock –systohc –utc # These accounts should be consolidated useradd student echo “student” | passwd –stdin student useradd visitor echo “password” | passwd –stdin visitor umount 192.168.0.1:/kickstart 其中第一句 text 表示以字符界面安装, %packages 表示需要安装的包, %post 表示 系统安装过后所执行的脚本。红色部分一定要注意,指定系统是通过 nfs 来安装的, 安装路径是 /linuxinstall 配置好以后保存为 ks.cfg ,放在后面我们建立了 /kickstart 目录下。 4.7 创建所需文件夹 上面我们共享出了 kickstart 和 linuxinstall 文件夹,但是系统上并没有这两个文件 夹,所以就需要我们来建立这两个文件夹,使用 mkdir 命令来执行新建操作。 19
  • 20. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 25 创建文件夹 然后将上步创建的 ks.cfg 保存到 /kickstart 中,需要注意的是在配置 dhcp.conf 文件 中 , 我 们 就 指 定 了 filename “/kickstart/ks.cfg” 所 以 路 径 一 定 不 能 搞 错 。 你 在 dhcp.conf 中写的路径是什么你就需要把你的 ks.cfg 放在什么样的路径。并且要通过 nfs 给共享出来。 而 /linuxinstall 文件夹放的系统安装文件。 4.8 配置支持 PXE 启动 这步需要将 linux 内核复制到 tftpboot 文件夹内。 mount –t iso9660 /dev/cdrom /mnt/cdrom # 挂载光盘到 /mnt/cdrom cd /tftpboot/ #tfp-server 指定的根目录位置 ( 若该文件夹已经存在则不用建立 , 通常重启 tftp 服务 后会自动建立 ) cp /usr/lib/syslinux/pxelinux.0 /tftpboot #pxelinux.0 是 pxe 方式的 boot loader, 如果你发现没有这个目录,不要紧张 , 找 到 syslinux 这个软件包就 OK 了 cp /mnt/cdrom/images/pxeboot/vmlinuz /tftpboot/ cp /mnt/cdrom/images/pxeboot/initrd.img /tftpboot/ # 把 Linux 第一张安装光盘上 /image/pxeboot/initrd.img 和 vmlinux 复制到 /tftpboot/ 20
  • 21. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 中 mkdir /tftpboot/pxelinux.cfg # 在 tftpboot 中新建一个 pxelinux.cfg 目录 图 26 pxelinux.cfg 文件目录 由于启动镜像 pxelinux.0 文件在执行过程中,会读取配置文件以确定它应该载入什 么 Linux 内 核 文 件 来 运 行 。 所 有 的 配 置 文 件 都 放 在 启 动 服 务 器 的 /tftpboot/pxelinux.cfg/ 目录下。pxelinux.0 根据一定的规则来搜索合适的配置文件名。 比如说 C0A88A1E > C0A88A1 > … > C0 > C > default 就是说,如果 C0A88A1E 文 件 存 在 , 它 就 是 pxelinux.0 将 载 入 的 配 置 文 件 。 否 则 , 继 续 往 下 找 。 如 果 C0A88A1 文件存在,它就是 pxelinux.0 将载入的配置文件。如果前面的以 C 开头 的文件都不存在,那么 pxelinux.0 将试图从文件 default 中读取配置。对于一台需要 支持很多安装机器的安装服务器来说,将配置写在与 IP 地址对应的文件里很不灵 活。把所有配置都集中在 default 文件中是个不错的主意,可以减轻配置文件维护负 担。 这里也是为什么要建立 pxelinux.cfg 文件夹。所以接下来就要在 pxelinux.cfg 里 建 立 default 文 件 , 系 统 盘 里 也 有 这 个 文 件 , 位 于 系 统 盘 的 isolinux 下 的 isolinux.cfg 但是我这里不借用它的 default 文件,所以这是我们使用 vim 编辑器在 pxelinux.cfg 中直接建立一个 default 文件。 21
  • 22. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 27 创建 default 文件 直接在里面写入一句话就可以了 default linux label linux kernel vmlinuz append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks noipv6 图 28 default 文件内容 这样写的好处在于不用在待安装机器启动的时候做一些别的操作。 接下来是要在 /linuxinstall 文件夹中放入系统盘内的文件,你在挂载光盘后可以直 接使用 cp –r /mnt/cdrom /linuxinstall 将文件复制到 /linuxinstall 中,不过这样做还 是比较麻烦的,我直接使用 mount –t iso9660 /dev/cdrom /linuxinstall 把系统光盘 给挂载到 /linuxinstall 中。 4.9 启动服务器 到这里我们的服务器可以说是配置的差不多了,剩下的就只要将这些服务给启动 起来就可以了。 service dhcpd start 22
  • 23. 安徽工业经济职业技术学院 2010 届毕业论文(设计) # 启动 dhcpd 服务 chkconfig dhcpd on #dhcpd 服务开机自动启动 service nfs restart # 重启 nfs 服务 chkconfig nfs on #nfs 服务开机自动启动 service xinetd start # 启动 xinetd 服务 chkconfig xinetd on #xinetd 服务开机自动启动 4.10 测试 将待安装机器启动起来,进入 bios 界面,将启动方式改为从网络启动,保存退 出重启即可,有的机器则不用进入 bios 就可以直接进入安装界面。主要过程如下: 正在获取 IP 地址 23
  • 24. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 29 获取 IP 地址 获取到 IP 地址后,从 tftp 服务器上读取内核及 default 配置文件并执行安装 图 30 获取内核文件 24
  • 25. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 31 执行安装 从 nfs 上加载文件 图 32 加载文件 格式化磁盘 25
  • 26. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 33 格式化磁盘 安装操作系统 图 34 正在安装系统 安装完成,并重新启动计算机 26
  • 27. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 35 安装完成并重启 重新启动后,系统已经安装成功。 五、常见故障排除 5.1 无法分配到 IP 地址 如果安装开始的时候无法分配到 IP 地址,则说明你服务器的 dhcp.conf 配置的有问 题,有可能你的语法有问题,比如说少了个分号 (;), 又或者单词写的有问题,这些 语法错误会导致 dhcp 服务启动失败。 5.2 tftp 无法连接 27
  • 28. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 36 tftp 无法连接 上面也指出了错误的所在了,表示了无法连接到 tftp 服务器,导致这个错误的 主要原因是在你的 dhcp.conf 文件的 next-server 和 tftp-server-name 两个字段上, 如果这两个字段没有正确的指出 tftp 服务器的地址的话,一般就会出现这样的问题。 这类问题一般都出现在 dhcp 服务器的配置上面,因为当待安装机器在局域网内广 播需要分配 IP 地址的时候,服务器会将 IP 地址和一些安装文件的地址返回给待安 装机器上,如果 dhcp 出现了问题则无法将这些地址返回回来,这就导致了待安装 机器不知道从何处来获取安装文件。 5.3 无法获取 ks.cfg 文件 可以获取到 dhcp 服务器分配的 IP 地址,也可以从 tftp 服务器上获取内核文件, 并加载,但是在读取 ks.cfg 文件的时候出现了错误。如下图。 28
  • 29. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 图 37 无法获取 ks.cfg 文件 出现了这样的问题则说明你的客户端是知道 ks.cfg 的位置的,但是就是无法读取, 所以我们看看服务器的 ks.cfg 的权限,一般都是客户端的权限不够,所以只要更改 一下 ks.cfg 文件的权限这样的问题一般都是可以解决的。使用 chmod 命令来更改权 限。 图 38 更改 ks.cfg 文件权限 基本上到此服务器已经配置好了,可以执行批量的安装 Red Hat Linux 操作系统了。 六、结论 本论文通过搭建 kickstart 无人值守服务器,介绍了一些基本 Linux 服务器的简 29
  • 30. 安徽工业经济职业技术学院 2010 届毕业论文(设计) 单搭建,例如 dhcp , nfs , tftp 服务器的搭建,具体的步骤也都比较明确的写出来 了。由于接触 Linux 还是比较迟,所以或许没有那么的完善,在写的过程中遇到很 多古怪的问题,不过在老师的帮助下以及在网络和书本上查找大量资料才最终将他 们一一的克服了 通过这样一篇论文使自己在 Linux 方面有了更深一层的认识,为以后自己 在学习和工作中多出了一定的经验。 30