安装环境:两台Dell 860 ,其中一台作为服务端安装RedHat AS4U4 ,另外一台需支持PXE网络启动。两
台机器 + 一台交换机组成一个局域网。注意:要把该小型局域网与办公室局域网分开,因为服务端会作为DHCP服务器而影响办公室局域网的网络。
实现原理:客户端PXE网卡启动——>通过Bootp协议——>DHCP服务器——>获得IP——>从TFTP上下载 pxelinux.0以及系统内核文件vmlinuz、initrd.img——>启动系统——>(到指定地点去下载ks.cfg文件——>根据ks.cfg文件去NFS/HTTP/FTP服务器自动)下载RPM包及安装系统——>完成安装。
安装前准备:若以NFS方式安装,请准备iso的文件;若以FTP方式安装,请准备iso的解压缩文件。RedHat AS4的可下载一个DVD的iso ,2G多一点。
安装的具体过程:(以下过程通过FTP安装)
步骤一:选择其中一台安装RedHatAS4U4
该步骤不详细说,有几个注意的地方:
1)选择安装包的时候把Ftp Server 、dhcp 和 tftp-server选上,后两个包分别包含在 Network Servers 和 Legacy Network Server中,按F2进入子菜单选择。
2)配置防火墙时把ssh的22 跟 ftp的21端口放行。
3)SELinux最好选择disabled , 至于选择Active后,对后续安装的影响本人没有试过,有兴趣的可以试试。
步骤二:拷贝文件并修改
1)把RedHat AS4 DVD的iso的解压文件复制到/var/ftp/pub/下。
2)把系统安装光盘的第一个盘挂载到一个目录
[root@test]#mount /dev/cdrom /mnt/cdrom
3)把/mnt/cdrom/isolinux目录下的initrd.img、vmlinuz和*.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
6)vi /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 -
7)vi /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端口。
3)service vsftpd start
vsftp 的默认主目录在/var/ftp/ ,服务启动后即可匿名登录。
这样服务端的配置就完成了。
步骤五:启动客户端
按F12进入PXE boot启动模式,进入安装界面后按Enter立刻安装。其中Search hostname and domain这一步可能需时较长。原因未明。AS3的话这一步会很快。
总结:主要修改三个文件:/etc/dhcpd.conf /tftpboot/linux-install/default ks.cfg |