免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1425 | 回复: 0
打印 上一主题 下一主题

使用kickstart配合Web、DHCP、TFTP、PXElinux实现系统自动安装 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-03 19:34 |只看该作者 |倒序浏览


配制DHCP、TFTP、和PXElinux。(当然这些服务可以和HTTP、NFS、FTP放在一台服器上)
1) 配置TFTP服务器,用chkconfig tftp on 打开xinetd代理的tftp服务。 用 service xinetd restart 重起服务。
2) 做一台DHCP服务器,这是关键。下面是我的dhcpd.conf文件:
allow booting ;
allow bootp ;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.185 192.168.2.235;
default-lease-time 86400;
max-lease-time 259200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.2.255;
option routers 192.168.2.1;
option domain-name-servers 218.2.135.1,61.147.37.1,202.102.24.34;
filename "/linux-install/pxelinux.0" ;

用service dhcpd restart 开启DHCP服务。

典型故障:
1.DHCP服务器配置完成,没有语法错误。但是网络中的客户机却没办法取得IP地址。
通常是Linux DHCP服务器沒有办法接收來自255.255.255.255 的 DHCP 客户机的Request 封包造成的。一般是Linux DHCP服务器的网卡没有设置具有MULTICAST功能。为了让dhcpd(dhcp程序的守护进程)能够正常的和DHCP客户机沟通,dhcpd必须传送封包到255.255.255.255这个IP地址,但是有些Linux系统里255.255.255.255这个IP地址被用来做为监听区域子网域(local subnet)广播的 IP地址,所以需要在路由表(routing table)里加入255.255.255.255以激活MULTICAST功能;
使用命令:
route add -host 255.255.255.255 dev eth0

3) 配制PEXlinux。要远程启动机器,就必须要有PXElinux这个由syslinux、isolinux派生出来的,支持PXE的bootloader,它可以实现远程通过PEX启动一台机器。把/usr/lib/syslinux/pxelinux.0考到/tftpboot/linux-install目录下,(如果此目录下有此文件就不必再考了)把RedHat第一张安装光盘上images/pxeboot目录下的initr.img和vmlinux也考到/tftpboot/linux-install目录下。在/tftpboot/linux-install/pxelinux.cfg目录用于放syslinux的配制文件。Sysconfig的配制文件有现成的可用,在RedHat第一张安装光盘isolinux/下有一个isolinux.cfg文件,把它考成/tftpboot/ linux-install/pxelinux.cfg/default文件,把isolinux/*.msg考到/tftpboot/linux-install下.对default(也就是isolinux.cfg)作一下修改,下面是我的default文件:
default autoinstall
prompt 1
timeout 60
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label linux
  kernel vmlinuz
  append initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label expert
  kernel vmlinuz
  append expert initrd=initrd.img
label ks
  kernel vmlinuz
  append ks initrd=initrd.img
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres
label autoinstall
  kernel vmlinuz
  append ks=http://192.168.2.242/linux44/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=16384 nofb


相关说明:
这个Default 文件实际上就是ISOLINUX 的配置文件, 很容易看懂,就是告诉启动后使用那个内核引导,需要添加什么参数,粗体部分是根据我的需要添加的。
e0当引导至BOOT: 时键入 autoinstall 内核引导时就会加载
http://192.168.1.1/ks.cfg
这个安装配置文件,然后根据这个配置文件指导LINUX接下来的安装。同时在ks.cfg这个配置文件里指定了安装介质的方式,可以是 HTTP、FTP、NFS 的一种

Boot.msg
^L
^Xsplash.lss

-  To install or upgrade ^O02Red Hat^O07 Enterprise Linux in graphical mode,
    press the ^O0f^O07 key.

-  To install or upgrade ^O02Red Hat^O07 Enterprise Linux in text mode, type:
    ^O0flinux text ^O07.

-  To install ^O02Red Hat^O07 Enterprise Linux in auto mode, type:
    ^O0flinux autoinstall ^O07.
-  Use the function keys listed below for more information.

^O02[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]^O07





4、在网络中配置一台http服务器,例如Apache;以及一台DHCP服务器。
5、将RH AS3的安装文件上传到web服务器的发布目录里,包含四个文件:
rhel-3-U3-i386-as-disc1.iso  
rhel-3-U3-i386-as-disc2.iso
rhel-3-U3-i386-as-disc3.iso
       rhel-3-U3-i386-as-disc4.iso
3.在发布目录里建好目录结构,包括:
  $web/disc1 $web/disc2 $web/disc3 $web/disc4 其中$web代表WEB发布目录。
4.将这4个镜像文件mount到本地文件系统:
mount -o loop -o ro rhel-3-U3-i386-as-disc1.iso disc1
mount -o loop -o ro rhel-3-U3-i386-as-disc2.iso disc2
mount -o loop -o ro rhel-3-U3-i386-as-disc3.iso disc3
mount -o loop -o ro rhel-3-U3-i386-as-disc4.iso disc4
5. 创建ks.cfg配置文件,该文件决定安装或升级过程中的选项,
       在服务器上打开一个终端运行redhat-config-kickstart命令,然后在出现的图形界面进行相关的安装选项设定,这些步骤和你用光盘安装redhat类似,需要注意:
       由于X图形界面的配置需要人工交互,所以在此我们先不进行配置,否则不能自动安装。我们可以在安装完毕后,再运行redhat-config-Xfree86来进行配置。
      

ks.cfg文件可以放在web发布目录下,内容如下:
====================================================================
#Generated by Kickstart Configurator

#System  language 语言
lang en_US
#Language modules to install 默认语言
langsupport  --default=en_US
#System keyboard 键盘
keyboard us
#System mouse 鼠标
mouse generic3ps/2
#Sytem timezone 时区
timezone Asia/Shanghai
#Root password root密码
rootpw --iscrypted $1$/nimfISQ$sDC2SY12hLRv/8OqbTqbL1
#Reboot after installation
reboot
#Use text mode install 安装的模式
text
#Install Red Hat Linux instead of upgrade  全新安装or 升级安装
install
#Use Web installation 安装的方法
url --url http://192.168.2.242/linux
#System bootloader configuration 引导信息
bootloader --location=mbr
#Clear the Master Boot Record  清除主引导信息
zerombr yes
#Partition clearing information清除原硬盘分区信息
clearpart --all --initlabel
#Disk partitioning information 分区信息
part / --fstype ext3 --size 4000
part /home --fstype ext3 --size 1000
part swap --size 512
#System authorization information
auth  --useshadow  --enablemd5
#Network information 网络信息
network --bootproto=static --ip=192.168.2.171 --netmask=255.255.255.0 --gateway=192.168.2.1 --nameserver=202.102.12.141 --device=eth0
#Firewall configuration 防火墙配置
firewall --disabled
#Do not configure XWindows 是否配置xwindows
skipx
#Package install information 安装的包信息
%packages --resolvedeps
@ X Window System
@ GNOME Desktop Environment
@ Server Configuration Tools
@ FTP Server
@ Network Servers
@ Development Tools
@ Kernel Development
@ X Software Development
@ Administration Tools
@ System Tools

====================================================================
关于kickstart每个命令的详细解释请参看:http://www.hk.redhat.com/docs/manuals/linux/RHL-9-Manual-CN/custom-guide/s1-kickstart2-options.html

8. 制作安装引导盘
       制作安装引导光盘
isolinux 现在被用来引导 Red Hat Linux 安装光盘。要创建你自己的光盘来引导安装程序,使用以下步骤:
使用以下命令把第一张 Red Hat Linux 光盘上的 isolinux/ 目录复制到临时目录(此处指代为 )中:
       cp -r /isolinux/
    cd
    cp ks.cfg 到 该目录下
chmod u+w isolinux/*
    mkisofs -o file.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info –table –R –J –v T isolinux

    将file.iso 刻录到光盘
    用光盘启动服务器,在boot 提示符合下输入:linux ks=cdrom:/ks.cfg
如果系统上有多个网卡,想指定eth0来完成安装,增加ksdevice=eth0,完整的命令为linux ks=cdrom:/ks.cfg ksdevice=eth0
    系统自动安装。
   

9、在线升级
在RH AS3第一个iso文件里的images目录下,有一个boot.iso文件,将它再展开,获得新系统的内核镜像文件,它们是vmlinuz和 initrd.img,将他们拷贝到要安装系统的/boot目录下,重命名为:vmlinuz-as3,initrd-as3
在要安装的机器上,编辑/etc/grub.conf文件,加入内容如下:
==================================================================
title Upgrade to AS3
       kernel /vmlinuz-as3 ro ks=http://192.168.2.242/linux/ks.cfg
       initrd /initrd-as3
====================================================================
ks= http://192.168.2.242/linux/ks.cfg这行决定配置文件的路径。

append text initrd=fc4-initrd ramdisk_size=8192 ip=192.168.0.50 netmask=255.255.255.0 gateway=192.168.0.1 dns=192.168.0.1 ks=http://192.168.0.1/linux/isolinux/ks.cfg ksdevice=eth0

在这个文件里更改默认的启动顺序(例如default=1),将新内核启动选择为默认。

10.重启计算机,过20分钟后,一个新系统就诞生了,你可以通过SSH连上去进行操作。






简介
ks.cfg 文件可以存放在某台网络上的服务器上,以让欲安装Linux 的计算机来读取它。而且通常我们也会将RedHat 光盘的内容复制至这台服务器,并将内容共享出来,如此利用Kickstar 网络安装的方式便可很快速地安装多台Linux,这系统管理员带来很大的方便。
Instatllation Server
Kickstart 的安装,安装的来源可以是本机的光驱、硬盘或透过 NFS,FTP 或 HTTP 来进行安装,利用NFS、FTP、HTTP 网络安装的方式是较有效率的,所以我们首先得先配置一台Installation Server,就是将4 片光盘的内容复制至Server 上并利用NFS、FTP 或HTTP 将其共享出来。通常Installation Server 会同时担任DHCP Server。所以在实作kickstart 自动安装之前我们得先配置这台Installation server。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/38030/showart_333285.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP