实现RedHat的网络自动安装.docx
- 文档编号:5908248
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:23
- 大小:29.54KB
实现RedHat的网络自动安装.docx
《实现RedHat的网络自动安装.docx》由会员分享,可在线阅读,更多相关《实现RedHat的网络自动安装.docx(23页珍藏版)》请在冰豆网上搜索。
实现RedHat的网络自动安装
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;
[color=red]allow booting; #定义可以PXE 8) 8) 启动
allow bootp; #定义支持boottp[/color]
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;
[color=red]# 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;
}
}[/color]}
红色的部分为在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 [color=red]local [/color]
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
[color=red]label local
localboot 0[/color]
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
[color=red]label autoinstall
kernel vmlinuz
append ks=http:
//192.168.168.6/rh9/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=9216 nofb[/color]
红色的部份是我加的,用于实现本地硬盘启动或支持kickstart的PXE网络自动安装。
cat一下/tftpboot/boot.msg文件:
splash.lss
[color=red] - To Local boot 02Red Hat07 Linux , type:
0f
- To install or upgrade 02Red Hat07 Linux in graphical mode,
press the 0f linux
- To install or upgrade 02Red Hat07 Linux in text mode, type:
0flinux text
[color=red]- To Auto Install 02Red Hat07 Linux , type:
0flinux autoinstall
- 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-3109:
27:
47
挺好....俺帮你顶一下....
eagerlinuxer回复于:
2003-11-0623:
09:
53
有没有通过linux平台下的DHCP+HTTP+TFTP实现win2000、freeBSD的PXE启动的网络安装的方法?
这样在机房放一台这样的机器,就不用跑机房去重新安装机器了,呵呵。
还请各位高手多多指点。
platinum回复于:
2003-11-0708:
37:
46
我也在一直研究PXE方式!
!
可惜找不到答案,网中人的网站上有相关文章,我也看了,他写的无盘是“准无盘”,即必须本地要有硬盘,你可以看看。
bluejesica回复于:
2006-07-2617:
18:
20
修改boot.img文件的时候,这个文件本来是2进制的,那些07什么的怎么输才能生效?
sonicpice回复于:
2006-08-0316:
49:
45
引用:
原帖由 bluejesica 于 2006-7-26 17:
18 发表
修改boot.img文件的时候,这个文件本来是2进制的,那些07什么的怎么输才能生效?
兄台,楼主没有修改boot.img啊,只是改了一下msg文件,用于在启动后的界面上显示提示信息。
fandy回复于:
2006-08-0408:
43:
59
强烈支持中!
bluejesica回复于:
2006-08-0410:
08:
24
哦,我写错了,是boot.msg文件
YaoFei回复于:
2006-08-0419:
17:
46
工作只作了一半。
提示一下:
研究一下RH的安装程序 anacon的命令行参数,把适当的参数写到pxelinux.cf/default 文件里的vmlinuz 后面,可以完全自动。
用NFS方式比较好,只要把iso 文件放在NFS共享出来的目录里就好
南非蜘蛛回复于:
2006-08-0421:
28:
35
用ks也有5年左右了,如果有兴趣把ks玩漂亮的,最好研究一下这个
PXELINUX
FromSyslinuxWiki
Jumpto:
navigation,search
Contents
[hide]
∙1WhatisPXELINUX?
∙2HowdoIConfigurePXELINUX?
∙3HowShouldISetupmyTFTPserver?
∙4HowShouldISetupMyDHCPserver?
∙5CanIsendinformationtoPXELINUXviaspecialoptionsintheDHCPresponse?
o5.1usingvendoroptions
o5.2usingvendoroptions,handcrafted
∙6WhatHappensWhenaBootFails?
∙7HowdoIkeepthePXEstackloadedafterboot?
∙8WhatProblemsAreThereCurrentlyWithPXELINUX?
∙9PXEstackonafloppy
∙10DeployLinuxfromWindowsWDS/RISserverusingPXELinux
∙11CustomMenuExamplewithsub-menus
WhatisPXELINUX?
PXELINUXisaSYSLINUXderivative,forbootingLinuxoffanetworkserver,usinganetworkROMconformingtotheIntelPXE(Pre-ExecutionEnvironment)specification.PXELINUXisnotaprogramthatisintendedtobeflashedorburnedintoaPROMonthenetworkcard;ifyouwantthat,checkoutEtherboot(http:
//www.etherboot.org/).
IfyouwanttocreatePXE-compliantbootPROMforyournetworkcard(tousewithPXELINUX,forexample),checkoutNetBoot(
HowdoIConfigurePXELINUX?
PXELINUXoperatesinmanywayslikeSYSLINUX.IfyouarenotfamiliarwithSYSLINUX,readtheSYSLINUXFAQfirst,sincethisdocumentationonlyexplainsthedifferences.
OntheTFTPserver,createthedirectory"/tftpboot",andcopypxelinux.0(fromtheSYSLINUXdistribution)andanykernelorinitrdimagesthatyouwanttoboot.
Finally,createthedirectory"/tftpboot/pxelinux.cfg".Theconfigurationfile(equivalentofsyslinux.cfg--seetheSYSLINUXFAQfortheoptionshere)willliveinthisdirectory.Becausemorethanonesystemmaybebootedfromthesameserver,theconfigurationfilenamedependsontheIPaddressofthebootingmachine.PXELINUXwillsearchforitsconfigfileonthebootserverinthefollowingway:
∙First,itwillsearchfortheconfigfileusingthehardwaretype(usingitsARPtypecode)andaddress,allinlowercasehexadecimalwithdashseparators;forexample,foranEthernet(ARPtype1)withaddress88:
99:
AA:
BB:
CC:
DDitwouldsearchforthefilename01-88-99-aa-bb-cc-dd.
∙Next,itwillsearchfortheconfigfileusingitsownIPaddressinuppercasehexadecimal,e.g.192.0.2.91->C000025B(youcanusetheincludedprogamgethostiptocomputethehexadecimalIPaddressforanyhost).Ifthatfileisnotfound,itwillremoveonehexdigitandtryagain.Ultimately,itwilltrylookingforafilenamed
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实现 RedHat 网络 自动 安装