红联Linux门户
Linux帮助

Linux网络自动安装,pxe-nfs-dhcp-kickstart

发布时间:2007-09-22 00:41:50来源:红联作者:soepmbcket
1. 前言
使用PXE + DHCP + TFTP + NFS + Kickstart无盘安装linux.我把NFS,DHCP,TFTP都放在了192.168.100.149机器上。

因为公司经常要安装大指的linux系统,操作系统配置都一样,重复安装时烦琐的输入选择/Next和选安装包,重复劳动。

本安装测试通过,已经在使用之中。

本配置需要客户机支持PXE的网卡。

另外需要注意,安装用的局域网最后与其它网物理断开,否则,嘿嘿,注意不要把办公用的机器重启时自动格式化安装为linux.不过,办公电脑支持网络引导并配置为网络引导,且为scsi硬盘时才会发生这种灾难性的错误。

配置中,参考了许多网络上的文章.在此表示感谢

2. 拷贝光盘镜像文件
使用了nfs文件系统来网络安装,当然也可以使用FTP或HTTP,但这样的缺点是必须把光盘镜像解开,使用软件包的格式。而NFS则直接可使用光盘镜像,这样比较快。
把操作系统的镜像复制到/data/iso/rhas4u4下

# ls -lh /data/iso/rhas4u4
total 2.1G
-rw-r--r-- 1 root root 512 Sep 20 09:47 rhas4u4.md5.txt
-rw-r--r-- 1 root root 174M Sep 20 09:47 RHEL4-U4-i386-AS-disc1.iso
-rw-r--r-- 1 root root 626M Sep 20 09:45 RHEL4-U4-i386-AS-disc2.iso
-rw-r--r-- 1 root root 633M Sep 20 09:48 RHEL4-U4-i386-AS-disc3.iso
-rw-r--r-- 1 root root 617M Sep 20 09:46 RHEL4-U4-i386-AS-disc4.iso
-rw-r--r-- 1 root root 82M Sep 20 09:48 RHEL4-U4-i386-AS-disc5.iso


3. 设置nfs
默认的应该安装了nfs服务。配置nfs,在/etc/exports写入下面一行:
/data/iso *(ro,no_root_squash,sync)
# cat /etc/exports
/data/iso *(ro,no_root_squash,sync)

然后

# chkconfig --level 345 portmap on
# chkconfig --level 345 nfs on
# service portmap restart
# service nfs restart

4. 设置dhcp
如果没有安装dhcp,安装dhcp服务包.安装好后,编辑/etc/dhcpd.conf(默认配置文件):
# cat /etc/dhcpd.conf
ddns-update-style none;

option domain-name "localhost";
option subnet-mask 255.255.255.0;

allow bootp;
allow booting;

option ip-forwarding false; # No IP forwarding
option mask-supplier false; # Don't respond to ICMP Mask req

subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.240 192.168.100.254;
option routers 192.168.100.11;
option subnet-mask 255.255.255.0;
option nis-domain "localhost";
option domain-name "localhost.localdomain";
option domain-name-servers 202.96.209.6;
default-lease-time 21600;
max-lease-time 43200;

filename "/pxelinux.0";
}

然后启动dhcpd:
# chkconfig --level 345 dhcpd on
# service dhcpd restart


5. 设置tftp

如果没有安装tftp服务,安装(rhel4.4为tftp-server包).

拷贝PXE文件

挂载第一张光盘镜像,复制里面的内核文件.把内核和符号表复制到/tftpboot目录,并建立/tftpboot/pxelinux.cfg目录,把isolinux.cfg复制到下面并改名为default,并添加一个label(最后能在display显示的文件中提示安装哪个系统输入什么label,这样如果网络安装多个系统时使用):

# mount -o loop /data/iso/rhas4u4/RHEL4-U4-i386-AS-disc1.iso /mnt
# cd /mnt/isolinux
# cp initrd.img /tftpboot/initrd-rhas4u4.img
# cp vmlinuz *.msg /tftpboot/
# mkdir /tftpboot/pxelinux.cfg
# cp isolinux.cfg /tftpboot/pxelinux.cfg/default
# cp /usr/lib/syslinux/pxelinux.0 /tftpboot/
# chkconfig --level 345 xinetd on
# service xinetd restart

# cat /tftpboot/pxelinux.cfg/default
default rhas4u4
prompt 1
timeout 3600
display snake.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
F7 snake.msg
label rhas4u4
kernel vmlinuz
append ks=nfs:192.168.100.149:/data/iso/rhas4u4.cfg ksdevice=eth0 initrd=initrd-rhas4u4.img ramdisk_size=8192
label linux
kernel vmlinuz
append initrd=initrd.img ramdisk_size=8192


6. 准备kickstart配置文件。
拿一台已经安装好了的系统中/root/anaconda-ks.cfg文件存为/data/iso/rhas4u4.cfg,并做修改:
其中修改后的前几行:
install
nfs --server=192.168.100.149 --dir=/data/iso/rhas4u4
lang en_US.UTF-8
langsupport --default=en_US.UTF-8 en_US.UTF-8
keyboard us
#xconfig --card "ATI Rage XL" --videoram 8128 --hsync 30-85 --vsync 50-160 --resolution 800x600 --depth 16 --startxonboot --defaultdesktop kde
skipx
network --device eth0 --bootproto dhcp

关于分区的几行(这个文件中分区的几行注释掉了,要使用则取消修改并取消注释

clearpart --all
part /boot --fstype ext3 --size=100 --ondisk=sda
part swap --size=4096 --ondisk=sda
part / --fstype ext3 --size=100 --grow --ondisk=sda
下面就是软件包的配置了,视情况做修改。
文章评论

共有 0 条评论