免费注册 查看新帖 |

Chinaunix

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

[FTP] 最新原创: RHEL4+PXE+DHCP+Vsftpd+Kickstart [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-28 12:07 |只看该作者 |倒序浏览
最新原创 RHEL4+PXE+DHCP+Vsftpd+Kickstart
制作:chinanpt
QQ:350072715
        一切都那么的突然,但又理所当然,非常感谢网络中优秀、热心的人士的帮助,同时也包含了自己面对问题而不怕阻力、始终如一的韧性和追求!今天我就把kickstart的无人值守安装过程写出来,以供分享,同时也希望广大网友能提出好的建议,共同进步!

原理和概念:
1.1        什么是PXE
严格来说,PXE 并不是一种安装方式,而是一种引导的方式。进行 PXE 安装的必要条件是要安装的计算机中包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE (Pre-boot Execution Environment)协议使计算机可以通过网络启动。协议分为 client 和 server 端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,由 PXE client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器用来给 PXE client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE client 的 ROM 中,已经存在了 TFTP Client。PXE Client 通过 TFTP 协议到 TFTP Server 上下载所需的文件。
1.2 什么是KickStart
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。这样,如果KickStart文件涵盖了安装过程中出现的所有需要填写的参数时,安装者完全可以只告诉安装程序从何处取ks.cfg文件,然后去忙自己的事情。等安装完毕,安装程序会根据ks.cfg中设置的重启选项来重启系统,并结束安装。
1.3 PXE + KickStart安装的条件
执行 PXE + KickStart安装需要的设备为:
•        DHCP 服务器;
•        TFTP 服务器;
•        KickStart所生成的ks.cfg配置文件
•        一台存放系统安装文件的服务器,如 NFS、HTTP 或 FTP 服务器。
•        带有一个 PXE 支持网卡的将安装的主机;
安装的步骤:
一、        安装vsftpd
rpm -ivh vsftpd-2.0.1-5.i386.rpm
二、        挂砸第一章光盘,并复制第一章光盘下的所有内容(文件和文件夹)到ftp匿名用户的登录的目录/var/ftp
1、mount /dev/cdrom  /mnt
2、cp –rf  /mnt/*  /var/ftp
三、        挂载其他安装(2、3、4)的光盘,把光盘/RedHat/RPMS/中的所有的安装包复制到/var/ftp//RedHat/RPMS/中
     cp -rf  /mnt/RedHat/RPMS/* /var/ftp/RedHat/RPMS/
四、        安装 tftp-server,并启用tftp服务,重启xinetd进程
1、rpm -ivh tftp-server-0.39-1.i386.rpm
2、vi /etc/xinetd.d/tftp
# default: off
# description: The tftp server serves files using the trivial file transfer \
#       protocol.  The tftp protocol is often used to boot diskless \
#       workstations, download configuration files to network-aware printers, \
#       and to start the installation process for some operating systems.
service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = no #disable的直由yes变为no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}
3、service xinetd restart
五、        配置支持PXE启动:(注意我已经把第一章光盘的内容复制到/var/ftp目录中了,所以所需要的文件我只需要从/var/ftp目录中复制就行了,但在描述的时候,我还是表明了文件的真实的位置,比如在第一章光盘中,只是文件我是从/var/ftp目录中复制而已)
1、cd /tftpboot/                ————>若该文件夹已经存在则不用建立
2、 cp /usr/lib/syslinux/pxelinux.0 /tftpboot
3、把Linux第一张安装光盘上/image/pxeboot/initrd.img和vmlinux复制到/tftpboot/中
         cp /var/ftp/image/pxeboot/initrd.img  /tftpboot
         cp /var/ftp/image/pxeboot/vmlinux  /tftpboot
4、        复制第一张安装光盘上isolinux/*.msg拷贝到/tftpboot目录下
cp /var/ftp/isolinux/*.msg  /tftpboot
5、        在tftpboot中新建一个pxelinux.cfg目录
mkdir pxelinux.cfg
6、        把Linux第一张安装光盘上isolinux目录中的isolinux.cfg复制到pxelinux.cfg目录中,并同时更改文件名称为default
7、         cd pxelinux.cfg
cp /var/ftp/isolinux/isolinux.cfg  /tftpboot/pxelinux.cfg/default
8、        在第7小步中,我们暂时不要修改default文件,其实到达这一步骤的时候,我都就可以通过网络引导了,通过网络引导之后接下了就可以手动安装了,但是这里面我们讨论的是无人值守安装,所谓无人值守安装就是在从引导到安装都不需要手动指定,一气呵成,我们接下来继续讲解)
六、        安装dhcp服务,同时修改配置
1、        rpm -ivh dhcp-3.0.1-12_EL.i386.rpm
2、        复制配置模板文件到指定的目录中,并重命名
cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcpd.conf
3、        修改配置文件,添加的一行:filename "/pxelinux.0",其他的修改自己完成就行了,不要告诉我这个都不会啊???
[root@localhost isolinux]# vi /etc/dhcpd.conf

ddns-update-style interim;
ignore client-updates;

subnet 192.168.1.0 netmask 255.255.255.0 {

# --- default gateway
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;

        option nis-domain               "domain.org";
        option domain-name              "domain.org";
        option domain-name-servers      192.168.1.40;
        filename "/pxelinux.0"; #添加的一行:filename "/pxelinux.0"
        option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              192.168.1.1;
#       option netbios-name-servers     192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;

        range dynamic-bootp 192.168.1.128 192.168.1.254;
        default-lease-time 21600;
        max-lease-time 43200;

        # we want the nameserver to appear at a fixed address
        host ns {
                next-server marvin.redhat.com;
                hardware ethernet 12:34:56:78:AB:CD;
                fixed-address 192.168.1.110;
        }
}
4、        启动dhcp服务
   service dhcp start
七、        安装kicksttart,同时配置kickstart(见最下面的图示说明)
1、        rpm -ivh system-config-kickstart-2.5.16-2.noarch.rpm
2、        在gnome环境下配置kickstart
   system-config-kickstart
3、        基本配置

4、        安装方法,选择ftp安装,切记不要输入任何的帐号,我们采用的匿名安装

5、         引导安装程序选项,不需要做更改

6、        分区信息,创建三个分区

7、        网络配置,我使用的静态分配地址(动态同样如此)
8、        显示配置:

9、        软件包的选择,我选择了Kernel Developent和Development Tools安装(但千万不要选择这两个软件包,不然的话在安装的时候会报错的,以下是我先选择安装,等一会我们来查看产生的问题,你就明白了)

10、        其他的都是默认设置,没有做修改
11、        生成文件ks.cfg,保存到/var/ftp目录中

八、        修改/tftpboot/pxelinux.cfg/default文件,指定读取ks.cfg的方法(ks=ftp://192.168.1.40/ks.cfg)
vi /tftpboot/pxelinux.cfg/default

default linux
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 linux
  kernel vmlinuz
  append initrd=initrd.img ramdisk_size=8192 ks=ftp://192.168.1.40/ks.cfg
label text
  kernel vmlinuz
  append initrd=initrd.img text ramdisk_size=8192
label expert
  kernel vmlinuz
  append expert initrd=initrd.img ramdisk_size=8192
label ks
  kernel vmlinuz
  append ks initrd=initrd.img ramdisk_size=8192
label lowres
  kernel vmlinuz
  append initrd=initrd.img lowres ramdisk_size=8192
label local
  localboot 1
label memtest86
  kernel memtest
  append -
九、        服务端的配置完成了,接下了要修改客户的配置
1、        修改从网络引导启动

2、        启动要安装的机器,首先根据提示信息设置主机从 PXE 引导,然后进入网络引导过程。如果 DHCP 服务器和 TFTP 服务器配置正确,屏幕上将出现 boot: 提示符,稍等片刻

十、        这个时候我刚提出的问题就出现了(第七-9中)
十一、         
十二、        修改ks.cfg的配置文件,把kernel-development和Development Tools工具去除
         [root@localhost ftp]# vi ks.cfg
@ development-tools
#Generated by Kickstart Configurator
#platform=x86, AMD64, 鎴?Intel EM64T

#System  language
lang zh_CN
#Language modules to install
langsupport zh_CN
#System keyboard
keyboard us
#System mouse
mouse
#Sytem timezone
timezone America/New_York
#Root password
rootpw --iscrypted $1$OxRqZhME$13/8KvpJUGVt59B.RZH4p0
#Reboot after installation
reboot
#Install OS instead of upgrade
install
#Use Web installation
url --url ftp://192.168.1.40/
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#Disk partitioning information
part /boot --fstype ext3 --size 100
part swap --size 512
part / --fstype ext3 --size 1 --grow
#System authorization infomation
auth  --useshadow  --enablemd5
#Network information
network --bootproto=dhcp --device=eth0
#Firewall configuration
firewall --enabled
#XWindows configuration information
xconfig --depth=16 --resolution=800x600 --defaultdesktop=GNOME
#Package install information
%packages --resolvedeps
@ gnome-desktop
@ dns-server
@ ftp-server
十三、        重新引导安装,问题就解决了,最终成功安装了
十四、        总结:以上是我的配置步骤,如果没有出入的话,是一定可以成功的!
十五、        备注:转载请注明作者和出处,谢谢!

------------------------------------------------------------------------------------------------------------------------------
第七步骤中 “安装kicksttart,同时配置kickstart”所需要的图片以及第九和第十步骤中的图

[ 本帖最后由 chinanpt 于 2008-9-29 13:29 编辑 ]

1.PNG (127.52 KB, 下载次数: 29)

1.PNG

2.PNG (103.22 KB, 下载次数: 27)

2.PNG

3.PNG (121.08 KB, 下载次数: 31)

3.PNG

4.PNG (117.2 KB, 下载次数: 30)

4.PNG

5.PNG (102.15 KB, 下载次数: 28)

5.PNG

6.PNG (83.03 KB, 下载次数: 26)

6.PNG

7.PNG (111.87 KB, 下载次数: 28)

7.PNG

8.PNG (111.78 KB, 下载次数: 24)

8.PNG

9.PNG (6.07 KB, 下载次数: 26)

9.PNG

10.PNG (6.08 KB, 下载次数: 34)

10.PNG

11.PNG (253.56 KB, 下载次数: 35)

11.PNG

论坛徽章:
0
2 [报告]
发表于 2008-09-28 12:33 |只看该作者
不错,做个沙发。。。。。。。。。。。。。

论坛徽章:
0
3 [报告]
发表于 2008-09-28 13:06 |只看该作者
这里早已经有了:
http://code.google.com/p/redhatsolution/

论坛徽章:
0
4 [报告]
发表于 2008-09-28 13:29 |只看该作者
原帖由 MichaelBibby 于 2008-9-28 13:06 发表
这里早已经有了:
http://code.google.com/p/redhatsolution/


是的,但是没有我写的这么详细啊,图文并茂,更便于理解,我说过是借鉴了网上很多人的文章,但是就没有看他的,我浏览了一下,他写的是太好了,还要感谢你呢!
这个实验我做了好多遍才成功的,在安装的过程中遇到了好多的问题,由此我才有感而发,写了这篇配置文档,希望能给需要的朋友一些帮助,i让他们少走弯路,也感谢你给我一个这么好的网址,我会再接再厉继续完善的,谢谢了!

[ 本帖最后由 chinanpt 于 2008-9-28 13:51 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2008-09-28 13:46 |只看该作者
原帖由 chinanpt 于 2008-9-28 13:29 发表


是的,但是没有我写的这么详细啊,图文并茂,更便于理解,我说过是借鉴了网上很多人的文章,但是就没有看他的,我浏览了一下,他写的是太好了,还要感谢你呢!

这是偶写的

论坛徽章:
0
6 [报告]
发表于 2008-09-28 13:53 |只看该作者
原帖由 MichaelBibby 于 2008-9-28 13:46 发表

这是偶写的

以后多向你请教啊,你写的真的太好了,分析的很透彻,我的过多的是一些配置过程,还有想请教一下,为何在rhel5中的软件包无法选择啊,查了很多的资料,到现在也没有解决的办法,不知大侠是否遇到,能否帮小弟解决啊!

[ 本帖最后由 chinanpt 于 2008-9-28 13:55 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2008-09-28 14:41 |只看该作者
原帖由 MichaelBibby 于 2008-9-28 13:46 发表

这是偶写的


最好把下面那篇也share出来。

论坛徽章:
0
8 [报告]
发表于 2008-09-28 14:54 |只看该作者

筹备 yum仓库的搭建

明天上传yum仓库的搭建方法,敬请关注,谢谢!

论坛徽章:
0
9 [报告]
发表于 2008-09-29 08:58 |只看该作者

楼主我是你的FANS

楼主我好喜欢你哦~~~好崇拜你哦~~~~~

论坛徽章:
0
10 [报告]
发表于 2008-09-29 10:10 |只看该作者
原帖由 chinanpt 于 2008-9-28 13:53 发表

以后多向你请教啊,你写的真的太好了,分析的很透彻,我的过多的是一些配置过程,还有想请教一下,为何在rhel5中的软件包无法选择啊,查了很多的资料,到现在也没有解决的办法,不知大侠是否遇到,能否帮小弟 ...

这是 system-config-kickstart 在 RHEL 5 里的 bug。

因为 RHEL 5 改用 yum 仓库来存放软件包,所以按理说,system-config-kickstart 需要连接到 yum 仓库获取软件包信息的。但是目前还没有实现这个。所以在 RHEL 5 里没法选择软件包。

要自定义的华就自己打开 kickstart 文件去写。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP