Chinaunix首页 | 论坛 | 博客
  • 博客访问: 391482
  • 博文数量: 58
  • 博客积分: 2941
  • 博客等级: 少校
  • 技术积分: 970
  • 用 户 组: 普通用户
  • 注册时间: 2005-12-21 11:37
文章分类

全部博文(58)

文章存档

2015年(1)

2014年(1)

2012年(1)

2011年(19)

2009年(1)

2008年(1)

2007年(11)

2006年(10)

2005年(13)

分类: LINUX

2011-02-12 16:33:17

kickstart 批量无盘安装Linux(1)

 

 

安装环境:两台Dell 860 ,其中一台作为服务端安装RedHat AS4U4 ,另外一台需支持PXE网络启动。两

         台机器 + 一台交换机组成一个局域网。注意:要把该小型局域网与办公室局域网分开,因为服务端会作为DHCP服务器而影响办公室局域网的网络。

 

实现原理:客户端PXE网卡启动——>通过Bootp协议——>DHCP服务器——>获得IP——>TFTP上下载 pxelinux.0以及系统内核文件vmlinuzinitrd.img——>启动系统——>(到指定地点去下载ks.cfg文件——>根据ks.cfg文件去NFS/HTTP/FTP服务器自动)下载RPM包及安装系统——>完成安装。

 

安装前准备:若以NFS方式安装,请准备iso的文件;若以FTP方式安装,请准备iso的解压缩文件。RedHat AS4的可下载一个DVDiso 2G多一点。

 

安装的具体过程:(以下过程通过FTP安装)

 

步骤一:选择其中一台安装RedHatAS4U4

    该步骤不详细说,有几个注意的地方:

1)选择安装包的时候把Ftp Server dhcp tftp-server选上,后两个包分别包含在 Network Servers Legacy Network Server中,按F2进入子菜单选择。

    2)配置防火墙时把ssh22 ftp21端口放行。

              3SELinux最好选择disabled , 至于选择Active后,对后续安装的影响本人没有试过,有兴趣的可以试试。

 

步骤二:拷贝文件并修改

    1)把RedHat AS4 DVDiso的解压文件复制到/var/ftp/pub/下。

2)把系统安装光盘的第一个盘挂载到一个目录

[root@test]#mount  /dev/cdrom  /mnt/cdrom       

3)把/mnt/cdrom/isolinux目录下的initrd.imgvmlinuz*.msg都复制到/tftpboot/linux-install/下:

[root@test]#cp /mnt/cdrom/isolinux/initrd.img /tftpboot/linux-install/

[root@test]#cp /mnt/cdrom/isolinux/vmlinuz /tftpboot/linux-install/

[root@test]#cp /mnt/cdrom/isolinux/*.msg /tftpboot/linux-install/

/mnt/cdrom/isolinux/下的isolinux.cfg复制到TFTP服务/tftpboot/linux-install/pxelinux.cfg/,并改名为default

[root@rhel]#cp /mnt/cdrom/isolinux/isolinux.cfg /tftpboot/linux-install/pxelinux.cfg/default

 

4)将/usr/lib/syslinux/下的启动镜像文件pxelinux.0拷到TFTP服务器/tftpboot/linux-install/下:

[root@test]#cp /usr/lib/syslinux/pxelinux.0 /tftpboot/linux-install/

5)复制/root下的anaconda-ks.cfg文件到/var/ftp/pub并改名为ks.cfg

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

6vi /tftpboot/linux-install/pxelinux.cfg/default

   以下为修改后的内容,其中蓝色的为修改过的行:

default ks

prompt 1

timeout 600

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

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=ftp://10.1.1.1/pub/ks.cfg ksdevice=eth0 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 -

 

7vi /var/ftp/pub/ks.cfg

以下为修改后的内容,其中蓝色的为修改过的行:

# Kickstart file automatically generated by anaconda.

install

url --url ftp://10.1.1.1/pub

keyboard us

lang en_US.UTF-8

langsupport --default=en_US.UTF-8 zh_HK.UTF-8 zh_CN.UTF-8 zh_TW.UTF-8 en_US.UTF-8

skipx

network --device eth0 --bootproto dhcp --hostname test

rootpw --iscrypted $1$NQBgof3z$vy9/nf0bU.hgqneosjvz1.

firewall --enabled --port=22:tcp --port=21:tcp

selinux --disabled

authconfig --enableshadow --enablemd5

timezone Asia/Shanghai

bootloader --location=mbr

# 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=30720

part /usr/local --fstype ext3 --size=102400

part swap --size=10240

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

 

%packages

@ admin-tools

@ editors

@ system-tools

@ text-internet

@ legacy-network-server

@ dialup

@ network-server

@ compat-arch-support

@ chinese-support

@ server-cfg

grub

kernel-smp

e2fsprogs

 

%post

 

8) 修改网卡地址

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

IPADDR=10.1.1.1

HWADDR=00:15:C5:E1:D1:F1

ONBOOT=yes

TYPE=Ethernet

#kickstart的语法可自己在网上查,可根据需要自行修改

 

 步骤三:配置DHCP服务器

     #cp /usr/share/doc/dhcp-3.0.1/dhcpd.conf.sample /etc/dhcp.conf

     #vi /etc/dhcp.conf

     以下为修改后的内容,其中蓝色的为修改过的行:

 

ddns-update-style interim;

ignore client-updates;

allow booting;

allow bootp;

 

subnet 10.1.1.0 netmask 255.255.255.0 {

 

# --- default gateway

        option routers                  10.1.1.1;

        option subnet-mask              255.255.255.0;

 

       option nis-domain               "domain.org";

       option domain-name              "domain.org";

        option domain-name-servers      10.1.1.1;

 

        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;

 

        filename "linux-install/pxelinux.0";

        range dynamic-bootp 10.1.1.100 10.1.1.254;

        default-lease-time 21600;

        max-lease-time 43200;

}

 

 

步骤四:需启动的服务

1  service dhcpd start

2  chkconfig tftp on

server xinetd.d start  

启动TFTP服务的话要启动xinetd这个守护服务,tftp服务使用udp69端口。

3service vsftpd start

vsftp 的默认主目录在/var/ftp/ ,服务启动后即可匿名登录。

 

 

这样服务端的配置就完成了。

 

步骤五:启动客户端

  F12进入PXE boot启动模式,进入安装界面后按Enter立刻安装。其中Search hostname and domain这一步可能需时较长。原因未明。AS3的话这一步会很快。

 

总结:主要修改三个文件:/etc/dhcpd.conf  /tftpboot/linux-install/default  ks.cfg

 

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