Pxe+Kickstart无人职守安装
今天做了这个实验,很顺利,心情大好,写出来和大家分享一下(有些是简写)。
一 原理和系统引导过程
BIOS=>引导介质=>用于安装环境的linux内核(vmlinuz)和驱动模块(initrd.img)=>安装程序=>寻找安装介质=>安装配置=>重启=>进入系统
需要使用到的服务:
NFS:共享Install Tree ks.cfg
DHCP:连接服务器
TFTP:获得内核和启动文件
二 配置流程
1 实验环境
网段:192.168.7.0/24
服务器:192.168.7.254
客户机:192.168.7.100-200
系统:RHEL 5.6
2 使用NFS共享Install Tree
#mount /dev/cdrom /media/cdrom
#cp –p /media/cdrom/* /var/Server/
# rpm -q nfs-utils portmap
(没有的话安装nfs-utils portmap)
# cat /etc/exports
/var/Server *(ro)
#service nfs start
3 配置yum 和kickstart
# vim /etc/yum.repos.d/rhel-debuginfo.repo
baseurl=file:///var/Server/Server
enabled=1
gpgcheck=0
# yum install -y system-config-kickstart
# system-config-kickstart
4 配置TFTP
# rpm -q tftp-server
# chkconfig tftp on
# service xinetd restart
5 配置pxe服务模块
# cp -av /tftpboot/linux-install/* /tftpboot/
# cp -av /media/cdrom/isolinux/* /tftpboot/
# cd /tftpboot/
# mv isolinux.cfg pxelinux.cfg/default
# vim pxelinux.cfg/default
label linux
kernel vmlinuz
append initrd=initrd.img ks=nfs:192.168.7.254:/var/Server/ks.cfg
6 配置DHCP
# rpm -q dhcp
# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
# vim /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.7.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.7.100 192.168.7.200;
option subnet-mask 255.255.255.0;
filename "/pxelinux.0";
next-server 192.168.7.254;
}
# service dhcpd start
三 测试
Kickstart配置文件参考ks.cfg
auth --useshadow --enablemd5
bootloader --location=mbr
zerombr
clearpart --all --initlabel
graphical
firewall --disabled
firstboot --disable
key --skip
keyboard us
lang en_US
logging --level=info
nfs --server=192.168.7.254 --dir=/var/Server
network --bootproto=dhcp --device=eth0 --onboot=on
reboot
rootpw --iscrypted $1$ncdxrywW$JEL3wkOIaBoxtga.8iDXF0
selinux --disabled
skipx
timezone America/New_York
install
part / --bytes-per-inode=4096 --fstype="ext3" --grow --size=1
part swap --bytes-per-inode=4096 --fstype="swap" --size=512
part /boot --bytes-per-inode=4096 --fstype="ext3" --size=200
%packages
@base
设置客户机通过网络启动
安装成功。