哈尔滨海月数据恢复,技术亚洲领先 设为首页加入收藏RSS订阅
中国区:哈尔滨(总部)郑州福建深圳沈阳合肥大连包头淄博上海广州
    南京杭州嘉兴武汉济南青岛新疆太原
亚太区:印度韩国泰国新加坡马来西亚澳大利亚
Linux
Kickstart+HTTP+DHCP+TFTP+PXElinux实现RedHat的网络自动安装

  我们知道RH中的Kickstart可以实现RedHat光盘启动后的自动安装,如果把ks.cfg及RPM安装文件考到一台HTTP或NFS服务器上,就可以实现网络自动安装,但还是需要RedHat的启动盘来启动机器,但加上DHCP、TFTP和PXElinux及支持PXE的网卡,噢,那就可以实现远程启动了。也就是说,有了上面的条件,你只要给一台支持PXE的客户机上电,然后再打入一个设置好的命令就可以安装好一RedHat台机器了。

  实现上面安装的过程是这样的:PXE网卡启动------DHCP服务器------获得IP------从TFTP上下载pxelinux.0、vmlinuz、initrd------启动系统------通过PEXlinux去HTTP下载ks.cfg文件-----跟据ks.cfg去HTTP下载RPM包及安装系统------完成安装。

  具体实现的过程是这样的:

  1、 配制一个HTTP服务器(当然也可以是NFS、FTP)及kickstart文件:

  1) 如何配HTTP我就不说了,配好后,在HTTP的DocumentRoot目录下(一般为/var/www/html)建一个rh9目录,用于放RedHat9的安装文件。把RedHat9******张安装盘的RedHat目录及下面的内容全部考到这个目录下,把第二、第三张盘的RPMS目录下的rpm包考到rh9/RedHat/RPMS目录下,完成安装文件的考贝。service httpd restart开启HTTP服务。可以在浏览器内打入:http://192.168.168.6/rh9看一下,是不是能看到RedHat目录。

  2) 用redhat-config-kickstart命令做一个ks.cfg文件,注意在“安装方法”选项中 选HTTP,在“HTTP服务器:”中打入HTTP服务器的IP地址,在“HTTP目录:”中打入rh9,其它的我就不多说了。做好后把这个ks.cfg文件考到HTTP服务器的DocumentRoot/rh9目录下。

  3) 在一台机器上做一下测试(注意:因为是自动安装,这台机器的上的数据可能全部被格掉喔)。用光盘启动机器,在boot:提示符下打入:linux ks=http://192.168.168.6/rh9/ks.cfg,看一下是不是能实现自动安装,如果能,OK我们一半的工作已经做好了。

  2、 配制DHCP、TFTP、和PXElinux。(当然这些服务可以和HTTP放在一台服器上)

  1) 做一台TFTP服务器太容易了,用rpm –qa | grep tftp看一下tftp有没安装,没有的话安装一下。用chkconfig tftp on 打开xinetd代理的tftp服务。

  2) 做一台DHCP服务器,这是关键。下面是我的dhcp.conf文件:

  ddns-update-style interim;

  ignore client-updates;

  allow booting; #定义可以PXE 8) 8) 启动

  allow bootp; #定义支持boottp

  subnet 192.168.168.0 netmask 255.255.255.0 {

  option routers 192.168.168.230; #定义默认网关

  option subnet-mask 255.255.255.0;

  option domain-name-servers 192.168.168.6; #定义nameServer

  option time-offset -18000; # Eastern Standard Time

  range dynamic-bootp 192.168.168.12 192.168.168.254;

  default-lease-time 21600;

  max-lease-time 43200;

  # Group the PXE bootable hosts together 定义可以PEX启动的主机的组

  group {

  # PXE-specific configuration directives...

  next-server 192.168.168.6; #TFTPServer的IP

  filename "/pxelinux.0";#pxelinux loader文件位置

  # You need an entry like this for every host

  # unless you're using dynamic addresses #可PEX启动的主

  #机的IP与MAC地址的邦定

  host wy {

  hardware ethernet 00:00:E2:89:9B:DB;

  fixed-address 192.168.168.128;

  }

  }}

  红色的部分为在DHCP中支持TFTP及PXElinux的所要添加的部分。service dhcpd restart 开启DHCP服务。

  3) 配制PEXlinux。要远程启动机器,就必须要有PXElinux这个由syslinux、isolinux派生出来的,支持PXE的bootloader,它可以实现远程通过PEX启动一台机器。把/usr/lib/syslinux/pxelinux.0考到/tftpboot目录下,把RedHat9******张安装光盘上/image/pxeboot/initr.img和vmlinux也考到/tftpboot目录下。在/tftpboot建一个pxelinux.cfg目录,用于放syslinux的配制文件。Sysconfig的配制文件有现成的可用,在rh9******张安装光盘isolinux/下有一个isolinux.cfg文件,把它考成/tftpboot/default,把isolinux/*.msg考到/tftpboot下(RedHat的安装光盘的Loader就是个isolinux,呵呵)。对default(也就是isolinux.cfg)作一下修改,下面是我的default文件:

  default local

  prompt 1

  timeout 30

  display boot.msg

  F1 boot.msg

  F2 options.msg

  F3 general.msg

  F4 param.msg

  F5 rescue.msg

  F7 snake.msg

  label local

  localboot 0

  label linux

  kernel vmlinuz

  append initrd=initrd.img devfs=nomount ramdisk_size=9216

  label text

  kernel vmlinuz

  append initrd=initrd.img text devfs=nomount ramdisk_size=9216

  label expert

  kernel vmlinuz

  append expert initrd=initrd.img devfs=nomount ramdisk_size=9216

  label ks

  kernel vmlinuz

  append ks initrd=initrd.img devfs=nomount ramdisk_size=9216

  label nofb

  kernel vmlinuz

  append initrd=initrd.img devfs=nomount nofb ramdisk_size=9216

  label lowres

  kernel vmlinuz

  append initrd=initrd.img lowres devfs=nomount ramdisk_size=9216

  label autoinstall

  kernel vmlinuz

  append ks=http://192.168.168.6/rh9/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb

  红色的部份是我加的,用于实现本地硬盘启动或支持kickstart的PXE网络自动安装。

  cat一下/tftpboot/boot.msg文件:

  splash.lss

  - To Local boot 02Red Hat07 Linux , type:

  0f;07.

  - To install or upgrade 02Red Hat07 Linux in graphical mode,

  press the 0f linux;07 key.

  - To install or upgrade 02Red Hat07 Linux in text mode, type:

  0flinux text ;07.

  - To Auto Install 02Red Hat07 Linux , type:

  0flinux autoinstall ;07.

  - Use the function keys listed below for more information.

  02[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]07

  红色行是我加入的,用于显示Local boot 和autoinstall选项。

  3、 OK,到现在服务器端的配制已经基本完成了,让我们来试一下。用一台支持PXE的机器加电启动,按F12,一般机器启动时会有提示(请进入BIOS看一下,确认网卡或主板的PXE功能已经打开),选择LAN启动,看到了什么? “DHCP…………………FFFFFFFFFFFFF”接着一个和光盘启动的差不多的画面,是吧?按一下F2试一下,F2的选项是不是也出来了。打入linux rescue 试试,是不是进入了rescue模式?HOHO~~,以后客户机启不来还要用光盘来重启进rescue模式吗?当然不用了,把安装光盘扔了吧,哈哈。

  再重启机器,按F12,选择LAN,在PXE启动安装界面的boot:提示符下打入linux autoinstall试试?HOHO~~,一个多小时后,一台新的rh9就这么安装好了。是不是很方便呢?

  4、 参考文档:/usr/share/doc/syslinux-1.75/pxelinux.doc

  /usr/share/doc/syslinux-1.75/isolinux.doc

  /usr/share/doc/syslinux-1.75/syslinux.doc

  /usr/share/doc/dhcp-3.0pl1/README

  /usr/share/doc/httpd-2.0.40/README

  /usr/share/doc/pxe-0.1/README

  5、***后,感谢我的RHCE老师simon cheng,是他给了我提示和帮助,虽然有时我问他10个不同的问题,他回答我9个是同一个答案:See readme :)

  6 ks.cfg文件

  install

  url --url http://192.168.168.35/rh7

  lang en_US

  langsupport --default en_US.iso885915 zh_CN.GB18030 zh_TW.Big5 en_US.iso885915

  keyboard us

  mouse generic3ps/2 --device psaux

  skipx

  rootpw --iscrypted $1$驜N/衢KL$RKxVATP6iXeJ5T9mwFiUn/

  firewall --disabled

  authconfig --enableshadow --enablemd5

  timezone Asia/Shanghai

  bootloader --useLilo

  # The following is the partition information you requested

  # Note that any partitions you deleted are not expressed

  # here so unless you clear all partitions first, this is

  # not guaranteed to work

  clearpart --all

  part / --fstype ext3 --size=512

  part /usr --fstype ext3 --size=4000

  part swap --size=1024

  part /var --fstype ext3 --size=512

  part /home --fstype ext3 --size=1 --grow

  %packages

  @ Printing Support

  @ Classic X Window System

  @ X Window System

  @ GNOME

  @ Sound and Multimedia Support

  @ Network Support

  @ Dialup Support

  @ Messaging and Web Tools

  @ Everything

  kernel-smp

  %post

  /usr/sbin/useradd cxbaby

  chfn -f 'cxbaby' cxbaby

  /usr/sbin/usermod -p '$1$挽.z礧翕$Xd2eupp3vJyRdvUyGxDvd/' cxbaby

  双眼皮的猪

  回复于:2003-10-31 09:27:47

  挺好....俺帮你顶一下....

  eagerlinuxer

  回复于:2003-11-06 23:09:53

  有没有通过linux平台下的DHCP+HTTP+TFTP实现win2000、freeBSD的PXE启动的网络安装的方法?这样在机房放一台这样的机器,就不用跑机房去重新安装机器了,呵呵。还请各位高手多多指点。

  platinum

  回复于:2003-11-07 08:37:46

  我也在一直研究PXE方式!!

  可惜找不到答案,网中人的网站上有相关文章,我也看了,他写的无盘是“准无盘”,即必须本地要有硬盘,你可以看看。

  bluejesica

  回复于:2006-07-26 17:18:20

  修改boot.img文件的时候,这个文件本来是2进制的,那些07什么的怎么输才能生效?

  sonicpice

  回复于:2006-08-03 16:49:45

  引用:原帖由 bluejesica 于 2006-7-26 17:18 发表

  修改boot.img文件的时候,这个文件本来是2进制的,那些07什么的怎么输才能生效?

  兄台,楼主没有修改boot.img啊,只是改了一下msg文件,用于在启动后的界面上显示提示信息。

  fandy

  回复于:2006-08-04 08:43:59

  强烈支持中!

  bluejesica

  回复于:2006-08-04 10:08:24

  哦,我写错了,是boot.msg文件

  YaoFei

  回复于:2006-08-04 19:17:46

  工作只作了一半。

  提示一下:研究一下RH的安装程序 anacon的命令行参数,把适当的参数写到pxelinux.cf/default 文件里的vmlinuz 后面,可以完全自动。

  用NFS方式比较好,只要把iso 文件放在NFS共享出来的目录里就好

  南非蜘蛛

  回复于:2006-08-04 21:28:35

  用ks也有5年左右了,如果有兴趣把ks玩漂亮的,******研究一下这个

  http://syslinux.zytor.com/pxe.php

  原文链接:

  http://linux.chinaunix.net/bbs/viewthread.php?tid=191900

  转载请注明作者名及原文出处

  本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4329/showart_460066.html

 
客户服务 +more
上门服务
服务承诺
异地恢复
收费标准
付款方式
疑难解答
服务特色 +more
·免费检测
·免费提供3天备份
·专业工程师提供服务
·免费清洁送修的介质
·数据恢复前报价,客户确认后工程师开始数据恢复
·数据恢复不成功不收费
·与客户签订保密协议,对客户的数
 据严格保密,整个恢复过程不会对
 客户的原盘有任何的写操作,以确
 保原盘的数据完全

·免费参观恢复全过程

·工程师在线免费咨询

·专业工程师提供服务
服务器数据恢复 点击这里给我发消

息
数据库修复
点击这里给我发

消息
硬盘数据恢复
点击这里给我发消

息