PXE:是一种引导方式,在启动过程中,终端要求服务器分配IP地址,再用TFTP协议下载一个启动软件包到本机内存中执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。
Kickstart:是一种无人值守的安装方式。它的工作原理是在安装过程中记录典型的需要人工干预填写的各种参数,并生成一个名为ks.cfg的文件。
一,安装所需要软件包
yum -y install httpd
yum -y install syslinux
yum -y install tftp-server
yum -y install dhcp
yum -y install system-config-kickstart
二,配置dhcpd.conf
vim /etc/hdcpd.conf
ddns-update-style interim;
ignore client-updates;
next-server 192.168.222.129; #tftp server 的ip地址
filename "pxelinux.0";
subnet 192.168.222.0 netmask 255.255.255.0 {
option routers 192.168.222.129;
option subnet-mask 255.255.255.0;
range dynamic-bootp 192.168.222.100 192.168.222.150;
default-lease-time 21600;
max-lease-time 43200;
}
三,配置tftp
vim /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
四,所需相关文件
initrd.img:镜像文件
vmlinuz:内核文件
pxelinux.0:pxe网络引导文件
isolinux.cfg:自动安装过程中的信息,需要改名为default
1,拷贝相关文件
mount /dev/cdrom /mnt
cp -rf /mnt/* /var/www/html/
mkdir /var/lib/tftpboot/pxelinux.cfg
cp /var/www/html/isolinux/isolinux.cfg /var/lib/tftpboot/pxelinux.cfg/default
cp /var/www/html/images/pxeboot/initrd.img /var/lib/tftpboot
cp /var/www/html/images/pxeboot/vmlinuz /var/lib/tftpboot/
2,修改default
vim /var/lib/tftpboot/pxelinux.cfg/default
default ks
prompt 1
timeout 30
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.5!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label ks
kernel vmlinuz biosdevname=0
append initrd=initrd.img noipv6 ks=http://192.168.222.129/ks.cfg
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
3,修改ks.cfg
vim /var/www/html/ks.cfg
# Kickstart file automatically generated by anaconda.
install
text
url --url=http://192.168.222.129/
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
rootpw centos
#rootpw --iscrypted $1$mF86/UHC$WvcIcX2t6crBz2onWxyac. #iscrypted表示密码为加密字串。
openssl passwd -1 -salt cobbler cobbler #salt指定字符串,-1基于md5加密。
$1$cobbler$M6SE55xZodWc9.vAKLJs6.
openssl passwd -1 cobbler
$1$mxZujab9$FaOuK5KkZYVPdsOs/8mII/
firewall --disabled
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Shanghai
bootloader --location=mbr --driveorder=sda --append="rhgb crashkernel=auto quiet"
zerombr yes #yes是它的唯一参数,任何磁盘上的无效分区表都将被初始化。
clearpart --all --initlabel
#clearpart --all --drives=sda --initlabel
part / --fstype ext3 --size=10000 --ondisk=sda
part swap --size=1024 --ondisk=sda
#part swap --grow --size=1024 --ondisk=sda
%packages --nobase
@base
@core
vim
wget
%post --interpreter=/bin/bash
%end
reboot
五,启动测试
/etc/init.d/xinetd start
/etc/init.d/dhcpd start
/etc/init.d/httpd start