Chinaunix首页 | 论坛 | 博客
  • 博客访问: 200774
  • 博文数量: 489
  • 博客积分: 410
  • 博客等级: 下士
  • 技术积分: 2590
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-01 22:50
文章分类

全部博文(489)

文章存档

2011年(489)

我的朋友

分类:

2011-09-03 21:36:22

原文地址:kickstart 作者:huangyongping

通过PXE技术无人值守批量安装Linux

(version 1.0)

适用条件:能够安排1~4个小时的测试时间;安装的系统版本相同;建议有7台以上才采用此方法。

 

本文档以淘宝服务器安装过程为实例

系统镜像:CentOS-5.3-x86-64bit-bin-DVD.ISO

需要用到下列rpm包和kickstart文件,rpm包全都在系统镜像里能找到。

dhcp-3.0.5-13.el5.x86_64.rpm

tftp-server-0.42-3.1.el5.centos.x86_64.rpm

xinetd-2.3.14-10.el5.x86_64.rpm

vsftpd-2.0.5-12.el5.x86_64.rpmnfs-utils-1.0.9-33.el5.x86_64.rpm

 

   


一、精简篇...................................................................................................................... 2

1.1 安装和配置DHCP............................................................................................... 2

1.2 安装和配置TFTP................................................................................................ 2

1.3 安装和配置FTP.................................................................................................. 2

1.4 准备kickstart文件............................................................................................... 2

二、详细篇...................................................................................................................... 3

2.1 安装和配置DHCP............................................................................................... 3

2.2 安装和配置TFTP................................................................................................ 3

2.3 安装和配置FTP.................................................................................................. 4

2.4 安装和配置NFS.................................................................................................. 5

2.5 准备kickstart文件............................................................................................... 5

三、排错篇...................................................................................................................... 7

3.1 DHCP问题.......................................................................................................... 7

3.2 TFTP问题........................................................................................................... 7

3.3 KS文件问题........................................................................................................ 7

四、附录(服务器安装过程PXE环境配置文件)...................................................... 7

4.1 DHCP配置文件................................................................................................... 7

4.2 TFTP中的default文件......................................................................................... 8

4.3 Kickstart文件....................................................................................................... 8

五、把DHCP获得的IP地址写到静态文件里面.............................................................. 10

5.1Kickstart文件...................................................................................................... 10


 

 

安装和配置DHCP

第一步:安装DHCP

[root@localhost ~]#rpm –ivh dhcp-3.0.5-13.el5.x86_64.rpm

第二步:dhcpd.conf文件中的subnet{}中,添加下面两行:

filename "pxelinux.0";

next-server 192.168.1.2;

安装和配置TFTP

第一步:安装tftp-server包:

[root@localhost CentOS]#rpm –ivh tftp-server-0.42-3.1.el5.centos.x86_64.rpm

第二步:找到pxelinux.0并拷贝到/tftpboot

[root@localhost ~]# updatedb

[root@localhost ~]# locate pxelinux.0

[root@localhost ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot

第三步:创建default文件

[root@localhost ~]# cat /tftpboot/pxelinux.cfg/default

default linux autoinstall

label linux autoinstall

kernel vmlinuz

append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=ftp://192.168.1.2/pub/ks.cfg noipv6

第四步:拷贝vmlinuzinitrd.img/tftpboot

[root@localhost ~]#cp /media/cdrom/images/pxeboot/vmlinuz /tftpboot

[root@localhost ~]#cp /media/cdrom/images/pxeboot/initrd.img /tftpboot

安装和配置FTP

第一步:安装VSFTP

[root@localhost CentOS]#rpm -ivh vsftpd-2.0.5-12.el5.x86_64.rpm

第二步:拷贝系统镜像文件到FTP

[root@localhost ~]# cp -r /media/cdrom/* /var/ftp/pub

准备kickstart文件

[root@localhost ~]#cp anaconda-ks.cfg /var/ftp/pub/ks.cfg

[root@localhost ~]#chmod o+r /var/ftp/pub/ks.cfg

ks.cfg文件可参照附录4.3修改。

1.5 重启dhcpd,xinetd,vsftpd等服务,关闭防火墙,所有客户机从网卡启动,开始无人值守安装。

安装和配置DHCP

第一步:安装DHCP

[root@localhost CentOS]#rpm –ivh dhcp-3.0.5-13.el5.x86_64.rpm

第二步:dhcpd.conf文件中的subnet{}中,添加下面两行,其中192.168.1.2TFTP服务器的IP地址(DHCPFTPNFS等服务均可以搭建在不同的服务器上)。

filename "pxelinux.0";

next-server 192.168.1.2;

DHCP的详细配置可参照附录4.1

安装和配置TFTP

第一步:安装tftp-server包,此包依赖于xinetd包。

[root@localhost CentOS]#rpm –ivh tftp-server-0.42-3.1.el5.centos.x86_64.rpm

第二步:找到pxelinux.0并拷贝到/tftpboot

[root@localhost ~]# updatedb    //升级数据库

[root@localhost ~]# locate pxelinux.0    //查找pxelinux.0文件位置,pxelinux.0linux里的bootstrap文件,定义向服务器请求linux内核,根文件系统之类的参数

[root@localhost ~]# cp /usr/lib/syslinux/pxelinux.0 /tftpboot

第三步:创建default文件,default是控制pxelinux.0的配置文件。client会按照default的配置来执行pxelinux.0文件。

简化版:

[root@localhost ~]# cat /tftpboot/pxelinux.cfg/default

default linux autoinstall

label linux autoinstall

kernel vmlinuz

append ksdevice=eth0 load_ramdisk=1 initrd=initrd.img network ks=ftp://192.168.1.2/pub/ks.cfg noipv6

详细版(将会出现我们所熟悉的安装前的选择界面):

default autoinstall   #设置默认的安装方式,对应下面的设置

prompt 1

timeout 100

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

label local

   localboot 0

label install

   kernel vmlinuz

   append initrd=initrd.img

label text

   kernel vmlinuz

   append initrd=initrd.img text

label ks             #这种方式可指定KS文件

   kernel vmlinuz

   append ks initrd=initrd.img

label memtest86      #内存检测

   kernel memtest

   append -

label autoinstall    #无人值守安装,淘宝的50台服务器批量安装采用的方式

   kernel vmlinuz

   append ks=ftp://192.168.1.2/pub/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=16384 nofb noipv6

[root@localhost ~]#chmod o+r /var/ftp/pub/ks.cfg   //将权限从600改为604

第四步:拷贝vmlinuzinitrd.img等文件到/tftpboot

[root@localhost ~]#cp /media/cdrom/images/pxeboot/vmlinuz /tftpboot   //内核镜像

[root@localhost ~]#cp /media/cdrom/images/pxeboot/initrd.img /tftpboot  //根文件系统

[root@localhost ~]#cp /media/cdrom/isolinux/isolinux/*.msg /tftpboot

[root@localhost ~]#cp /media/cdrom/isolinux/isolinux/splash.lss /tftpboot  //安装时的第一个图形界面。

第五步:改写boot.msg(根据实际情况,对应default文件中的项)。

#vi /tftpboot/boot.msg

^L

^Xsplash.lss

 

 -  To install or upgrade in graphical mode, press the ^O01^O07 key.

 

 -  To install or upgrade in text mode, type: ^O01text ^O07.

 

 -  To KS file specified, type: ^O01ks ^O07.

 

 -  To auto install, type: ^O01autoinstall ^O07.

 

 -  Use the function keys listed below for more information.

 

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

第六步:开启TFTP

[root@localhost ~]#chkconfig tftp on

安装和配置FTP

第一步:安装VSFTP

[root@localhost CentOS]#rpm -ivh vsftpd-2.0.5-12.el5.x86_64.rpm

第二步:拷贝系统镜像文件到FTP

[root@localhost ~]# cp -r /media/cdrom/* /var/ftp/pub

安装和配置NFS

FTPNFS采用其中一种即可。

[root@localhost ~]#cat /etc/export

/var/ftp/pub 192.168.1.0/24(ro)

然后把安装镜像(不用解压,直接拷贝iso文件)拷贝到/var/ftp/pub

准备kickstart文件

方法一:直接从/root下面拷贝,因为系统安装好之后会自动生成/root/anaconda-ks.cfg

[root@localhost ~]#cp anaconda-ks.cfg /var/ftp/pub/ks.cfg

方法二:利用system-config-kickstart工具在图形界面下配置,在任何一台rhelcentos上面均可运行,配置后保存。需要安装kickstart及依赖包,

[root@localhost ~]#yum install "*kickstart*"

[root@localhost ~]#system-config-kickstart

方法三:直接手工创建,可参照下面的示例。

示例:

#platform=x86, AMD64, or Intel EM64T

# System authorization information

auth  --useshadow  --enablemd5

# System bootloader configuration

bootloader --location=mbr

# Clear the Master Boot Record

zerombr

# Use text mode install 采用文本方式,安装过程更快,更稳定

text

#管理员在2009年8月13日编辑了该文章文章。

-->
阅读(115) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~